From 5108b25a72ee9b2b5408d616057f1e01615ea842 Mon Sep 17 00:00:00 2001 From: Simon Felix Conrad Date: Thu, 17 Sep 2026 17:10:21 +0200 Subject: [PATCH 1/2] Port to 26.3 --- build.gradle.kts | 2 -- changelog.md | 4 ++-- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle.kts | 2 +- .../controllers/string/StringControllerElement.java | 10 ++++++++++ .../dev/isxander/yacl3/gui/render/BaseRenderState.java | 8 ++++---- .../yacl3/gui/render/YACLGuiElementRenderState.java | 8 ++++---- .../java/dev/isxander/yacl3/gui/utils/KeyUtils.java | 8 ++++---- stonecutter.gradle.kts | 2 +- versions/26.3-fabric/gradle.properties | 8 ++++---- versions/current | 2 +- 12 files changed, 33 insertions(+), 25 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e84c58db..d7cc515d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -92,8 +92,6 @@ modstitch { runDir("../../run") } } - - mixin.useLegacyMixinAp = false } } diff --git a/changelog.md b/changelog.md index e9d19894..09700080 100644 --- a/changelog.md +++ b/changelog.md @@ -6,8 +6,8 @@ |---------------|--------|----------|-------| | 26.1 | ✅ | ✅ | ❌ | | 26.2 | ✅ | ✅ | ❌ | -| 26.3-snapshot | ✅ | ❌ | ❌ | +| 26.3 | ✅ | ❌ | ❌ | ### Changes -- Port to 26.3 snapshot 4 +- Port to 26.3 diff --git a/gradle.properties b/gradle.properties index d40fbd5e..ff269977 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ pub.curseforgeSlug=yacl pub.curseforgeId=667299 githubProject=isXander/YetAnotherConfigLib -deps.fabricLoader=0.19.3 +deps.fabricLoader=0.19.5 deps.imageio=3.12.0 deps.quiltParsers=0.2.1 deps.fabricLangKotlin=1.12.3+kotlin.2.0.21 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a..7e7d24f6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index fcefae7a..5d13ff95 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,7 +9,7 @@ pluginManagement { } plugins { - id("dev.kikugie.stonecutter") version "0.8.2" + id("dev.kikugie.stonecutter") version "0.9.8" } stonecutter { diff --git a/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringControllerElement.java b/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringControllerElement.java index 01ce0eeb..339ba99f 100644 --- a/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringControllerElement.java +++ b/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringControllerElement.java @@ -9,6 +9,7 @@ import dev.isxander.yacl3.gui.utils.KeyUtils; import dev.isxander.yacl3.gui.utils.UndoRedoHelper; import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.input.CharacterEvent; import net.minecraft.client.input.KeyEvent; @@ -113,6 +114,7 @@ private boolean isHoveredInputField(double mouseX, double mouseY) { public boolean mouseClicked(@NonNull MouseButtonEvent event, boolean doubleClick) { if (isAvailable() && getDimension().isPointInside((int) event.x(), (int) event.y())) { inputFieldFocused = true; + updateTextInputFocus(true); if (!isHoveredInputField(event.x(), event.y())) { caretPos = getDefaultCaretPos(); @@ -432,6 +434,7 @@ protected int findSpaceIndex(boolean reverse) { public void setFocused(boolean focused) { super.setFocused(focused); inputFieldFocused = focused; + updateTextInputFocus(focused); } @Override @@ -440,6 +443,13 @@ public void unfocus() { inputFieldFocused = false; renderOffset = 0; if (!instantApply) updateControl(); + updateTextInputFocus(false); + } + + private void updateTextInputFocus(boolean focused) { + //? if >=26.3 { + Minecraft.getInstance().onTextInputFocusChange(this, focused); + //?} } @Override diff --git a/src/main/java/dev/isxander/yacl3/gui/render/BaseRenderState.java b/src/main/java/dev/isxander/yacl3/gui/render/BaseRenderState.java index 5afdfe7a..e031ce55 100644 --- a/src/main/java/dev/isxander/yacl3/gui/render/BaseRenderState.java +++ b/src/main/java/dev/isxander/yacl3/gui/render/BaseRenderState.java @@ -1,10 +1,10 @@ package dev.isxander.yacl3.gui.render; //? if >=26.3 { -/*import com.mojang.renderpearl.api.pipeline.RenderPipeline; -*///?} else { -import com.mojang.blaze3d.pipeline.RenderPipeline; -//?} +import com.mojang.renderpearl.api.pipeline.RenderPipeline; +//?} else { +/*import com.mojang.blaze3d.pipeline.RenderPipeline; +*///?} import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.navigation.ScreenRectangle; diff --git a/src/main/java/dev/isxander/yacl3/gui/render/YACLGuiElementRenderState.java b/src/main/java/dev/isxander/yacl3/gui/render/YACLGuiElementRenderState.java index be6193b2..31c7451e 100644 --- a/src/main/java/dev/isxander/yacl3/gui/render/YACLGuiElementRenderState.java +++ b/src/main/java/dev/isxander/yacl3/gui/render/YACLGuiElementRenderState.java @@ -1,10 +1,10 @@ package dev.isxander.yacl3.gui.render; //? if >=26.3 { -/*import com.mojang.renderpearl.api.pipeline.RenderPipeline; -*///?} else { -import com.mojang.blaze3d.pipeline.RenderPipeline; - //?} +import com.mojang.renderpearl.api.pipeline.RenderPipeline; +//?} else { +/*import com.mojang.blaze3d.pipeline.RenderPipeline; + *///?} import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.navigation.ScreenRectangle; diff --git a/src/main/java/dev/isxander/yacl3/gui/utils/KeyUtils.java b/src/main/java/dev/isxander/yacl3/gui/utils/KeyUtils.java index 52b3973b..8c80d8a1 100644 --- a/src/main/java/dev/isxander/yacl3/gui/utils/KeyUtils.java +++ b/src/main/java/dev/isxander/yacl3/gui/utils/KeyUtils.java @@ -17,10 +17,10 @@ public static boolean hasControlDown() { public static boolean isKeyDown(int key) { //? if >=26.3 { - /*return InputConstants.isKeyDown(key); - *///?} else { - return InputConstants.isKeyDown(Minecraft.getInstance().getWindow(), key); - //?} + return InputConstants.isKeyDown(key); + //?} else { + /*return InputConstants.isKeyDown(Minecraft.getInstance().getWindow(), key); + *///?} } private KeyUtils() { diff --git a/stonecutter.gradle.kts b/stonecutter.gradle.kts index b5f868cf..b76ba669 100644 --- a/stonecutter.gradle.kts +++ b/stonecutter.gradle.kts @@ -5,7 +5,7 @@ plugins { val modstitchVersion = "0.8.4" id("dev.isxander.modstitch.base") version modstitchVersion apply false - id("net.fabricmc.fabric-loom") version "1.15-SNAPSHOT" apply false + id("net.fabricmc.fabric-loom") version "1.17-SNAPSHOT" apply false id("me.modmuss50.mod-publish-plugin") version "0.8.4" apply false id("org.ajoberstar.grgit") version "5.0.+" apply false diff --git a/versions/26.3-fabric/gradle.properties b/versions/26.3-fabric/gradle.properties index 298be559..6a86ba9f 100644 --- a/versions/26.3-fabric/gradle.properties +++ b/versions/26.3-fabric/gradle.properties @@ -1,10 +1,10 @@ modstitch.platform=fabric-loom -mcVersion=26.3-snapshot-4 +mcVersion=26.3 deps.fabricApi=0.155.2+26.3 -meta.mcDep=~26.3- +meta.mcDep=~26.3 -pub.modrinthMC=26.3-snapshot-4 -pub.curseMC=26.3-snapshot +pub.modrinthMC=26.3 +pub.curseMC=26.3 diff --git a/versions/current b/versions/current index 0aa801d1..9488c1f7 100644 --- a/versions/current +++ b/versions/current @@ -1 +1 @@ -26.2-fabric \ No newline at end of file +26.3-fabric \ No newline at end of file From b368704792b81b20040581cfab9643a124bbfedd Mon Sep 17 00:00:00 2001 From: Simon Felix Conrad Date: Sun, 20 Sep 2026 14:27:35 +0200 Subject: [PATCH 2/2] Add NeoForge 26.3 support --- build.gradle.kts | 10 ++++++++++ changelog.md | 2 +- settings.gradle.kts | 2 +- versions/26.3-neoforge/gradle.properties | 12 ++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 versions/26.3-neoforge/gradle.properties diff --git a/build.gradle.kts b/build.gradle.kts index d7cc515d..1ea18aff 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -161,6 +161,16 @@ repositories { } } +// MDG 2.0.137 (via Modstitch 0.8.4) defaults to NFRT 2.0.18, which cannot build 26.3 see [neoforged/NeoForge#3490](https://github.com/neoforged/NeoForge/issues/3490) +// Remove once Modstitch updates to MDG 2.0.138 or later, which defaults to NFRT 2.0.31 +configurations.all { + resolutionStrategy.eachDependency { + if (requested.group == "net.neoforged" && requested.name == "neoform-runtime") { + useVersion("2.0.31") + } + } +} + dependencies { fun Dependency?.jij() = this?.also(::modstitchJiJ) diff --git a/changelog.md b/changelog.md index 09700080..204155c6 100644 --- a/changelog.md +++ b/changelog.md @@ -6,7 +6,7 @@ |---------------|--------|----------|-------| | 26.1 | ✅ | ✅ | ❌ | | 26.2 | ✅ | ✅ | ❌ | -| 26.3 | ✅ | ❌ | ❌ | +| 26.3 | ✅ | ✅ | ❌ | ### Changes diff --git a/settings.gradle.kts b/settings.gradle.kts index 5d13ff95..8d5fe132 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -25,7 +25,7 @@ stonecutter { mc("26.1", loaders = listOf("fabric", "neoforge")) mc("26.2", loaders = listOf("fabric", "neoforge")) - mc("26.3", loaders = listOf("fabric")) + mc("26.3", loaders = listOf("fabric", "neoforge")) } } rootProject.name = "YetAnotherConfigLib" diff --git a/versions/26.3-neoforge/gradle.properties b/versions/26.3-neoforge/gradle.properties new file mode 100644 index 00000000..fabf7dae --- /dev/null +++ b/versions/26.3-neoforge/gradle.properties @@ -0,0 +1,12 @@ +modstitch.platform=moddevgradle + +mcVersion=26.3 + +deps.neoforge=26.3.0.7-beta +deps.kotlinForForge=6.0.0 + +meta.mcDep=[26.3,26.4) +meta.loaderDep=[26.3,26.4) + +pub.modrinthMC=26.3 +pub.curseMC=26.3