From 689f8905f198286725779001e43dd4dd3d9e4ff2 Mon Sep 17 00:00:00 2001 From: ranidspace Date: Tue, 30 Dec 2025 13:14:32 -0500 Subject: [PATCH] refactor: update to 1.21.11 Requires refactoring a bit. Any instance of "ResourceLocator" is replaced with "Identifier", and net.minecraft.Util is now net.minecraft.util.Util Removes ScrollingStringWidget. The default behaviour of StringWidget is already to scroll when the text exceeds bounds, and 1.21.11 removes the getColor() method. --- CHANGELOG.md | 2 +- build.gradle | 2 +- .../client/config/gui/ConfigScreen.java | 2 +- .../client/config/gui/SelectionListEntry.java | 2 +- .../client/config/gui/entry/ConfigEntry.java | 4 +- .../client/config/gui/entry/EnumButton.java | 2 +- .../client/gui/ScrollingStringWidget.java | 44 ------------------- .../client/mixin/ImageWidget$SpriteMixin.java | 6 +-- .../MutableSpriteImageWidget$Sprite.java | 4 +- .../io/github/jamalam360/jamlib/JamLib.java | 6 +-- .../jamlib/config/ConfigExtensions.java | 20 ++++----- gradle.properties | 10 ++--- libs.versions.toml | 14 +++--- 13 files changed, 37 insertions(+), 81 deletions(-) delete mode 100644 common/src/client/java/io/github/jamalam360/jamlib/client/gui/ScrollingStringWidget.java diff --git a/CHANGELOG.md b/CHANGELOG.md index bb7137a..85090de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1 @@ -Add 1.21.10 support. +Add 1.21.11 support. diff --git a/build.gradle b/build.gradle index a1134fc..789bc46 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.11-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.13-SNAPSHOT" apply false id "com.github.breadmoirai.github-release" version "2.4.1" id "maven-publish" } diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/ConfigScreen.java b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/ConfigScreen.java index e3be03f..a79f7c4 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/ConfigScreen.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/ConfigScreen.java @@ -7,7 +7,7 @@ import io.github.jamalam360.jamlib.config.ConfigExtensions; import io.github.jamalam360.jamlib.config.ConfigManager; import io.github.jamalam360.jamlib.config.HiddenInGui; -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.components.AbstractWidget; diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/SelectionListEntry.java b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/SelectionListEntry.java index 8a03c6c..44e1978 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/SelectionListEntry.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/SelectionListEntry.java @@ -2,7 +2,7 @@ import java.util.List; -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.components.AbstractWidget; diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/ConfigEntry.java b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/ConfigEntry.java index 8fadf42..5798ccd 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/ConfigEntry.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/ConfigEntry.java @@ -3,7 +3,6 @@ import com.google.gson.Gson; import io.github.jamalam360.jamlib.JamLib; import io.github.jamalam360.jamlib.client.config.gui.ConfigScreen; -import io.github.jamalam360.jamlib.client.gui.ScrollingStringWidget; import io.github.jamalam360.jamlib.client.mixinsupport.MutableSpriteImageWidget$Sprite; import io.github.jamalam360.jamlib.config.ConfigExtensions; import io.github.jamalam360.jamlib.config.ConfigManager; @@ -11,6 +10,7 @@ import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.ImageWidget; import net.minecraft.client.gui.components.SpriteIconButton; +import net.minecraft.client.gui.components.StringWidget; import net.minecraft.client.gui.components.Tooltip; import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; @@ -71,7 +71,7 @@ public ConfigEntry(String modId, String configName, ConfigField field) { public List createWidgets(int width) { List widgets = new ArrayList<>(); - ScrollingStringWidget title = new ScrollingStringWidget(12, Minecraft.getInstance().font.lineHeight / 2 + 1, width / 2 - 10, Minecraft.getInstance().font.lineHeight, Component.translatable(this.translationKey), Minecraft.getInstance().font); + StringWidget title = new StringWidget(12, Minecraft.getInstance().font.lineHeight / 2 + 1, width / 2 - 10, Minecraft.getInstance().font.lineHeight, Component.translatable(this.translationKey), Minecraft.getInstance().font); if (this.tooltip != null) { title.setTooltip(Tooltip.create(this.tooltip)); diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/EnumButton.java b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/EnumButton.java index a78f61c..4625239 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/EnumButton.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/config/gui/entry/EnumButton.java @@ -6,7 +6,7 @@ import java.util.function.Consumer; -public class EnumButton> extends Button { +public class EnumButton> extends Button.Plain { private final Class enumClass; private final Consumer> onChange; private int index; diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/gui/ScrollingStringWidget.java b/common/src/client/java/io/github/jamalam360/jamlib/client/gui/ScrollingStringWidget.java deleted file mode 100644 index 6e6d956..0000000 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/gui/ScrollingStringWidget.java +++ /dev/null @@ -1,44 +0,0 @@ -package io.github.jamalam360.jamlib.client.gui; - -import net.minecraft.Util; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.gui.components.StringWidget; -import net.minecraft.network.chat.Component; -import net.minecraft.util.Mth; - -/** - * A string widget that scrolls if the component is too long for the width - */ -public class ScrollingStringWidget extends StringWidget { - public ScrollingStringWidget(int x, int y, int width, int height, Component component, Font font) { - super(x, y, width, height, component, font); - } - - @Override - public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) { - renderLeftAlignedScrollingString(guiGraphics, this.getFont(), this.getMessage(), this.getX(), this.getWidth(), this.getY(), this.getColor()); -// if (this.isMouseOver(mouseX, mouseY) && this.tooltip != null) { -// guiGraphics.renderTooltip(Minecraft.getInstance().font, this.getTooltip().toCharSequence(Minecraft.getInstance()), mouseX, mouseY); -// } - } - - private static void renderLeftAlignedScrollingString(GuiGraphics graphics, Font font, Component text, int minX, int width, int y, int color) { - int messageWidth = font.width(text); - - if (messageWidth > width) { - int overflowWidth = messageWidth - width; - double d = (double) Util.getMillis() / (double)1000.0F; - double e = Math.max((double)overflowWidth * (double)0.5F, 3.0F); - double f = Math.sin((Math.PI / 2D) * Math.cos((Math.PI * 2D) * d / e)) / (double)2.0F + (double)0.5F; - double g = Mth.lerp(f, 0.0F, overflowWidth); - graphics.enableScissor(minX, y, minX + width, y + font.lineHeight); - graphics.drawString(font, text, minX - (int)g, y, color); - graphics.disableScissor(); - } else { - graphics.drawString(font, text, minX, y, color); - } - - } -} diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/mixin/ImageWidget$SpriteMixin.java b/common/src/client/java/io/github/jamalam360/jamlib/client/mixin/ImageWidget$SpriteMixin.java index b0bc1e7..17d0fd7 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/mixin/ImageWidget$SpriteMixin.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/mixin/ImageWidget$SpriteMixin.java @@ -1,7 +1,7 @@ package io.github.jamalam360.jamlib.client.mixin; import io.github.jamalam360.jamlib.client.mixinsupport.MutableSpriteImageWidget$Sprite; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mutable; @@ -12,10 +12,10 @@ public class ImageWidget$SpriteMixin implements MutableSpriteImageWidget$Sprite @Mutable @Shadow @Final - private ResourceLocation sprite; + private Identifier sprite; @Override - public void setSprite(ResourceLocation sprite) { + public void setSprite(Identifier sprite) { this.sprite = sprite; } } diff --git a/common/src/client/java/io/github/jamalam360/jamlib/client/mixinsupport/MutableSpriteImageWidget$Sprite.java b/common/src/client/java/io/github/jamalam360/jamlib/client/mixinsupport/MutableSpriteImageWidget$Sprite.java index 385288b..083fc3d 100644 --- a/common/src/client/java/io/github/jamalam360/jamlib/client/mixinsupport/MutableSpriteImageWidget$Sprite.java +++ b/common/src/client/java/io/github/jamalam360/jamlib/client/mixinsupport/MutableSpriteImageWidget$Sprite.java @@ -1,7 +1,7 @@ package io.github.jamalam360.jamlib.client.mixinsupport; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; public interface MutableSpriteImageWidget$Sprite { - void setSprite(ResourceLocation texture); + void setSprite(Identifier texture); } diff --git a/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java b/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java index 80611a4..baefa75 100644 --- a/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java +++ b/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java @@ -4,7 +4,7 @@ import dev.architectury.platform.Platform; import dev.architectury.utils.EnvExecutor; import net.fabricmc.api.EnvType; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import org.jetbrains.annotations.ApiStatus; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,7 +38,7 @@ public static void checkForJarRenaming(Class anyModClass) { } @ApiStatus.Internal - public static ResourceLocation id(String path) { - return ResourceLocation.fromNamespaceAndPath(MOD_ID, path); + public static Identifier id(String path) { + return Identifier.fromNamespaceAndPath(MOD_ID, path); } } diff --git a/common/src/main/java/io/github/jamalam360/jamlib/config/ConfigExtensions.java b/common/src/main/java/io/github/jamalam360/jamlib/config/ConfigExtensions.java index f9d76aa..0f1a3b4 100644 --- a/common/src/main/java/io/github/jamalam360/jamlib/config/ConfigExtensions.java +++ b/common/src/main/java/io/github/jamalam360/jamlib/config/ConfigExtensions.java @@ -2,7 +2,7 @@ import io.github.jamalam360.jamlib.JamLib; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import java.lang.reflect.Field; import java.net.URI; @@ -83,15 +83,15 @@ default List getValidationErrors(ConfigManager manager, Fiel class Link { // I am not an artist but these are recognizable at least. - public static final ResourceLocation DISCORD = JamLib.id("link_discord"); - public static final ResourceLocation GENERIC_LINK = JamLib.id("link_generic"); - public static final ResourceLocation GITHUB = JamLib.id("link_github"); + public static final Identifier DISCORD = JamLib.id("link_discord"); + public static final Identifier GENERIC_LINK = JamLib.id("link_generic"); + public static final Identifier GITHUB = JamLib.id("link_github"); - private final ResourceLocation texture; + private final Identifier texture; private final URL url; private final Component tooltip; - public Link(ResourceLocation texture, String url, Component tooltip) { + public Link(Identifier texture, String url, Component tooltip) { this.texture = texture; try { @@ -104,13 +104,13 @@ public Link(ResourceLocation texture, String url, Component tooltip) { this.tooltip = tooltip; } - public Link(ResourceLocation texture, URL url, Component tooltip) { + public Link(Identifier texture, URL url, Component tooltip) { this.texture = texture; this.url = url; this.tooltip = tooltip; } - public ResourceLocation getTexture() { + public Identifier getTexture() { return this.texture; } @@ -147,13 +147,13 @@ public enum Type { */ ERROR; - private final ResourceLocation texture; + private final Identifier texture; Type() { this.texture = JamLib.id("validation_" + this.name().toLowerCase()); } - public ResourceLocation getTexture() { + public Identifier getTexture() { return this.texture; } } diff --git a/gradle.properties b/gradle.properties index bf04b1a..1d892c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,12 +1,12 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false org.gradle.parallel=true -version=1.3.5+1.21.10 -minecraft_version=1.21.10 +version=1.3.5+1.21.11 +minecraft_version=1.21.11 -additional_minecraft_versions=1.21.9 -minimum_minecraft_version=1.21.9 -minimum_architectury_api_version=18.0.3 +additional_minecraft_versions= +minimum_minecraft_version=1.21.11 +minimum_architectury_api_version=19.0.1 minimum_fabric_api_version=0.134.0+1.21.9 branch=main diff --git a/libs.versions.toml b/libs.versions.toml index 482a3a5..6daf1e0 100644 --- a/libs.versions.toml +++ b/libs.versions.toml @@ -1,20 +1,20 @@ [versions] # https://modrinth.com/mod/architectury-api/versions -architectury = "18.0.5" +architectury = "19.0.1" # https://parchmentmc.org/docs/getting-started -parchment-minecraft = "1.21.10" -parchment = "2025.10.12" +parchment-minecraft = "1.21.11" +parchment = "2025.12.20" # https://projects.neoforged.net/neoforged/neoforge -neoforge = "21.10.32-beta" +neoforge = "21.11.14-beta" # https://fabricmc.net/develop -fabric-loader = "0.17.3" -fabric-api = "0.136.0+1.21.10" +fabric-loader = "0.18.4" +fabric-api = "0.140.2+1.21.11" # https://modrinth.com/mod/modmenu/versions -modmenu = "16.0.0-rc.1" +modmenu = "17.0.0-beta.1" # https://github.com/falkreon/Jankson/releases/latest jankson = "1.2.3"