From 9dd384359f0bdd71b9b779f0a689ea04975a0f60 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Thu, 11 Dec 2025 17:47:15 +0100 Subject: [PATCH] port: Mounts of Mayham (1.21.11) --- build.gradle.kts | 8 +++++++ gradle.properties | 2 +- settings.gradle.kts | 5 ++-- .../java/net/puzzlemc/core/PuzzleClient.java | 10 ++++---- src/main/java/net/puzzlemc/gui/PuzzleGui.java | 14 ++++++----- .../gui/mixin/MixinOptionsScreen.java | 4 ++-- .../gui/screen/widget/PuzzleButtonWidget.java | 14 +++++++++-- .../mixin/MixinModelElementDeserializer.java | 24 +++++++++++++++++-- .../splashscreen/PuzzleSplashScreen.java | 17 +++++++------ .../splashscreen/mixin/MixinSplashScreen.java | 14 +++++------ stonecutter.gradle.kts | 2 +- versions/1.21.10-fabric/gradle.properties | 4 ++-- versions/1.21.10-neoforge/gradle.properties | 4 ++-- versions/1.21.11-fabric/gradle.properties | 15 ++++++++++++ versions/1.21.11-neoforge/gradle.properties | 15 ++++++++++++ 15 files changed, 112 insertions(+), 40 deletions(-) create mode 100644 versions/1.21.11-fabric/gradle.properties create mode 100644 versions/1.21.11-neoforge/gradle.properties diff --git a/build.gradle.kts b/build.gradle.kts index 21151de..dc364f8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -285,8 +285,16 @@ stonecutter { direction = eval(current.version, ">=1.21.5") replace("SimpleTexture", "ReloadableTexture") } + replacements.string { + direction = eval(current.version, ">=1.21.11") + replace("ResourceLocation", "Identifier") + } replacements.string { direction = eval(current.version, ">=1.21") replace("new ResourceLocation", "ResourceLocation.fromNamespaceAndPath") } + replacements.string { + direction = eval(current.version, ">=1.21.11") + replace("net.minecraft.Util", "net.minecraft.util.Util") + } } diff --git a/gradle.properties b/gradle.properties index 5923a1f..1d1755c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,7 +31,7 @@ deps.neoforge_patch=[VERSIONED] # Mod dependencies deps.yarn_build=[VERSIONED] deps.modmenu_version=[VERSIONED] -deps.midnightlib_version=1.9.0 +deps.midnightlib_version=1.9.2 # Mod integrations jigsaws.cull_leaves_version = 3.0.2-fabric diff --git a/settings.gradle.kts b/settings.gradle.kts index 56b581b..f3c298e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,10 +21,9 @@ stonecutter { fun mc(loader: String, vararg versions: String) { for (version in versions) vers("$version-$loader", version) } - //i would recommend to use neoforge for mc > 1.20.1, i haven't tested template for forge on versions higher than that - mc("fabric","1.20.1", "1.21.1", "1.21.5", "1.21.8", "1.21.10") + mc("fabric","1.20.1", "1.21.1", "1.21.5", "1.21.8", "1.21.10", "1.21.11") //WARNING: neoforge uses mods.toml instead of neoforge.mods.toml for versions 1.20.4 (?) and earlier - mc("neoforge", "1.21.1", "1.21.5", "1.21.8", "1.21.10") + mc("neoforge", "1.21.1", "1.21.5", "1.21.8", "1.21.10", "1.21.11") } create(rootProject) } diff --git a/src/main/java/net/puzzlemc/core/PuzzleClient.java b/src/main/java/net/puzzlemc/core/PuzzleClient.java index 22132cc..a9ceea2 100644 --- a/src/main/java/net/puzzlemc/core/PuzzleClient.java +++ b/src/main/java/net/puzzlemc/core/PuzzleClient.java @@ -1,6 +1,6 @@ package net.puzzlemc.core; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.puzzlemc.gui.screen.PuzzleOptionsScreen; import net.puzzlemc.splashscreen.PuzzleSplashScreen; @@ -33,12 +33,12 @@ public class PuzzleClient implements ClientModInitializer, ModMenuApi { //ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener //? if >= 1.21.9 { - ResourceLoader.get(PackType.CLIENT_RESOURCES).registerReloader(ResourceLocation.fromNamespaceAndPath(MOD_ID, "splash_screen"), PuzzleSplashScreen.ReloadListener.INSTANCE); + ResourceLoader.get(PackType.CLIENT_RESOURCES).registerReloader(Identifier.fromNamespaceAndPath(MOD_ID, "splash_screen"), PuzzleSplashScreen.ReloadListener.INSTANCE); //?} else { /*ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new SimpleSynchronousResourceReloadListener() { @Override - public ResourceLocation getFabricId() { - return ResourceLocation.fromNamespaceAndPath(MOD_ID, "splash_screen"); + public Identifier getFabricId() { + return Identifier.fromNamespaceAndPath(MOD_ID, "splash_screen"); } @Override public void onResourceManagerReload(ResourceManager manager) { @@ -76,7 +76,7 @@ public class PuzzleClient { //? if >= 1.21.5 { @SubscribeEvent public static void onResourceReload(AddClientReloadListenersEvent event) { - event.addListener(ResourceLocation.fromNamespaceAndPath(MOD_ID, "splash_screen"), PuzzleSplashScreen.ReloadListener.INSTANCE); + event.addListener(Identifier.fromNamespaceAndPath(MOD_ID, "splash_screen"), PuzzleSplashScreen.ReloadListener.INSTANCE); } //?} else { /^@SubscribeEvent diff --git a/src/main/java/net/puzzlemc/gui/PuzzleGui.java b/src/main/java/net/puzzlemc/gui/PuzzleGui.java index 253b9bc..0c3c797 100644 --- a/src/main/java/net/puzzlemc/gui/PuzzleGui.java +++ b/src/main/java/net/puzzlemc/gui/PuzzleGui.java @@ -4,7 +4,7 @@ import eu.midnightdust.core.MidnightLib; import eu.midnightdust.lib.util.PlatformFunctions; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.gui.compat.*; import net.puzzlemc.gui.screen.widget.PuzzleWidget; @@ -17,7 +17,7 @@ import static net.puzzlemc.core.PuzzleCore.MOD_ID; public class PuzzleGui { public static final Component YES = Component.translatable("gui.yes").withStyle(ChatFormatting.GREEN); public static final Component NO = Component.translatable("gui.no").withStyle(ChatFormatting.RED); - public static final ResourceLocation PUZZLE_BUTTON = ResourceLocation.fromNamespaceAndPath(MOD_ID, "icon/button"); + public static final Identifier PUZZLE_BUTTON = Identifier.fromNamespaceAndPath(MOD_ID, "icon/button"); public static void init() { MidnightLib.hiddenMods.add(MOD_ID); @@ -32,10 +32,12 @@ public class PuzzleGui { PuzzleConfig.write(MOD_ID); Minecraft.getInstance().getTextureManager()./*? if >= 1.21.5 {*/ registerAndLoad /*?} else {*//*register*//*?}*/(PuzzleSplashScreen.LOGO, new PuzzleSplashScreen.LogoTexture(PuzzleSplashScreen.LOGO)); })); - PuzzleApi.addToResourceOptions(new PuzzleWidget(Component.translatable("puzzle.option.unlimited_model_rotations"), (button) -> button.setMessage(PuzzleConfig.unlimitedRotations ? YES : NO), (button) -> { - PuzzleConfig.unlimitedRotations = !PuzzleConfig.unlimitedRotations; - PuzzleConfig.write(MOD_ID); - })); + //? if < 1.21.11 { +// PuzzleApi.addToResourceOptions(new PuzzleWidget(Component.translatable("puzzle.option.unlimited_model_rotations"), (button) -> button.setMessage(PuzzleConfig.unlimitedRotations ? YES : NO), (button) -> { +// PuzzleConfig.unlimitedRotations = !PuzzleConfig.unlimitedRotations; +// PuzzleConfig.write(MOD_ID); +// })); + //?} PuzzleApi.addToResourceOptions(new PuzzleWidget(Component.translatable("puzzle.option.bigger_custom_models"), (button) -> button.setMessage(PuzzleConfig.biggerModels ? YES : NO), (button) -> { PuzzleConfig.biggerModels = !PuzzleConfig.biggerModels; PuzzleConfig.write(MOD_ID); diff --git a/src/main/java/net/puzzlemc/gui/mixin/MixinOptionsScreen.java b/src/main/java/net/puzzlemc/gui/mixin/MixinOptionsScreen.java index abd4609..0338c43 100644 --- a/src/main/java/net/puzzlemc/gui/mixin/MixinOptionsScreen.java +++ b/src/main/java/net/puzzlemc/gui/mixin/MixinOptionsScreen.java @@ -27,7 +27,7 @@ import net.puzzlemc.gui.PuzzleGui; //?} else { /*import net.minecraft.client.gui.screens.OptionsScreen; import net.minecraft.client.gui.components.TextAndImageButton; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import static net.puzzlemc.core.PuzzleCore.MOD_ID; *///?} @@ -66,7 +66,7 @@ public abstract class MixinOptionsScreen extends Screen { puzzle$button.setPosition(this.width / 2 - 178 + i, layout.getY() + layout.getFooterHeight() - 4); } //?} else { - /*@Unique TextAndImageButton puzzle$button = TextAndImageButton.builder(Component.translatable("midnightlib.overview.title"), ResourceLocation.fromNamespaceAndPath(MOD_ID, "icon/button.png"), + /*@Unique TextAndImageButton puzzle$button = TextAndImageButton.builder(Component.translatable("midnightlib.overview.title"), Identifier.fromNamespaceAndPath(MOD_ID, "icon/button.png"), button -> Objects.requireNonNull(minecraft).setScreen(new PuzzleOptionsScreen(this))).textureSize(19, 19).usedTextureSize(16, 16).offset(-2, 0).build(); @Inject(at = @At("HEAD"), method = "init") diff --git a/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java b/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java index 79598b0..1579313 100644 --- a/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java +++ b/src/main/java/net/puzzlemc/gui/screen/widget/PuzzleButtonWidget.java @@ -14,9 +14,19 @@ public class PuzzleButtonWidget extends Button { this.title = title; } @Override - public void renderWidget(GuiGraphics context, int mouseX, int mouseY, float delta) { + //? if < 1.21.11 { + /*public void renderWidget(GuiGraphics context, int mouseX, int mouseY, float delta) { + *///?} else { + public void renderContents(GuiGraphics context, int mouseX, int mouseY, float delta) { + //?} try { title.setTitle(this); } catch (Exception e) {e.fillInStackTrace(); this.visible = false;} - super.renderWidget(context, mouseX, mouseY, delta); + + //? if < 1.21.11 { + /*super.renderWidget(context, mouseX, mouseY, delta);*/ + //?} else { + this.renderDefaultSprite(context); + this.renderDefaultLabel(context.textRendererForWidget(this, GuiGraphics.HoveredTextEffects.NONE)); + //?} } } diff --git a/src/main/java/net/puzzlemc/models/mixin/MixinModelElementDeserializer.java b/src/main/java/net/puzzlemc/models/mixin/MixinModelElementDeserializer.java index cfd1211..d9276f1 100644 --- a/src/main/java/net/puzzlemc/models/mixin/MixinModelElementDeserializer.java +++ b/src/main/java/net/puzzlemc/models/mixin/MixinModelElementDeserializer.java @@ -3,7 +3,6 @@ package net.puzzlemc.models.mixin; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import net.minecraft.client.renderer.block.model.BlockElement; -import net.minecraft.util.GsonHelper; import net.puzzlemc.core.config.PuzzleConfig; import org.joml.Vector3f; import org.spongepowered.asm.mixin.Mixin; @@ -11,10 +10,13 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +//? if < 1.21.11 +/*import net.minecraft.util.GsonHelper;*/ @Mixin(BlockElement.Deserializer.class) public abstract class MixinModelElementDeserializer { - @Shadow protected abstract Vector3f getVector3f(JsonObject jsonObject, String string); + //? if < 1.21.11 { + /*@Shadow protected abstract Vector3f getVector3f(JsonObject jsonObject, String string); @Inject(at = @At("HEAD"),method = "getAngle", cancellable = true) private void puzzle$deserializeRotationAngle(JsonObject object, CallbackInfoReturnable cir) { @@ -45,4 +47,22 @@ public abstract class MixinModelElementDeserializer { } } } + *///?} else { + @Shadow + private static Vector3f getVector3f(JsonObject jsonObject, String string) { + throw new RuntimeException("MixinModelElementDeserializer from Puzzle could not be loaded properly"); + } + + @Inject(at = @At("HEAD"),method = "getPosition", cancellable = true) + private static void puzzle$deserializePos(JsonObject object, String string, CallbackInfoReturnable cir) { + if (PuzzleConfig.biggerModels) { + Vector3f vec3f = getVector3f(object, string); + if (!(vec3f.x < -32.0F) && !(vec3f.y < -32.0F) && !(vec3f.z < -32.0F) && !(vec3f.x > 48.0F) && !(vec3f.y > 48.0F) && !(vec3f.z > 48.0F)) { + cir.setReturnValue(vec3f); + } else { + throw new JsonParseException("'%s' specifier exceeds the allowed boundaries: %s".formatted(string, vec3f)); + } + } + } + //?} } diff --git a/src/main/java/net/puzzlemc/splashscreen/PuzzleSplashScreen.java b/src/main/java/net/puzzlemc/splashscreen/PuzzleSplashScreen.java index bd43b08..3f13e79 100644 --- a/src/main/java/net/puzzlemc/splashscreen/PuzzleSplashScreen.java +++ b/src/main/java/net/puzzlemc/splashscreen/PuzzleSplashScreen.java @@ -4,12 +4,12 @@ import com.mojang.blaze3d.pipeline.RenderPipeline; import com.mojang.blaze3d.platform.NativeImage; import eu.midnightdust.lib.util.MidnightColorUtil; import eu.midnightdust.lib.util.PlatformFunctions; -import net.minecraft.Util; +import net.minecraft.util.Util; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.client.renderer.texture.ReloadableTexture; import net.minecraft.client.resources.metadata.texture.TextureMetadataSection; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.VanillaPackResources; import net.minecraft.server.packs.resources.ResourceManager; @@ -44,12 +44,15 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.util.TriState; *///?} +//? if >= 1.21.11 +import net.minecraft.client.renderer.texture.MipmapStrategy; + import static net.puzzlemc.core.PuzzleCore.LOGGER; import static net.puzzlemc.core.PuzzleCore.MOD_ID; public class PuzzleSplashScreen { - public static final ResourceLocation LOGO = ResourceLocation.fromNamespaceAndPath("minecraft", "textures/gui/title/mojangstudios.png"); - public static final ResourceLocation BACKGROUND = ResourceLocation.fromNamespaceAndPath("minecraft", "puzzle/splash_background.png"); + public static final Identifier LOGO = Identifier.fromNamespaceAndPath("minecraft", "textures/gui/title/mojangstudios.png"); + public static final Identifier BACKGROUND = Identifier.fromNamespaceAndPath("minecraft", "puzzle/splash_background.png"); public static File CONFIG_PATH = new File(String.valueOf(PlatformFunctions.getConfigDirectory().resolve(".puzzle_cache"))); public static Path LOGO_TEXTURE = Paths.get(CONFIG_PATH + "/mojangstudios.png"); public static Path BACKGROUND_TEXTURE = Paths.get(CONFIG_PATH + "/splash_background.png"); @@ -199,7 +202,7 @@ public class PuzzleSplashScreen { public static class LogoTexture extends ReloadableTexture { - public LogoTexture(ResourceLocation logo) { + public LogoTexture(Identifier logo) { super(logo); } @@ -208,7 +211,7 @@ public class PuzzleSplashScreen { Minecraft client = Minecraft.getInstance(); VanillaPackResources defaultResourcePack = client.getVanillaPackResources(); try (InputStream input = Objects.requireNonNull(defaultResourcePack.getResource(PackType.CLIENT_RESOURCES, LOGO)).get()) { - return /*? if >= 1.21.5 {*/ new TextureContents(NativeImage.read(input), new TextureMetadataSection(true, true)) /*?} else {*/ /*new TextureContents(new TextureMetadataSection(true, true), NativeImage.read(input)) *//*?}*/; + return /*? if >= 1.21.5 {*/ new TextureContents(NativeImage.read(input), new TextureMetadataSection(true, true /*? if >= 1.21.11 {*/, MipmapStrategy.AUTO, 0 /*?}*/)) /*?} else {*/ /*new TextureContents(new TextureMetadataSection(true, true), NativeImage.read(input)) *//*?}*/; } catch (IOException ex) { return /*? if >= 1.21.5 {*/ TextureContents.createMissing() /*?} else {*/ /*new TextureContents(ex) *//*?}*/; } @@ -222,7 +225,7 @@ public class PuzzleSplashScreen { @Override public @NotNull TextureContents loadContents(ResourceManager resourceManager) { try (InputStream input = new FileInputStream(String.valueOf(PuzzleSplashScreen.LOGO_TEXTURE))) { - return /*? if >= 1.21.5 {*/ new TextureContents(NativeImage.read(input), new TextureMetadataSection(true, true)) /*?} else {*/ /*new TextureContents(new TextureMetadataSection(true, true), NativeImage.read(input)) *//*?}*/; + return /*? if >= 1.21.5 {*/ new TextureContents(NativeImage.read(input), new TextureMetadataSection(true, true/*? if >= 1.21.11 {*/, MipmapStrategy.AUTO, 0 /*?}*/)) /*?} else {*/ /*new TextureContents(new TextureMetadataSection(true, true), NativeImage.read(input)) *//*?}*/; } catch (IOException e) { LOGGER.error("Encountered an error during logo loading: ", e); //? if >= 1.21.5 { diff --git a/src/main/java/net/puzzlemc/splashscreen/mixin/MixinSplashScreen.java b/src/main/java/net/puzzlemc/splashscreen/mixin/MixinSplashScreen.java index 53a9fb6..abd6038 100644 --- a/src/main/java/net/puzzlemc/splashscreen/mixin/MixinSplashScreen.java +++ b/src/main/java/net/puzzlemc/splashscreen/mixin/MixinSplashScreen.java @@ -1,14 +1,14 @@ package net.puzzlemc.splashscreen.mixin; import com.mojang.blaze3d.platform.NativeImage; -import net.minecraft.Util; +import net.minecraft.util.Util; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.LoadingOverlay; import net.minecraft.client.gui.screens.Overlay; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.util.Mth; import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.splashscreen.PuzzleSplashScreen; @@ -59,7 +59,7 @@ public abstract class MixinSplashScreen extends Overlay { return 0; } //? if < 1.21.5 - /*@Shadow @Final static ResourceLocation MOJANG_STUDIOS_LOGO_LOCATION;*/ + /*@Shadow @Final static Identifier MOJANG_STUDIOS_LOGO_LOCATION;*/ @Inject(method = "registerTextures", at = @At("TAIL")) // Load our custom textures at game start // //? if >= 1.21.5 { @@ -87,15 +87,15 @@ public abstract class MixinSplashScreen extends Overlay { } //? if >= 1.21.8 { - @WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/resources/ResourceLocation;IIFFIIIIIII)V")) - private void puzzle$modifyRenderLayer(GuiGraphics context, RenderPipeline pipeline, ResourceLocation sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color, Operation original) { + @WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/resources/Identifier;IIFFIIIIIII)V")) + private void puzzle$modifyRenderLayer(GuiGraphics context, RenderPipeline pipeline, Identifier sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color, Operation original) { if (PuzzleConfig.resourcepackSplashScreen) context.blit(PuzzleSplashScreen.CUSTOM_LOGO_PIPELINE, sprite, x, y, u, v, width, height, regionWidth, regionHeight, textureWidth, textureHeight, color); else context.blit(pipeline, sprite, x, y, u, v, width, height, textureWidth, textureHeight, color); } //?} else if >= 1.21.5 { - /*@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Ljava/util/function/Function;Lnet/minecraft/resources/ResourceLocation;IIFFIIIIIII)V")) - private void puzzle$modifyRenderLayer(GuiGraphics context, Function renderType, ResourceLocation sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color, Operation original) { + /*@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Ljava/util/function/Function;Lnet/minecraft/resources/Identifier;IIFFIIIIIII)V")) + private void puzzle$modifyRenderLayer(GuiGraphics context, Function renderType, Identifier sprite, int x, int y, float u, float v, int width, int height, int regionWidth, int regionHeight, int textureWidth, int textureHeight, int color, Operation original) { if (PuzzleConfig.resourcepackSplashScreen) context.blit(id -> PuzzleSplashScreen.CUSTOM_LOGO_LAYER, sprite, x, y, u, v, width, height, regionWidth, regionHeight, textureWidth, textureHeight, color); else context.blit(renderType, sprite, x, y, u, v, width, height, textureWidth, textureHeight, color); diff --git a/stonecutter.gradle.kts b/stonecutter.gradle.kts index c569200..73fd33b 100644 --- a/stonecutter.gradle.kts +++ b/stonecutter.gradle.kts @@ -5,7 +5,7 @@ plugins { id("com.github.johnrengelman.shadow") version "8.1.1" apply false id("me.modmuss50.mod-publish-plugin") version "0.8.4" apply false } -stonecutter active "1.21.10-fabric" /* [SC] DO NOT EDIT */ +stonecutter active "1.21.11-fabric" /* [SC] DO NOT EDIT */ // See https://stonecutter.kikugie.dev/wiki/config/params stonecutter parameters { diff --git a/versions/1.21.10-fabric/gradle.properties b/versions/1.21.10-fabric/gradle.properties index 1e255c3..20530a4 100644 --- a/versions/1.21.10-fabric/gradle.properties +++ b/versions/1.21.10-fabric/gradle.properties @@ -1,5 +1,5 @@ -mod.mc_dep_fabric=>=1.21.9 -mod.mc_dep_forgelike=[1.21.10,) +mod.mc_dep_fabric=>=1.21.9 <=1.21.10 +mod.mc_dep_forgelike=[1.21.9,1.21.10] mod.mc_title=1.21.10 mod.mc_targets=1.21.9 1.21.10 diff --git a/versions/1.21.10-neoforge/gradle.properties b/versions/1.21.10-neoforge/gradle.properties index 48e9c37..41190b4 100644 --- a/versions/1.21.10-neoforge/gradle.properties +++ b/versions/1.21.10-neoforge/gradle.properties @@ -1,5 +1,5 @@ -mod.mc_dep_fabric=>=1.21.9 -mod.mc_dep_forgelike=[1.21.10,) +mod.mc_dep_fabric=>=1.21.9 <=1.21.10 +mod.mc_dep_forgelike=[1.21.9,1.21.10] mod.mc_title=1.21.10 mod.mc_targets=1.21.9 1.21.10 diff --git a/versions/1.21.11-fabric/gradle.properties b/versions/1.21.11-fabric/gradle.properties new file mode 100644 index 0000000..bb2db2a --- /dev/null +++ b/versions/1.21.11-fabric/gradle.properties @@ -0,0 +1,15 @@ +mod.mc_dep_fabric=>=1.21.11 +mod.mc_dep_forgelike=[1.21.11,) +mod.mc_title=1.21.11 +mod.mc_targets=1.21.11 + +deps.forge_loader=0 +deps.neoforge_loader=21.11.3-beta + +deps.fabric_version=0.139.4+1.21.11 +deps.modmenu_version=17.0.0-alpha.1 + +jigsaws.emf_version=3.0.6-neoforge-1.21.9 +jigsaws.etf_version=7.0.6-neoforge-1.21.9 + +loom.platform=fabric \ No newline at end of file diff --git a/versions/1.21.11-neoforge/gradle.properties b/versions/1.21.11-neoforge/gradle.properties new file mode 100644 index 0000000..eca2268 --- /dev/null +++ b/versions/1.21.11-neoforge/gradle.properties @@ -0,0 +1,15 @@ +mod.mc_dep_fabric=>=1.21.11 +mod.mc_dep_forgelike=[1.21.11,) +mod.mc_title=1.21.11 +mod.mc_targets=1.21.11 + +deps.forge_loader=0 +deps.neoforge_loader=21.11.3-beta + +deps.fabric_version=0.139.4+1.21.11 +deps.modmenu_version=17.0.0-alpha.1 + +jigsaws.emf_version=3.0.6-neoforge-1.21.9 +jigsaws.etf_version=7.0.6-neoforge-1.21.9 + +loom.platform=neoforge \ No newline at end of file