diff --git a/build.gradle b/build.gradle index 20117ec..c4e867c 100644 --- a/build.gradle +++ b/build.gradle @@ -50,6 +50,40 @@ dependencies { } } + + +stonecutter { + replacements { + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("ResourceLocation", "Identifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("CommonNetwork.Identifier", "CommonNetwork.Identifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("Progress.Identifier", "Progress.Identifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("withSlotIdentifier", "withSlotIdentifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("record Identifier", "record Identifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("SlotsIdentifier", "SlotsIdentifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("IHasIdentifier", "IHasIdentifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("Identifier", "Identifier") + } + string(stonecutter.eval(stonecutter.current.version, ">=1.21.11")) { + replace("import net.minecraft.Util;", "import net.minecraft.util.Util;") + } + } +} + def aw = "${mod_id}-${stonecutter.eval(stonecutter.current.version, ">=1.21.2") ? 1212 : 120}.accesswidener" loom { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e48eca5..ac57dd1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index e014ffe..19f5ea4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,34 +10,35 @@ pluginManagement { } plugins { - id("dev.kikugie.stonecutter") version "0.7.6" + id("dev.kikugie.stonecutter") version "0.8.1" } stonecutter { create(rootProject) { - vers("1.20.1-fabric", "1.20.1") - vers("1.20.1-forge", "1.20.1") - vers("1.20.4-fabric", "1.20.4") - vers("1.20.4-forge", "1.20.4") - vers("1.20.4-neoforge", "1.20.4") - vers("1.21.1-fabric", "1.21.1") - vers("1.21.1-forge", "1.21.1") - vers("1.21.1-neoforge", "1.21.1") - vers("1.21.3-fabric", "1.21.3") - vers("1.21.3-forge", "1.21.3") - vers("1.21.3-neoforge", "1.21.3") - vers("1.21.4-fabric", "1.21.4") - vers("1.21.4-forge", "1.21.4") - vers("1.21.4-neoforge", "1.21.4") - vers("1.21.5-fabric", "1.21.5") - vers("1.21.5-forge", "1.21.5") - vers("1.21.5-neoforge", "1.21.5") - vers("1.21.8-fabric", "1.21.8") - vers("1.21.8-forge", "1.21.8") - vers("1.21.8-neoforge", "1.21.8") - vers("1.21.10-fabric", "1.21.10") - vers("1.21.10-forge", "1.21.10") - vers("1.21.10-neoforge", "1.21.10") + version("1.20.1-fabric", "1.20.1") + version("1.20.1-forge", "1.20.1") + version("1.20.4-fabric", "1.20.4") + version("1.20.4-forge", "1.20.4") + version("1.20.4-neoforge", "1.20.4") + version("1.21.1-fabric", "1.21.1") + version("1.21.1-forge", "1.21.1") + version("1.21.1-neoforge", "1.21.1") + version("1.21.3-fabric", "1.21.3") + version("1.21.3-forge", "1.21.3") + version("1.21.3-neoforge", "1.21.3") + version("1.21.4-fabric", "1.21.4") + version("1.21.4-forge", "1.21.4") + version("1.21.4-neoforge", "1.21.4") + version("1.21.5-fabric", "1.21.5") + version("1.21.5-forge", "1.21.5") + version("1.21.5-neoforge", "1.21.5") + version("1.21.8-fabric", "1.21.8") + version("1.21.8-forge", "1.21.8") + version("1.21.8-neoforge", "1.21.8") + version("1.21.10-fabric", "1.21.10") + version("1.21.10-forge", "1.21.10") + version("1.21.10-neoforge", "1.21.10") + version("1.21.11-fabric", "1.21.11") vcsVersion = "1.20.4-fabric" } } diff --git a/src/main/java/wily/factoryapi/FactoryAPI.java b/src/main/java/wily/factoryapi/FactoryAPI.java index 7b62287..e8d2c1d 100644 --- a/src/main/java/wily/factoryapi/FactoryAPI.java +++ b/src/main/java/wily/factoryapi/FactoryAPI.java @@ -197,7 +197,7 @@ public static ResourceLocation createVanillaLocation(String path){ //? if <1.20.5 { return new ResourceLocation(path); //?} else - /*return ResourceLocation.withDefaultNamespace(path);*/ + //return ResourceLocation.withDefaultNamespace(path); } public static Loader getLoader() { diff --git a/src/main/java/wily/factoryapi/FactoryAPIClient.java b/src/main/java/wily/factoryapi/FactoryAPIClient.java index 8660351..c881e0f 100644 --- a/src/main/java/wily/factoryapi/FactoryAPIClient.java +++ b/src/main/java/wily/factoryapi/FactoryAPIClient.java @@ -37,7 +37,11 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.ItemBlockRenderTypes; +//? if <1.21.11 { import net.minecraft.client.renderer.RenderType; +//?} else { +/*import net.minecraft.client.renderer.rendertype.RenderTypes; +*///?} import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.LivingEntityRenderer; @@ -261,7 +265,7 @@ public static void init() { }); //? if fabric { //? if >=1.21.9 { - /*IFactoryItemClientExtension.map.forEach((i,c)-> ArmorRenderer.register((matrices, vertexConsumers, stack, entity, slot, light, contextModel)-> vertexConsumers.submitModel(c.getHumanoidArmorModel(entity,stack,slot,contextModel), entity, matrices, RenderType.entityCutout(((IFactoryItem) i).getArmorLocation(stack, slot)), light, OverlayTexture.NO_OVERLAY, 0xFFFFFF, null), i)); + /*IFactoryItemClientExtension.map.forEach((i,c)-> ArmorRenderer.register((matrices, vertexConsumers, stack, entity, slot, light, contextModel)-> vertexConsumers.submitModel(c.getHumanoidArmorModel(entity,stack,slot,contextModel), entity, matrices, /^?if <1.21.11 {^/RenderType/^?} else {^//^RenderTypes^//^?}^/.entityCutout(((IFactoryItem) i).getArmorLocation(stack, slot)), light, OverlayTexture.NO_OVERLAY, 0xFFFFFF, null), i)); *///?} else { IFactoryItemClientExtension.map.forEach((i,c)-> ArmorRenderer.register((matrices, vertexConsumers, stack, entity, slot, light, contextModel)-> c.getHumanoidArmorModel(entity,stack,slot,contextModel).renderToBuffer(matrices,vertexConsumers.getBuffer(RenderType.entityCutout(((IFactoryItem) i).getArmorLocation(stack,/*? if <1.21.2 {*/ entity, /*?}*/slot))), light, OverlayTexture.NO_OVERLAY/*? if <=1.20.6 {*/, 1.0F,1.0F,1.0F, 1.0F/*?}*/),i)); //?} diff --git a/src/main/java/wily/factoryapi/FactoryAPIPlatform.java b/src/main/java/wily/factoryapi/FactoryAPIPlatform.java index 3063fa4..35f3051 100644 --- a/src/main/java/wily/factoryapi/FactoryAPIPlatform.java +++ b/src/main/java/wily/factoryapi/FactoryAPIPlatform.java @@ -65,7 +65,11 @@ import net.fabricmc.fabric.api.transfer.v1.storage.Storage; import net.fabricmc.fabric.api.transfer.v1.storage.base.SingleSlotStorage; import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; +//? if <1.21.11 { import net.fabricmc.fabric.mixin.command.ArgumentTypesAccessor; +//?} else { +/*import net.fabricmc.fabric.mixin.command.ArgumentTypeInfosAccessor; +*///?} import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.Person; @@ -75,9 +79,6 @@ import wily.factoryapi.base.fabric.FabricEnergyStoragePlatform; import wily.factoryapi.base.fabric.FabricFluidStoragePlatform; import wily.factoryapi.base.fabric.FabricItemStoragePlatform; -//? if >=1.20.4 { -import net.fabricmc.fabric.impl.resource.loader.FabricResourcePackProfile; -//?} //?} elif neoforge { /*import net.neoforged.fml.ModList; import net.neoforged.neoforge.common.NeoForge; @@ -436,7 +437,7 @@ static boolean isClient() { static , T extends ArgumentTypeInfo.Template, I extends ArgumentTypeInfo> void registerByClassArgumentType(Class infoClass, I argumentTypeInfo) { //? if fabric { - ArgumentTypesAccessor.fabric_getClassMap().put(infoClass,argumentTypeInfo); + /*? if <1.21.11 {*/ArgumentTypesAccessor/*?} else {*//*ArgumentTypeInfosAccessor*//*?}*/.fabric_getClassMap().put(infoClass,argumentTypeInfo); //?} else if forge || neoforge { /*ArgumentTypeInfos.registerByClass(infoClass,argumentTypeInfo); *///?} else @@ -712,6 +713,6 @@ public String getName() { } static boolean isPackHidden(Pack pack) { - return /*? if fabric && >=1.20.4 {*/ ((FabricResourcePackProfile)pack).fabric_isHidden() /*?} else {*/ /*false*//*?}*/; + return /*? if fabric && >=1.20.4 && <1.21.11 {*/ ((net.fabricmc.fabric.impl.resource.loader.FabricResourcePackProfile)pack).fabric_isHidden() /*?} else {*/ /*false*//*?}*/; } } diff --git a/src/main/java/wily/factoryapi/base/FactoryCapacityTier.java b/src/main/java/wily/factoryapi/base/FactoryCapacityTier.java index e65700f..79aca0d 100644 --- a/src/main/java/wily/factoryapi/base/FactoryCapacityTier.java +++ b/src/main/java/wily/factoryapi/base/FactoryCapacityTier.java @@ -6,7 +6,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; //? if >=1.20.5 -/*import net.minecraft.network.codec.StreamCodec;*/ +//import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.StringRepresentable; import wily.factoryapi.FactoryAPI; @@ -21,7 +21,7 @@ public enum FactoryCapacityTier implements StringRepresentable { public static final Codec CODEC = StringRepresentable.fromEnum(FactoryCapacityTier::values); //? if >=1.20.5 - /*public static final StreamCodec STREAM_CODEC = StreamCodec.of(FriendlyByteBuf::writeEnum, b->b.readEnum(FactoryCapacityTier.class));*/ + //public static final StreamCodec STREAM_CODEC = StreamCodec.of(FriendlyByteBuf::writeEnum, b->b.readEnum(FactoryCapacityTier.class)); public final ChatFormatting formatting; private final double conductivity; diff --git a/src/main/java/wily/factoryapi/base/FactoryItemEnergyStorage.java b/src/main/java/wily/factoryapi/base/FactoryItemEnergyStorage.java index 7d9085b..7836a28 100644 --- a/src/main/java/wily/factoryapi/base/FactoryItemEnergyStorage.java +++ b/src/main/java/wily/factoryapi/base/FactoryItemEnergyStorage.java @@ -49,7 +49,7 @@ public void setEnergyStored(int energy) { //? if <1.20.5 { container.getOrCreateTag().putInt(KEY,energy); //?} else - /*container.set(FactoryRegistries.ENERGY_COMPONENT.get(),energy);*/ + //container.set(FactoryRegistries.ENERGY_COMPONENT.get(),energy); } //? if <1.20.5 { @Override diff --git a/src/main/java/wily/factoryapi/base/FactoryRenderingTextCollector.java b/src/main/java/wily/factoryapi/base/FactoryRenderingTextCollector.java new file mode 100644 index 0000000..5b72a4b --- /dev/null +++ b/src/main/java/wily/factoryapi/base/FactoryRenderingTextCollector.java @@ -0,0 +1,9 @@ +//? if >=1.21.11 { +/*package wily.factoryapi.base; + +import net.minecraft.client.gui.GuiGraphics; + +public interface FactoryRenderingTextCollector { + GuiGraphics getGuiGraphics(); +} +*///?} \ No newline at end of file diff --git a/src/main/java/wily/factoryapi/base/IFactoryItem.java b/src/main/java/wily/factoryapi/base/IFactoryItem.java index c4973e6..4cf612b 100644 --- a/src/main/java/wily/factoryapi/base/IFactoryItem.java +++ b/src/main/java/wily/factoryapi/base/IFactoryItem.java @@ -1,7 +1,7 @@ package wily.factoryapi.base; //? if >=1.21.2 -/*import net.minecraft.core.component.DataComponents;*/ +//import net.minecraft.core.component.DataComponents; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; @@ -25,7 +25,7 @@ default ArbitrarySupplier getStorage(FactoryStor //?} default @Nullable ResourceLocation getArmorLocation(ItemStack stack, /*? if <1.21.2 {*/Entity entity, /*?}*/ EquipmentSlot slot) { - return /*? if <1.21.2 {*/null /*?} else if <1.21.4 {*/ /*stack.get(DataComponents.EQUIPPABLE).model().orElse(null)*//*?} else {*//*stack.get(DataComponents.EQUIPPABLE).assetId().map(ResourceKey::location).orElse(null)*//*?}*/; + return /*? if <1.21.2 {*/null /*?} else if <1.21.4 {*/ /*stack.get(DataComponents.EQUIPPABLE).model().orElse(null)*//*?} else {*//*stack.get(DataComponents.EQUIPPABLE).assetId().map(ResourceKey::/^? if <1.21.11 {^/location/^?} else {^//^identifier^//^?}^/).orElse(null)*//*?}*/; } default void clientExtension(Consumer clientExtensionConsumer){ diff --git a/src/main/java/wily/factoryapi/base/Progress.java b/src/main/java/wily/factoryapi/base/Progress.java index fe75d4d..7a6e2b0 100644 --- a/src/main/java/wily/factoryapi/base/Progress.java +++ b/src/main/java/wily/factoryapi/base/Progress.java @@ -10,20 +10,20 @@ public class Progress implements ITagSerializable { - public Identifier identifier; + public Progress.Identifier identifier; private final List entries; - public Progress(Identifier identifier, List entries){ + public Progress(Progress.Identifier identifier, List entries){ this.identifier = identifier; this.entries = entries; } - public Progress(Identifier identifier) { + public Progress(Progress.Identifier identifier) { this(identifier, new ArrayList<>()); } - public Progress(Identifier identifier, int x, int y, int initialMaxProgress){ + public Progress(Progress.Identifier identifier, int x, int y, int initialMaxProgress){ this(identifier, List.of(new ProgressEntry(x,y,initialMaxProgress))); } - public Progress(Identifier identifier, int entries, int defaultMaxProgress){ + public Progress(Progress.Identifier identifier, int entries, int defaultMaxProgress){ this(identifier); for (int i = 0; i < entries; i++) add(0,0,defaultMaxProgress); @@ -109,12 +109,12 @@ public int shrink(int value){ } } public record Identifier(String name) { - public static Identifier DEFAULT = new Identifier("progress"); - public static Identifier ENERGY_STORAGE = new Identifier("energyStorage"); - public static Identifier TANK = new Identifier("tank"); - public static Identifier BURN_TIME = new Identifier("burnTime"); - public static Identifier GENERATING = new Identifier("gen"); - public static Identifier MATTER = new Identifier("matter"); + public static Progress.Identifier DEFAULT = new Progress.Identifier("progress"); + public static Progress.Identifier ENERGY_STORAGE = new Progress.Identifier("energyStorage"); + public static Progress.Identifier TANK = new Progress.Identifier("tank"); + public static Progress.Identifier BURN_TIME = new Progress.Identifier("burnTime"); + public static Progress.Identifier GENERATING = new Progress.Identifier("gen"); + public static Progress.Identifier MATTER = new Progress.Identifier("matter"); } } diff --git a/src/main/java/wily/factoryapi/base/StackIngredient.java b/src/main/java/wily/factoryapi/base/StackIngredient.java index 8a1a20a..8e12f9d 100644 --- a/src/main/java/wily/factoryapi/base/StackIngredient.java +++ b/src/main/java/wily/factoryapi/base/StackIngredient.java @@ -230,12 +230,12 @@ public void encode(CommonNetwork.PlayBuf buf) { buf.get().writeBoolean(isStrict()); buf.get().writeByte(getCount()); //?} else - /*STREAM_CODEC.encode(buf.get(),this);*/ + //STREAM_CODEC.encode(buf.get(),this); } public static StackIngredient decode(CommonNetwork.PlayBuf buf){ //? if <1.20.5 { return new StackIngredient(HolderSet.direct((List>) buf.get().readCollection(ArrayList::new,(b)->b.readById(BuiltInRegistries.ITEM.asHolderIdMap()))), buf.get().readNbt(), buf.get().readBoolean(), buf.get().readByte()); //?} else - /*return STREAM_CODEC.decode(buf.get());*/ + //return STREAM_CODEC.decode(buf.get()); } } diff --git a/src/main/java/wily/factoryapi/base/client/AdvancedTextWidget.java b/src/main/java/wily/factoryapi/base/client/AdvancedTextWidget.java index e5d8404..14eb56d 100644 --- a/src/main/java/wily/factoryapi/base/client/AdvancedTextWidget.java +++ b/src/main/java/wily/factoryapi/base/client/AdvancedTextWidget.java @@ -1,6 +1,11 @@ package wily.factoryapi.base.client; import net.minecraft.client.Minecraft; +//? if >=1.21.11 { +/*import net.minecraft.client.gui.ActiveTextCollector; +import net.minecraft.network.chat.Style; +import wily.factoryapi.mixin.base.ScreenAccessor; +*///?} import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.font.glyphs.BakedGlyph; @@ -155,7 +160,14 @@ public boolean handleComponentsClicked(double d, double e, int i) { for (int i1 = 0; i1 < lines.size(); i1++) { int lineHeight = heightPerLine[i1]; if (e >= actualHeight && e < actualHeight + lineHeight){ + //? if >=1.21.11 { + /*ActiveTextCollector.ClickableStyleFinder clickableStyleFinder = new ActiveTextCollector.ClickableStyleFinder(Minecraft.getInstance().font, (int) d, (int) e); + clickableStyleFinder.accept(0, Mth.floor(d - getX()), lines.get(i1)); // TODO WHAT WHAT WHAT WHAT WHAT + Style style = clickableStyleFinder.result(); + if (style != null) ScreenAccessor.callDefaultHandleGameClickEvent(style.getClickEvent(), Minecraft.getInstance(), accessor.getScreen()); + *///?} else { accessor.getScreen().handleComponentClicked(Minecraft.getInstance().font.getSplitter().componentStyleAtWidth(lines.get(i1), Mth.floor(d - getX()))); + //?} return true; } actualHeight += lineHeight; diff --git a/src/main/java/wily/factoryapi/base/client/FactoryConfigWidgets.java b/src/main/java/wily/factoryapi/base/client/FactoryConfigWidgets.java index 215e83e..d104642 100644 --- a/src/main/java/wily/factoryapi/base/client/FactoryConfigWidgets.java +++ b/src/main/java/wily/factoryapi/base/client/FactoryConfigWidgets.java @@ -47,9 +47,9 @@ public static AbstractWidget createWidget(FactoryConfig config, int x, in AbstractWidget override = getOverride(config, tooltipFunction, x, y, width, afterSet); if (override != null) return override; if (config.control().equals(FactoryConfigControl.TOGGLE)) { - return CycleButton.builder(b -> display.valueToComponent().apply((T) b)).withValues(OptionInstance.BOOLEAN_VALUES.valueListSupplier()).withTooltip(((Function) tooltipFunction)::apply).withInitialValue((Boolean) config.get()).create(x, y, width, 20, display.name(), (cycleButton, object) -> FactoryConfig.saveOptionAndConsume(config, (T)object, afterSet)); + return CycleButton.builder(b -> display.valueToComponent().apply((T) b)/*? if >=1.21.11 {*//*, () -> (Boolean) config.get()*//*?}*/).withValues(OptionInstance.BOOLEAN_VALUES.valueListSupplier()).withTooltip(((Function) tooltipFunction)::apply)/*? if <1.21.11 {*/.withInitialValue((Boolean) config.get())/*?}*/.create(x, y, width, 20, display.name(), (cycleButton, object) -> FactoryConfig.saveOptionAndConsume(config, (T)object, afterSet)); } else if (config.control() instanceof FactoryConfigControl.FromInt c) { - return CycleButton.builder(display.valueToComponent()).withValues(listSupplier(c.valueGetter(), c.valuesSize())).withTooltip(tooltipFunction::apply).withInitialValue(config.get()).create(x, y, width, 20, display.name(), (cycleButton, object) -> FactoryConfig.saveOptionAndConsume(config, object,afterSet)); + return CycleButton.builder(display.valueToComponent()/*? if >=1.21.11 {*//*, config*//*?}*/).withValues(listSupplier(c.valueGetter(), c.valuesSize())).withTooltip(tooltipFunction::apply)/*? if <1.21.11 {*/.withInitialValue(config.get())/*?}*/.create(x, y, width, 20, display.name(), (cycleButton, object) -> FactoryConfig.saveOptionAndConsume(config, object,afterSet)); } else if (config.control() instanceof FactoryConfigControl.FromDouble c) { return createSlider(config, x, y, width, afterSet, c.valueGetter(), c.valueSetter(), tooltipFunction); } else if (config.control() instanceof FactoryConfigControl.Int c) { diff --git a/src/main/java/wily/factoryapi/base/client/UIAccessor.java b/src/main/java/wily/factoryapi/base/client/UIAccessor.java index 6ad1dbe..9a35999 100644 --- a/src/main/java/wily/factoryapi/base/client/UIAccessor.java +++ b/src/main/java/wily/factoryapi/base/client/UIAccessor.java @@ -219,7 +219,7 @@ default Renderable createModifiableRenderable(String name, Renderable renderable FactoryScreenUtil.enableBlend(); FactoryGuiGraphics.of(guiGraphics).setColor(color); //?} else - /*FactoryGuiGraphics.of(guiGraphics).setBlitColor(color);*/ + //FactoryGuiGraphics.of(guiGraphics).setBlitColor(color); FactoryGuiMatrixStack.of(guiGraphics.pose()).translate(getDouble(name + ".translateX", 0), getDouble(name + ".translateY", 0), getDouble(name + ".translateZ", 0)); FactoryGuiMatrixStack.of(guiGraphics.pose()).scale(getFloat(name + ".scaleX", 1), getFloat(name + ".scaleY", 1), getFloat(name + ".scaleZ", 1)); renderable.render(guiGraphics, i, j, f); @@ -228,7 +228,7 @@ default Renderable createModifiableRenderable(String name, Renderable renderable //? if <1.21.6 { FactoryGuiGraphics.of(guiGraphics).clearColor(); //?} else - /*FactoryGuiGraphics.of(guiGraphics).clearBlitColor();*/ + //FactoryGuiGraphics.of(guiGraphics).clearBlitColor(); } }; diff --git a/src/main/java/wily/factoryapi/base/client/UIDefinitionManager.java b/src/main/java/wily/factoryapi/base/client/UIDefinitionManager.java index 6a8ea11..92a71c3 100644 --- a/src/main/java/wily/factoryapi/base/client/UIDefinitionManager.java +++ b/src/main/java/wily/factoryapi/base/client/UIDefinitionManager.java @@ -97,7 +97,7 @@ public void beforeInit(UIAccessor accessor) { } public interface WidgetAction { - ListMap> map = new ListMap.Builder>().put("open_default_screen", create(ResourceLocation.CODEC, (s) -> (a, w, t) -> Minecraft.getInstance().setScreen(DEFAULT_SCREENS_MAP.getOrDefault(s, s1 -> null).apply(a.getScreen())))).put("open_config_screen", create(Codec.STRING, (s) -> (a, w, t) -> Minecraft.getInstance().setScreen(FactoryAPIClient.getConfigScreen(FactoryAPIPlatform.getModInfo(s), a.getScreen())))).put("reload_ui", create(Codec.unit(Unit.INSTANCE), (s) -> (a, w, t) -> a.reloadUI())).put("run_command", createRunCommand(s -> true)).put("run_windows_command", createRunCommand(s -> Util.getPlatform() == Util.OS.WINDOWS)).put("run_linux_command", createRunCommand(s -> Util.getPlatform() == Util.OS.LINUX)).put("run_osx_command", createRunCommand(s -> Util.getPlatform() == Util.OS.OSX)).put("toggle_datapacks", createToggleDatapacks()).mapKeys(FactoryAPI::createVanillaLocation).build(); + ListMap> map = new ListMap.Builder>().put("open_default_screen", create(ResourceLocation.CODEC, (s) -> (a, w, t) -> Minecraft.getInstance().setScreen(DEFAULT_SCREENS_MAP.getOrDefault(s, s1 -> null).apply(a.getScreen())))).put("open_config_screen", create(Codec.STRING, (s) -> (a, w, t) -> Minecraft.getInstance().setScreen(FactoryAPIClient.getConfigScreen(FactoryAPIPlatform.getModInfo(s), a.getScreen())))).put("reload_ui", create(Codec.EMPTY.codec(), (s) -> (a, w, t) -> a.reloadUI())).put("run_command", createRunCommand(s -> true)).put("run_windows_command", createRunCommand(s -> Util.getPlatform() == Util.OS.WINDOWS)).put("run_linux_command", createRunCommand(s -> Util.getPlatform() == Util.OS.LINUX)).put("run_osx_command", createRunCommand(s -> Util.getPlatform() == Util.OS.OSX)).put("toggle_datapacks", createToggleDatapacks()).mapKeys(FactoryAPI::createVanillaLocation).build(); Codec> CODEC = map.createCodec(ResourceLocation.CODEC); Codec

getCodec(); diff --git a/src/main/java/wily/factoryapi/base/client/drawable/AbstractDrawableButton.java b/src/main/java/wily/factoryapi/base/client/drawable/AbstractDrawableButton.java index ceb20a1..f2d5b26 100644 --- a/src/main/java/wily/factoryapi/base/client/drawable/AbstractDrawableButton.java +++ b/src/main/java/wily/factoryapi/base/client/drawable/AbstractDrawableButton.java @@ -132,17 +132,17 @@ public void draw(GuiGraphics graphics, int x, int y) { //? if <1.21.6 { FactoryGuiGraphics.of(graphics).setColor(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1.0F); //?} else - /*FactoryGuiGraphics.of(graphics).setBlitColor(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);*/ + //FactoryGuiGraphics.of(graphics).setBlitColor(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); super.draw(graphics, x, y); if (color != null) //? if <1.21.6 { FactoryGuiGraphics.of(graphics).clearColor(); //?} else - /*FactoryGuiGraphics.of(graphics).clearBlitColor();*/ + //FactoryGuiGraphics.of(graphics).clearBlitColor(); if (isSelected() || hovered && hoverSelection) { if (selection != null) selection.draw(graphics, x, y); else { - //? if >=1.21.9 { + //? if >=1.21.9 && <1.21.11 { /*graphics.submitOutline(x, y, width(), height(), -1); *///?} else { graphics.renderOutline(x, y, width(), height(), -1); diff --git a/src/main/java/wily/factoryapi/base/config/FactoryConfig.java b/src/main/java/wily/factoryapi/base/config/FactoryConfig.java index 8c08105..7b050ef 100644 --- a/src/main/java/wily/factoryapi/base/config/FactoryConfig.java +++ b/src/main/java/wily/factoryapi/base/config/FactoryConfig.java @@ -8,6 +8,10 @@ import com.mojang.serialization.*; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; +//? if >=1.21.11 { +/*import net.minecraft.server.permissions.Permission; +import net.minecraft.server.permissions.PermissionLevel; +*///?} import net.minecraft.util.GsonHelper; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -100,7 +104,7 @@ default boolean allowSync() { } default boolean allowClientSync(Player player) { - return allowSync() && (player != null && (player.hasPermissions(2) || FactoryAPIPlatform.getEntityServer(player).isSingleplayerOwner(/*? if >=1.21.9 {*//*player.nameAndId()*//*?} else {*/player.getGameProfile()/*?}*/))); + return allowSync() && (player != null && (player/*? if >=1.21.11 {*//*.permissions().hasPermission*//*?} else {*/.hasPermissions/*?}*/(/*? if >=1.21.11 {*//*new Permission.HasCommandLevel(PermissionLevel.GAMEMASTERS)*//*?} else {*/2/*?}*/) || FactoryAPIPlatform.getEntityServer(player).isSingleplayerOwner(/*? if >=1.21.9 {*//*player.nameAndId()*//*?} else {*/player.getGameProfile()/*?}*/))); } } diff --git a/src/main/java/wily/factoryapi/base/network/CommonConfigSyncPayload.java b/src/main/java/wily/factoryapi/base/network/CommonConfigSyncPayload.java index eae4994..c9622e3 100644 --- a/src/main/java/wily/factoryapi/base/network/CommonConfigSyncPayload.java +++ b/src/main/java/wily/factoryapi/base/network/CommonConfigSyncPayload.java @@ -5,6 +5,10 @@ import net.minecraft.nbt.NbtOps; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; +//? if >=1.21.11 { +/*import net.minecraft.server.permissions.Permission; +import net.minecraft.server.permissions.PermissionLevel; +*///?} import net.minecraft.world.entity.player.Player; import wily.factoryapi.FactoryAPI; import wily.factoryapi.FactoryAPIPlatform; @@ -39,7 +43,7 @@ public static CommonConfigSyncPayload createC2S(CommonNetwork.PlayBuf playBuf){ @Override public void apply(Context context) { FactoryConfig.COMMON_STORAGES.get(commonConfigStorage).decodeConfigs(new Dynamic<>(NbtOps.INSTANCE, configTag)); - if (!context.isClient() && context.player() instanceof ServerPlayer sp && sp.hasPermissions(2)){ + if (!context.isClient() && context.player() instanceof ServerPlayer sp && sp/*? if >=1.21.11 {*//*.permissions().hasPermission*//*?} else {*/.hasPermissions/*?}*/(/*? if >=1.21.11 {*//*new Permission.HasCommandLevel(PermissionLevel.GAMEMASTERS)*//*?} else {*/2/*?}*/)){ FactoryConfig.StorageHandler handler = FactoryConfig.COMMON_STORAGES.get(commonConfigStorage); CommonNetwork.sendToPlayers(FactoryAPIPlatform.getEntityServer(sp).getPlayerList().getPlayers(), new CommonConfigSyncPayload(ID_S2C, commonConfigStorage, configTag)); handler.save(); diff --git a/src/main/java/wily/factoryapi/base/network/CommonNetwork.java b/src/main/java/wily/factoryapi/base/network/CommonNetwork.java index 1dcd3c6..69e1317 100644 --- a/src/main/java/wily/factoryapi/base/network/CommonNetwork.java +++ b/src/main/java/wily/factoryapi/base/network/CommonNetwork.java @@ -51,23 +51,23 @@ public interface CommonNetwork { Multimap ENABLED_PLAYERS = HashMultimap.create(); interface Identifier{ - ResourceLocation location(); + net.minecraft.resources.ResourceLocation location(); T decode(/*? if <1.20.5 {*/FriendlyByteBuf/*?} else {*/ /*RegistryFriendlyByteBuf *//*?}*/ buf); //? >=1.20.5 { /*CustomPacketPayload.Type type(); StreamCodec codec(); *///?} - static Identifier create(ResourceLocation location, Supplier decoder){ + static CommonNetwork.Identifier create(net.minecraft.resources.ResourceLocation location, Supplier decoder){ return create(location,b->decoder.get()); } - static Identifier create(ResourceLocation location, Function decoder){ + static CommonNetwork.Identifier create(net.minecraft.resources.ResourceLocation location, Function decoder){ //? >=1.20.5 { /*CustomPacketPayload.Type type = new CustomPacketPayload.Type<>(location); StreamCodec codec = StreamCodec.of((b,p)->p.encode(b),b->decoder.apply(()->b)); *///?} - return new Identifier<>() { + return new CommonNetwork.Identifier<>() { @Override - public ResourceLocation location() { + public net.minecraft.resources.ResourceLocation location() { return location; } @@ -160,7 +160,7 @@ default void applySided(boolean client, Supplier player){ else applyServer(player); } - Identifier identifier(); + CommonNetwork.Identifier identifier(); default void encode(/*? if <1.20.5 {*/FriendlyByteBuf/*?} else {*/ /*RegistryFriendlyByteBuf *//*?}*/ buf){ encode(()->buf); @@ -186,9 +186,9 @@ default ResourceLocation id(){ } abstract class EmptyPayload implements Payload{ - private final Identifier identifier; + private final CommonNetwork.Identifier identifier; - public EmptyPayload(Identifier identifier){ + public EmptyPayload(CommonNetwork.Identifier identifier){ this.identifier = identifier; } @@ -197,7 +197,7 @@ public void encode(PlayBuf buf) { } @Override - public Identifier identifier() { + public CommonNetwork.Identifier identifier() { return identifier; } } @@ -214,7 +214,7 @@ static void sendToPlayer(ServerPlayer serverPl payload.encode(buf); ServerPlayNetworking.send(serverPlayer,payload.identifier().location(), buf); //?} else - /*ServerPlayNetworking.send(serverPlayer,payload);*/ + //ServerPlayNetworking.send(serverPlayer,payload); //?} elif forge { /*//? if <1.20.5 { FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); @@ -252,7 +252,7 @@ static void sendToServer(T payload, boolean by payload.encode(buf); ClientPlayNetworking.send(payload.identifier().location(),buf); //?} else - /*ClientPlayNetworking.send(payload);*/ + //ClientPlayNetworking.send(payload); //?} elif forge { /*//? if <1.20.5 { FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); diff --git a/src/main/java/wily/factoryapi/base/network/CommonRecipeManager.java b/src/main/java/wily/factoryapi/base/network/CommonRecipeManager.java index 6cd703b..e3f4a58 100644 --- a/src/main/java/wily/factoryapi/base/network/CommonRecipeManager.java +++ b/src/main/java/wily/factoryapi/base/network/CommonRecipeManager.java @@ -60,7 +60,7 @@ public static RecipeManager getRecipeManager(){ private static Map,Map>> recipesByType = Collections.emptyMap(); public static void updateRecipes(RecipeManager manager){ - recipesByType = manager.getRecipes().stream().collect(Collectors.groupingBy(h->h.value().getType(),Collectors.toMap(h->h.id().location(), Function.identity()))); + recipesByType = manager.getRecipes().stream().collect(Collectors.groupingBy(h->h.value().getType(),Collectors.toMap(h->h.id()./^? if <1.21.11 {^/location/^?} else {^//^identifier^//^?}^/(), Function.identity()))); for (RecipeType recipeType : recipeTypesToSync) { ClientPayload.getInstance().syncRecipeTypes.put(recipeType, recipesByType.get(recipeType)); } diff --git a/src/main/java/wily/factoryapi/base/network/FactoryAPICommand.java b/src/main/java/wily/factoryapi/base/network/FactoryAPICommand.java index 039b10c..677d43d 100644 --- a/src/main/java/wily/factoryapi/base/network/FactoryAPICommand.java +++ b/src/main/java/wily/factoryapi/base/network/FactoryAPICommand.java @@ -18,6 +18,10 @@ import net.minecraft.nbt.NbtOps; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; +//? if >=1.21.11 { +/*import net.minecraft.server.permissions.Permission; +import net.minecraft.server.permissions.PermissionLevel; +*///?} import net.minecraft.world.entity.player.Player; import wily.factoryapi.FactoryAPI; import wily.factoryapi.FactoryAPIClient; @@ -70,7 +74,7 @@ public Collection getExamples() { } public static void register(CommandDispatcher commandDispatcher, CommandBuildContext commandBuildContext) { - var command = Commands.literal("factoryapi").requires(commandSourceStack -> commandSourceStack.hasPermission(2)); + var command = Commands.literal("factoryapi").requires(commandSourceStack -> commandSourceStack/*? if >=1.21.11 {*//*.permissions()*//*?}*/.hasPermission(/*? if >=1.21.11 {*//*new Permission.HasCommandLevel(PermissionLevel.GAMEMASTERS)*//*?} else {*/2/*?}*/)); command.then(Commands.literal("display").then(Commands.literal("ui_definition").then(Commands.argument("targets", EntityArgument.players()).then(Commands.argument("ui_definition", CompoundTagArgument.compoundTag()).executes(context -> { diff --git a/src/main/java/wily/factoryapi/mixin/base/AbstractButtonMixin.java b/src/main/java/wily/factoryapi/mixin/base/AbstractButtonMixin.java index 08080c5..ef74a46 100644 --- a/src/main/java/wily/factoryapi/mixin/base/AbstractButtonMixin.java +++ b/src/main/java/wily/factoryapi/mixin/base/AbstractButtonMixin.java @@ -1,7 +1,12 @@ package wily.factoryapi.mixin.base; -import com.mojang.blaze3d.systems.RenderSystem; +//? if >=1.21.11 { +/*import net.minecraft.client.gui.ActiveTextCollector; +import wily.factoryapi.base.FactoryRenderingTextCollector; +*///?} else { import net.minecraft.client.gui.Font; +//?} +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractButton; import net.minecraft.client.gui.components.AbstractWidget; @@ -62,20 +67,25 @@ public void keyPressed(int i, int j, int k, CallbackInfoReturnable cir) } //?} - @Inject(method = "renderString", at = @At("HEAD")) - public void renderString(GuiGraphics guiGraphics, Font font, int i, CallbackInfo ci) { + // TODO 1.21.11 + @Inject(method = /*? if <1.21.11 {*/"renderString"/*?} else {*//*"renderDefaultLabel"*//*?}*/, at = @At("HEAD")) + public void renderString(/*? if <1.21.11 {*/GuiGraphics guiGraphics, Font font, int i, /*?} else {*//*ActiveTextCollector activeTextCollector, *//*?}*/ CallbackInfo ci) { + //? if >=1.21.11 { + /*GuiGraphics guiGraphics; + if (activeTextCollector instanceof FactoryRenderingTextCollector collector) guiGraphics = collector.getGuiGraphics(); else return; + *///?} ResourceLocation sprite = getSpriteOverride(); if (sprite != null) { FactoryScreenUtil.enableBlend(); //? if <1.21.6 { FactoryGuiGraphics.of(guiGraphics).setColor(1.0f, 1.0f, 1.0f, alpha); //?} else - /*FactoryGuiGraphics.of(guiGraphics).setBlitColor(1.0f, 1.0f, 1.0f, alpha);*/ + //FactoryGuiGraphics.of(guiGraphics).setBlitColor(1.0f, 1.0f, 1.0f, alpha); FactoryGuiGraphics.of(guiGraphics).blitSprite(sprite, getX(), getY(), getWidth(), getHeight()); //? if <1.21.6 { FactoryGuiGraphics.of(guiGraphics).clearColor(); //?} else - /*FactoryGuiGraphics.of(guiGraphics).clearBlitColor();*/ + //FactoryGuiGraphics.of(guiGraphics).clearBlitColor(); FactoryScreenUtil.disableBlend(); } } diff --git a/src/main/java/wily/factoryapi/mixin/base/ClientItemMixin.java b/src/main/java/wily/factoryapi/mixin/base/ClientItemMixin.java index 52bd273..4401b7b 100644 --- a/src/main/java/wily/factoryapi/mixin/base/ClientItemMixin.java +++ b/src/main/java/wily/factoryapi/mixin/base/ClientItemMixin.java @@ -1,7 +1,7 @@ package wily.factoryapi.mixin.base; //? if >=1.21.2 -/*import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;*/ +//import net.minecraft.client.renderer.entity.state.LivingEntityRenderState; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.world.entity.EquipmentSlot; diff --git a/src/main/java/wily/factoryapi/mixin/base/GuiGraphicsMixin.java b/src/main/java/wily/factoryapi/mixin/base/GuiGraphicsMixin.java index b8789ca..a65b91c 100644 --- a/src/main/java/wily/factoryapi/mixin/base/GuiGraphicsMixin.java +++ b/src/main/java/wily/factoryapi/mixin/base/GuiGraphicsMixin.java @@ -3,7 +3,10 @@ import com.mojang.blaze3d.systems.RenderSystem; //? if >=1.21.6 { -/*import com.mojang.blaze3d.textures.GpuTextureView; +/*//? if >=1.21.11 { +/^import com.mojang.blaze3d.textures.GpuSampler; +^///?} +import com.mojang.blaze3d.textures.GpuTextureView; import com.mojang.blaze3d.pipeline.RenderPipeline; import net.minecraft.client.gui.render.TextureSetup; import net.minecraft.client.gui.render.state.GuiRenderState; @@ -18,7 +21,10 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.navigation.ScreenRectangle; import net.minecraft.client.renderer.MultiBufferSource; +//? if <1.21.6 { import net.minecraft.client.renderer.RenderType; +//?} +import net.minecraft.client.renderer.texture.AbstractTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -66,7 +72,7 @@ public abstract class GuiGraphicsMixin implements FactoryGuiGraphics.Accessor { @Shadow @Final private Minecraft minecraft; //? if >=1.21.6 { - /*@Shadow protected abstract void submitBlit(RenderPipeline par1, GpuTextureView par2, int par3, int par4, int par5, int par6, float par7, float par8, float par9, float par10, int par11); + /*@Shadow protected abstract void submitBlit(RenderPipeline par1, GpuTextureView par2, /^?if >=1.21.11 {^//^GpuSampler gpuSampler, ^//^?}^/ int par3, int par4, int par5, int par6, float par7, float par8, float par9, float par10, int par11); @Shadow @Final public GuiRenderState guiRenderState; @Shadow public abstract Matrix3x2fStack pose(); *///?} @@ -133,7 +139,7 @@ public void blit(ResourceLocation texture, int x, int y, float uvX, float uvY, i //? if <1.21.2 { context().blit(texture, x, y, uvX, uvY, width, height, textureWidth, textureHeight); //?} else - /*context().blit(renderingOverride, texture, x, y, uvX, uvY, width, height, textureWidth, textureHeight);*/ + //context().blit(renderingOverride, texture, x, y, uvX, uvY, width, height, textureWidth, textureHeight); } @@ -143,7 +149,7 @@ public void blitSprite(ResourceLocation resourceLocation, int x, int y, int widt *///?} else if <1.21.2 { context().blitSprite(resourceLocation, x, y, width, height); //?} else - /*context().blitSprite(renderingOverride, resourceLocation, x, y, width, height,blitColor);*/ + //context().blitSprite(renderingOverride, resourceLocation, x, y, width, height,blitColor); } public void blitSprite(ResourceLocation resourceLocation, int x, int y, int z, int width, int height) { @@ -291,8 +297,9 @@ private void innerBlit(Function function, Resource } //?} else { /^private void innerBlit(RenderPipeline pipeline, ResourceLocation resourceLocation, int i, int j, int k, int l, int z, float f, float g, float h, float m, int n) { - GpuTextureView gpuTextureView = minecraft.getTextureManager().getTexture(resourceLocation).getTextureView(); - submitBlit(pipeline, gpuTextureView, i, k, j, l, f, g, h, m, n); + AbstractTexture texture = minecraft.getTextureManager().getTexture(resourceLocation); + GpuTextureView gpuTextureView = texture.getTextureView(); + submitBlit(pipeline, gpuTextureView, /^¹?if >=1.21.11 {¹^//^¹texture.getSampler(),¹^//^¹?}¹^/ i, k, j, l, f, g, h, m, n); } ^///?} *///?} diff --git a/src/main/java/wily/factoryapi/mixin/base/MipmapGeneratorMixin.java b/src/main/java/wily/factoryapi/mixin/base/MipmapGeneratorMixin.java index b485f7d..5fa1634 100644 --- a/src/main/java/wily/factoryapi/mixin/base/MipmapGeneratorMixin.java +++ b/src/main/java/wily/factoryapi/mixin/base/MipmapGeneratorMixin.java @@ -9,8 +9,11 @@ @Mixin(MipmapGenerator.class) public class MipmapGeneratorMixin { + // TODO 1.21.11 + //? if <1.21.11 { @Inject(method = "alphaBlend", at = @At("HEAD"), cancellable = true) private static void alphaBlend(int i, int j, int k, int l, boolean bl, CallbackInfoReturnable cir) { if (FactoryOptions.NEAREST_MIPMAP_SCALING.get()) cir.setReturnValue(l); } + //?} } diff --git a/src/main/java/wily/factoryapi/mixin/base/RenderingTextCollectorMixin.java b/src/main/java/wily/factoryapi/mixin/base/RenderingTextCollectorMixin.java new file mode 100644 index 0000000..13ec42d --- /dev/null +++ b/src/main/java/wily/factoryapi/mixin/base/RenderingTextCollectorMixin.java @@ -0,0 +1,18 @@ +//? if >=1.21.11 { +/*package wily.factoryapi.mixin.base; + +import net.minecraft.client.gui.GuiGraphics; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import wily.factoryapi.base.FactoryRenderingTextCollector; + +@Mixin(targets = "net/minecraft/client/gui/GuiGraphics$RenderingTextCollector") +public class RenderingTextCollectorMixin implements FactoryRenderingTextCollector { + @Shadow + private GuiGraphics field_63856; + @Override + public GuiGraphics getGuiGraphics() { + return field_63856; + } +} +*///?} \ No newline at end of file diff --git a/src/main/java/wily/factoryapi/mixin/base/ScreenAccessor.java b/src/main/java/wily/factoryapi/mixin/base/ScreenAccessor.java new file mode 100644 index 0000000..113494d --- /dev/null +++ b/src/main/java/wily/factoryapi/mixin/base/ScreenAccessor.java @@ -0,0 +1,18 @@ +//? if >=1.21.11 { +/*package wily.factoryapi.mixin.base; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.ClickEvent; +import org.jspecify.annotations.Nullable; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(Screen.class) +public interface ScreenAccessor { + @Invoker + static void callDefaultHandleGameClickEvent(ClickEvent clickEvent, Minecraft minecraft, @Nullable Screen screen) { + throw new UnsupportedOperationException(); + } +} +*///?} \ No newline at end of file diff --git a/src/main/java/wily/factoryapi/mixin/base/ScreenMixin.java b/src/main/java/wily/factoryapi/mixin/base/ScreenMixin.java index 91ca54d..81210bb 100644 --- a/src/main/java/wily/factoryapi/mixin/base/ScreenMixin.java +++ b/src/main/java/wily/factoryapi/mixin/base/ScreenMixin.java @@ -48,11 +48,13 @@ public VariablesMap> getElements() { return elements; } - @Inject(method = "init(Lnet/minecraft/client/Minecraft;II)V",at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;init()V")) + private static final @Unique String INIT_METHOD = /*? >=1.21.11 {*//*"init(II)V"*//*?} else {*/"init(Lnet/minecraft/client/Minecraft;II)V"/*?}*/; + + @Inject(method = INIT_METHOD, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;init()V")) public void beforeInit(CallbackInfo ci) { beforeInit(); } - @Inject(method = "init(Lnet/minecraft/client/Minecraft;II)V",at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;init()V",shift = At.Shift.AFTER)) + @Inject(method = INIT_METHOD, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;init()V",shift = At.Shift.AFTER)) public void afterInit(CallbackInfo ci) { afterInit(); } diff --git a/src/main/java/wily/factoryapi/util/DynamicUtil.java b/src/main/java/wily/factoryapi/util/DynamicUtil.java index e58be41..186ea04 100644 --- a/src/main/java/wily/factoryapi/util/DynamicUtil.java +++ b/src/main/java/wily/factoryapi/util/DynamicUtil.java @@ -7,7 +7,7 @@ import com.mojang.datafixers.util.Pair; import com.mojang.serialization.*; //? >1.20.5 -/*import net.minecraft.core.component.DataComponentPatch;*/ +//import net.minecraft.core.component.DataComponentPatch; import com.mojang.serialization.codecs.RecordCodecBuilder; //? if >1.20.1 { import net.minecraft.network.chat.ComponentSerialization; @@ -39,7 +39,7 @@ public class DynamicUtil { //? if <1.20.5 { if (pair.getSecond()) pair.getFirst().get("nbt").result().flatMap(d1-> CompoundTag.CODEC.parse(d1).result()).ifPresent(i::setTag); //?} else - /*if (pair.getSecond()) convertToRegistryIfPossible(pair.getFirst()).get("components").result().flatMap(d1->DataComponentPatch.CODEC.parse(d1).result()).ifPresent(i::applyComponents);*/ + //if (pair.getSecond()) convertToRegistryIfPossible(pair.getFirst()).get("components").result().flatMap(d1->DataComponentPatch.CODEC.parse(d1).result()).ifPresent(i::applyComponents); return i; }).orElse(ItemStack.EMPTY))); public static final LoadingCache,RegistryOps> REGISTRY_OPS_CACHE = CacheBuilder.newBuilder().build(CacheLoader.from(o->RegistryOps.create(o, FactoryAPIPlatform.getRegistryAccess()))); diff --git a/src/main/java/wily/factoryapi/util/FactoryItemUtil.java b/src/main/java/wily/factoryapi/util/FactoryItemUtil.java index b466965..c1a1f1a 100644 --- a/src/main/java/wily/factoryapi/util/FactoryItemUtil.java +++ b/src/main/java/wily/factoryapi/util/FactoryItemUtil.java @@ -53,7 +53,7 @@ public static boolean equalItems(ItemStack itemStack, ItemStack itemStack1){ //? if <1.20.5 { return ItemStack.isSameItemSameTags(itemStack,itemStack1); //?} else - /*return ItemStack.isSameItemSameComponents(itemStack,itemStack1);*/ + //return ItemStack.isSameItemSameComponents(itemStack,itemStack1); } public static boolean compareItems(ItemStack itemStack, ItemStack itemStack1, boolean checkCount) { diff --git a/src/main/java/wily/factoryapi/util/FluidInstance.java b/src/main/java/wily/factoryapi/util/FluidInstance.java index a5ab0b0..29b1bb4 100644 --- a/src/main/java/wily/factoryapi/util/FluidInstance.java +++ b/src/main/java/wily/factoryapi/util/FluidInstance.java @@ -40,12 +40,12 @@ public class FluidInstance /*? if >=1.20.5 && !forge {*//*implements DataCompone //? if <1.20.5 || forge { private CompoundTag tag; //?} else - /*private PatchedDataComponentMap components = new PatchedDataComponentMap(PatchedDataComponentMap.EMPTY);*/ + //private PatchedDataComponentMap components = new PatchedDataComponentMap(PatchedDataComponentMap.EMPTY); public static final Codec CODEC = RecordCodecBuilder.create(i-> i.group(BuiltInRegistries.FLUID.byNameCodec().fieldOf("fluid").forGetter(FluidInstance::getFluid), Codec.INT.fieldOf("amount").forGetter(FluidInstance::getAmount), /*? if <1.20.5 || forge {*/ CompoundTag/*?} else {*/ /*DataComponentPatch*//*?}*/.CODEC.fieldOf(/*? if <1.20.5 || forge {*/ "nbt"/*?} else {*/ /*"components"*//*?}*/).forGetter(FluidInstance::/*? if <1.20.5 || forge {*/ getNonNullTag/*?} else {*//*getComponentsPatch*//*?}*/)).apply(i,FluidInstance::new)); //? if >=1.20.5 - /*public static final StreamCodec STREAM_CODEC = StreamCodec.of(FluidInstance::encode, FluidInstance::decode);*/ + //public static final StreamCodec STREAM_CODEC = StreamCodec.of(FluidInstance::encode, FluidInstance::decode); public static final FluidInstance EMPTY = new FluidInstance(Fluids.EMPTY,0); @@ -58,7 +58,7 @@ public FluidInstance(Fluid fluid, int amount, /*? if <1.20.5 || forge {*/ Compou //? if <1.20.5 || forge { this.tag = tag.copy(); //?} else - /*this.components = PatchedDataComponentMap.fromPatch(DataComponentMap.builder().build(),components);*/ + //this.components = PatchedDataComponentMap.fromPatch(DataComponentMap.builder().build(),components); } public static FluidInstance empty() { @@ -247,7 +247,7 @@ public static void encode( /*? if <1.20.5 {*/FriendlyByteBuf/*?} else {*//*Regis //? if <1.20.5 || forge { buf.writeNbt(instance.getNonNullTag()); //?} else - /*DataComponentPatch.STREAM_CODEC.encode(buf,instance.getComponentsPatch());*/ + //DataComponentPatch.STREAM_CODEC.encode(buf,instance.getComponentsPatch()); } public static FluidInstance decode(/*? if <1.20.5 {*/FriendlyByteBuf/*?} else {*//*RegistryFriendlyByteBuf *//*?}*/ buf){ int amount = buf.readInt(); diff --git a/src/main/java/wily/factoryapi/util/ProgressElementRenderUtil.java b/src/main/java/wily/factoryapi/util/ProgressElementRenderUtil.java index 0477363..a68bc3a 100644 --- a/src/main/java/wily/factoryapi/util/ProgressElementRenderUtil.java +++ b/src/main/java/wily/factoryapi/util/ProgressElementRenderUtil.java @@ -32,7 +32,7 @@ public static void renderFluidTank(GuiGraphics graphics, int x, int y, IFactoryD //? if <1.21.6 { FactoryGuiGraphics.of(graphics).setColor(FluidRenderUtil.getFixedColor(instance), true); //?} else - /*FactoryGuiGraphics.of(graphics).setBlitColor(FluidRenderUtil.getFixedColor(instance));*/ + //FactoryGuiGraphics.of(graphics).setBlitColor(FluidRenderUtil.getFixedColor(instance)); } for (int i = 0; i < fluidWidth; i += 16) { for (int j = 0; j < fluidHeight; j += 16) { @@ -42,7 +42,7 @@ public static void renderFluidTank(GuiGraphics graphics, int x, int y, IFactoryD //? if <1.21.6 { FactoryGuiGraphics.of(graphics).clearColor(true); //?} else - /*FactoryGuiGraphics.of(graphics).clearBlitColor();*/ + //FactoryGuiGraphics.of(graphics).clearBlitColor(); } type.draw(graphics,x,y); } diff --git a/src/main/resources/factory_api.mixins.json5 b/src/main/resources/factory_api.mixins.json5 index ccf2fa8..b2be796 100644 --- a/src/main/resources/factory_api.mixins.json5 +++ b/src/main/resources/factory_api.mixins.json5 @@ -32,6 +32,10 @@ //? if >=1.21.9 { /*"BakedSheetGlyphAccessor", *///?} + //? if >=1.21.11 { + /*"ScreenAccessor", + "RenderingTextCollectorMixin", + *///?} "SpriteLoaderMixin", "AbstractContainerScreenMixin", "AbstractWidgetMixin", diff --git a/stonecutter.gradle.kts b/stonecutter.gradle.kts index 0d0dbc4..e5b0920 100644 --- a/stonecutter.gradle.kts +++ b/stonecutter.gradle.kts @@ -1,6 +1,6 @@ plugins { id("dev.kikugie.stonecutter") - id("dev.architectury.loom") version "1.11.+" apply false + id("dev.architectury.loom") version "1.13.+" apply false } stonecutter active "1.20.4-fabric" /* [SC] DO NOT EDIT */ diff --git a/versions/1.21.11-fabric/gradle.properties b/versions/1.21.11-fabric/gradle.properties new file mode 100644 index 0000000..f6af129 --- /dev/null +++ b/versions/1.21.11-fabric/gradle.properties @@ -0,0 +1,6 @@ +loom.platform=fabric +fabric_loader_version=0.18.4 +fabric_api_version=0.140.2+1.21.11 +mc_version_range=1.21.11 +team_reborn_energy_version=4.2.0 +modmenu_version=17.0.0-beta.1 \ No newline at end of file