diff --git a/build.gradle.kts b/build.gradle.kts index e84c58db..1ea18aff 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -92,8 +92,6 @@ modstitch { runDir("../../run") } } - - mixin.useLegacyMixinAp = false } } @@ -163,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 e9d19894..204155c6 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..8d5fe132 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 { @@ -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/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/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 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