From 3e4a3b479bcf5e5dd7103397428c2730090a4fbf Mon Sep 17 00:00:00 2001 From: Riflusso Date: Mon, 20 Oct 2025 17:18:33 +0400 Subject: [PATCH 1/3] feat: Update 1.21.10 --- .github/workflows/build.yml | 5 +++ .github/workflows/publish.yml | 5 +++ build.gradle.kts | 1 + gradle.properties | 2 +- settings.gradle.kts | 3 +- .../mixins/PackRepositoryMixin.java | 2 +- .../mixins/ResourcePackEntryMixin.java | 27 +++++++++--- .../calculatorsteam/dynamicpack/Constants.kt | 8 ++-- .../dynamicpack/client/config/NoYACLScreen.kt | 13 +++++- .../dynamicpack/client/gui/ContentsList.kt | 42 ++++++++++++++++--- stonecutter.gradle.kts | 4 +- versions/1.21.10-fabric/gradle.properties | 12 ++++++ versions/1.21.10-neoforge/gradle.properties | 12 ++++++ 13 files changed, 114 insertions(+), 22 deletions(-) create mode 100644 versions/1.21.10-fabric/gradle.properties create mode 100644 versions/1.21.10-neoforge/gradle.properties diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1717315..4e0e8b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,6 +38,11 @@ jobs: with: java-version: 21 distribution: temurin + - name: Set up Java 25 + uses: actions/setup-java@v4 + with: + java-version: 25 + distribution: temurin - uses: actions/cache@v3 with: path: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e17c074..dfdcf42 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,6 +24,11 @@ jobs: with: java-version: 21 distribution: temurin + - name: Set up Java 25 + uses: actions/setup-java@v4 + with: + java-version: 25 + distribution: temurin - uses: actions/cache@v3 with: path: | diff --git a/build.gradle.kts b/build.gradle.kts index 1b407ec..e64be78 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -71,6 +71,7 @@ modstitch { "1.21.4" -> 61 "1.21.5" -> 71 "1.21.8" -> 81 + "1.21.10" -> 88 else -> throw IllegalArgumentException("Please store the resource pack version for $mcVersion in build.gradle.kts! https://minecraft.wiki/w/Pack_format") }.toString() ) diff --git a/gradle.properties b/gradle.properties index e8eac9f..932dbc3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ curseforgeSlug=dynamicpack curseforgeId=1356312 githubProject=CalculatorsTeam/DynamicPack -deps.fabricLoader=0.17.2 +deps.fabricLoader=0.17.3 deps.fabricLangKotlin=1.13.6+kotlin.2.2.20 org.gradle.jvmargs=-Xmx4G diff --git a/settings.gradle.kts b/settings.gradle.kts index 288a065..6d3647b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,7 +13,7 @@ pluginManagement { } plugins { - id("dev.kikugie.stonecutter") version "0.7.10" + id("dev.kikugie.stonecutter") version "0.7.+" } stonecutter { @@ -30,6 +30,7 @@ stonecutter { mc("1.21.4", loaders = listOf("fabric", "neoforge")) mc("1.21.5", loaders = listOf("fabric", "neoforge")) mc("1.21.8", loaders = listOf("fabric", "neoforge")) + mc("1.21.10", loaders = listOf("fabric", "neoforge")) } } rootProject.name = "DynamicPack" \ No newline at end of file diff --git a/src/main/java/com/calculatorsteam/dynamicpack/mixins/PackRepositoryMixin.java b/src/main/java/com/calculatorsteam/dynamicpack/mixins/PackRepositoryMixin.java index 957b5c2..ff3b41d 100644 --- a/src/main/java/com/calculatorsteam/dynamicpack/mixins/PackRepositoryMixin.java +++ b/src/main/java/com/calculatorsteam/dynamicpack/mixins/PackRepositoryMixin.java @@ -43,7 +43,7 @@ public class PackRepositoryMixin { VersionFunctions.applyModelViewMatrix(); VersionFunctions.clearColor(0.074f + (((float)syncing.getPercentage() / 100f)), 0.04f, (float) (0.24f + (Math.sin(System.currentTimeMillis() / 300f) / 2)), 1f); VersionFunctions.clear(16640); - GLFW.glfwSwapBuffers(client.getWindow().getWindow()); + GLFW.glfwSwapBuffers(client.getWindow()/*? if >=1.21.9 {*/.handle()/*?} else {*//*.getWindow()*//*?}*/); } catch (Exception e) { Out.error("Error while manipulations with OpenGL", e); diff --git a/src/main/java/com/calculatorsteam/dynamicpack/mixins/ResourcePackEntryMixin.java b/src/main/java/com/calculatorsteam/dynamicpack/mixins/ResourcePackEntryMixin.java index 8cde469..03251ff 100644 --- a/src/main/java/com/calculatorsteam/dynamicpack/mixins/ResourcePackEntryMixin.java +++ b/src/main/java/com/calculatorsteam/dynamicpack/mixins/ResourcePackEntryMixin.java @@ -17,7 +17,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(TransferableSelectionList.PackEntry.class) -public abstract class ResourcePackEntryMixin { +public abstract class ResourcePackEntryMixin/*? if >=1.21.9 {*/ extends net.minecraft.client.gui.components.ObjectSelectionList.Entry/*?}*/ { @Shadow protected abstract boolean showHoverOverlay(); @@ -41,9 +41,15 @@ public abstract class ResourcePackEntryMixin { private static final ResourcePackEntryWidget DYNAMIC_WIDGET = new DynamicPackResourcePackEntryWidget(); @Inject(at = @At("TAIL"), - method = "render(Lnet/minecraft/client/gui/GuiGraphics;IIIIIIIZF)V") - private void render(GuiGraphics context, int index, int y, int x, int entryWidth, int entryHeight, - int mouseX, int mouseY, boolean hovered, float tickDelta, CallbackInfo info) { + /*? if >=1.21.9 {*/ + method = "renderContent" + /*?} else {*/ + /*method = "render(Lnet/minecraft/client/gui/GuiGraphics;IIIIIIIZF)V" + *//*?}*/ + ) + private void render(GuiGraphics context, /*? if <1.21.9 {*//*int index, int y, int x, int entryWidth, int entryHeight,*//*?}*/ int mouseX, int mouseY, boolean hovered, float tickDelta, CallbackInfo info) { + //? if >=1.21.9 + final int x = this.getX(), y = this.getY() + 2, entryWidth = this.getWidth(), entryHeight = this.getHeight(); int prevMargin = 0; /*? if >=1.21 {*/ int deltaX = 3 + (VersionFunctions.maxScrollAmount(parent) > 0 ? 7 : 0); @@ -63,7 +69,11 @@ private void render(GuiGraphics context, int index, int y, int x, int entryWidth } else { ResourcePackEntryWidget widget = DYNAMIC_WIDGET; if (widget.isVisible(pack, selectable)) { - deltaX += Math.max(prevMargin, widget.getXMargin(pack)); + /*? if >=1.21.9 {*/ + deltaX = Math.max(prevMargin, widget.getXMargin(pack)); + /*?} else {*/ + /*deltaX += Math.max(prevMargin, widget.getXMargin(pack)); + *//*?}*/ int width = widget.getWidth(pack); int height = widget.getHeight(pack, entryHeight); int entryX = x + entryWidth - (deltaX + width) * (maxFoldTicks - dynamicpack$foldTicks) / maxFoldTicks; @@ -86,8 +96,13 @@ private void render(GuiGraphics context, int index, int y, int x, int entryWidth dynamicpack$foldTicks = Math.min(dynamicpack$foldTicks + 1, maxFoldTicks); } - @Inject(method = "mouseClicked(DDI)Z", at = @At("RETURN"), cancellable = true) + /*? if >=1.21.9 {*/ + @Inject(method = "mouseClicked", at = @At("RETURN"), cancellable = true) + private void dynamicpack$afterMouseClicked(net.minecraft.client.input.MouseButtonEvent event, boolean isDoubleClick, CallbackInfoReturnable cir) { + /*?} else {*/ + /*@Inject(method = "mouseClicked(DDI)Z", at = @At("RETURN"), cancellable = true) private void dynamicpack$afterMouseClicked(double mouseX, double mouseY, int button, CallbackInfoReturnable cir) { + *//*?}*/ if (dynamicpack$selected != -1) { cir.setReturnValue(false); DYNAMIC_WIDGET.onClick(pack); diff --git a/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt b/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt index 3d5fe84..dad0ded 100644 --- a/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt +++ b/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt @@ -15,9 +15,11 @@ object Constants { const val VERSION_BUILD: Long = 50 const val VERSION_NAME_MOD: String = "1.2" - /*? if >=1.21.6 {*/ - const val VERSION_NAME_BRANCH: String = "mc1.21.8" - /*?} else if >=1.21.5 {*/ + /*? if >=1.21.9 {*/ + const val VERSION_NAME_BRANCH: String = "mc1.21.10" + /*?} else if >=1.21.6 {*/ + /*const val VERSION_NAME_BRANCH: String = "mc1.21.8" + *//*?} else if >=1.21.5 {*/ /*const val VERSION_NAME_BRANCH: String = "mc1.21.5" *//*?} else if >=1.21.4 {*/ /*const val VERSION_NAME_BRANCH: String = "mc1.21.4" diff --git a/src/main/kotlin/com/calculatorsteam/dynamicpack/client/config/NoYACLScreen.kt b/src/main/kotlin/com/calculatorsteam/dynamicpack/client/config/NoYACLScreen.kt index fd21425..68230c3 100644 --- a/src/main/kotlin/com/calculatorsteam/dynamicpack/client/config/NoYACLScreen.kt +++ b/src/main/kotlin/com/calculatorsteam/dynamicpack/client/config/NoYACLScreen.kt @@ -69,12 +69,21 @@ open class NoYACLScreen(private val parent: Screen) : Screen(Component.translata /*super.render(context, mouseX, mouseY, delta)*/ } - override fun mouseClicked(mouseX: Double, mouseY: Double, button: Int): Boolean { + /*? if >=1.21.9 {*/ + override fun mouseClicked(click: net.minecraft.client.input.MouseButtonEvent, isDoubleClick: Boolean): Boolean { + if (super.mouseClicked(click, isDoubleClick)) { + /*?} else {*/ + /*override fun mouseClicked(mouseX: Double, mouseY: Double, button: Int): Boolean { if (super.mouseClicked(mouseX, mouseY, button)) { + *//*?}*/ return true } - val style = getStyle(mouseX.toInt(), mouseY.toInt()) ?: return false + /*? if >=1.21.9 {*/ + val style = getStyle(click.x.toInt(), click.y.toInt()) ?: return false + /*?} else {*/ + /*val style = getStyle(mouseX.toInt(), mouseY.toInt()) ?: return false + *//*?}*/ if (minecraft?.player == null) { val click = style.clickEvent ?: return false diff --git a/src/main/kotlin/com/calculatorsteam/dynamicpack/client/gui/ContentsList.kt b/src/main/kotlin/com/calculatorsteam/dynamicpack/client/gui/ContentsList.kt index af7b570..a3845a6 100644 --- a/src/main/kotlin/com/calculatorsteam/dynamicpack/client/gui/ContentsList.kt +++ b/src/main/kotlin/com/calculatorsteam/dynamicpack/client/gui/ContentsList.kt @@ -96,7 +96,16 @@ class ContentsList( return Component.translatable(key) } - override fun render( + /*? if >=1.21.9 {*/ + override fun renderContent( + context: GuiGraphics, + mouseX: Int, + mouseY: Int, + hovered: Boolean, + tickDelta: Float + ) + /*?} else {*/ + /*override fun render( context: GuiGraphics, index: Int, y: Int, @@ -107,11 +116,17 @@ class ContentsList( mouseY: Int, hovered: Boolean, tickDelta: Float - ) { + ) + *//*?}*/ + { val txt = content.name ?: content.id val text = Component.literal(txt) context.drawString(this@ContentsList.minecraft.font, text, x - 50, y + 10, -1, false) - stateButton.x = x + entryWidth - 140 + /*? if >=1.21.9 {*/ + stateButton.x = x + this.width - 138 + /*?} else {*/ + /*stateButton.x = x + entryWidth - 140 + *//*?}*/ stateButton.y = y stateButton.render(context, mouseX, mouseY, tickDelta) } @@ -147,7 +162,16 @@ class ContentsList( private fun currentState(): Component = Component.literal(baseEnum.getCurrentState(parent.baseContents)) - override fun render( + /*? if >=1.21.9 {*/ + override fun renderContent( + context: GuiGraphics, + mouseX: Int, + mouseY: Int, + hovered: Boolean, + tickDelta: Float + ) + /*?} else {*/ + /*override fun render( context: GuiGraphics, index: Int, y: Int, @@ -158,11 +182,17 @@ class ContentsList( mouseY: Int, hovered: Boolean, tickDelta: Float - ) { + ) + *//*?}*/ + { val txt = baseEnum.name ?: baseEnum.id val text = Component.literal(txt) context.drawString(this@ContentsList.minecraft.font, text, x - 50, y + 10, -1, false) - stateButton.x = x + entryWidth - 140 + /*? if >=1.21.9 {*/ + stateButton.x = x + this.width - 138 + /*?} else {*/ + /*stateButton.x = x + entryWidth - 140 + *//*?}*/ stateButton.y = y stateButton.render(context, mouseX, mouseY, tickDelta) } diff --git a/stonecutter.gradle.kts b/stonecutter.gradle.kts index 66c9ad1..f1115f9 100644 --- a/stonecutter.gradle.kts +++ b/stonecutter.gradle.kts @@ -4,12 +4,12 @@ plugins { id("dev.kikugie.stonecutter") - val modstitchVersion = "0.7.0-unstable" + val modstitchVersion = "0.7.1-unstable" id("dev.isxander.modstitch.base") version modstitchVersion apply false id("dev.isxander.modstitch.shadow") version modstitchVersion apply false id("dev.isxander.modstitch.publishing") version modstitchVersion apply false } -stonecutter active "1.21.8-fabric" +stonecutter active "1.21.10-fabric" allprojects { repositories { diff --git a/versions/1.21.10-fabric/gradle.properties b/versions/1.21.10-fabric/gradle.properties new file mode 100644 index 0000000..b3d5d52 --- /dev/null +++ b/versions/1.21.10-fabric/gradle.properties @@ -0,0 +1,12 @@ +modstitch.platform=loom + +mcVersion=1.21.10 +parchment.version=2025.10.12 + +deps.fabricApi=0.136.0+1.21.10 +deps.modmenu=16.0.0-rc.1 +deps.yacl=3.8.0+1.21.9-fabric + +meta.mcDep=~1.21.9 <1.21.11 + +pub.stableMC=1.21.9,1.21.10 \ No newline at end of file diff --git a/versions/1.21.10-neoforge/gradle.properties b/versions/1.21.10-neoforge/gradle.properties new file mode 100644 index 0000000..b98fbaa --- /dev/null +++ b/versions/1.21.10-neoforge/gradle.properties @@ -0,0 +1,12 @@ +modstitch.platform=moddevgradle + +mcVersion=1.21.10 +parchment.version=2025.10.12 + +deps.neoforge=21.10.20-beta +deps.kotlinForForge=6.0.0 +deps.yacl=3.8.0+1.21.9-neoforge + +meta.mcDep=[1.21.9,1.21.10] + +pub.stableMC=1.21.9,1.21.10 \ No newline at end of file From a91fc81307e2c28df0278cfadb94639fc71fa259 Mon Sep 17 00:00:00 2001 From: Riflusso Date: Mon, 20 Oct 2025 18:22:20 +0400 Subject: [PATCH 2/3] feat: Bump version version: 1.2.1-beta --- gradle.properties | 2 +- src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 932dbc3..cfe6b3e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ modDescription=Adds auto-update support for resource packs modLicense=MIT modAuthor=AdamCalculator, Riflusso modGroup=com.calculatorsteam -modVersion=1.2-b +modVersion=1.2.1-b modrinthId=IT6fZgjc curseforgeSlug=dynamicpack diff --git a/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt b/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt index dad0ded..b62ae61 100644 --- a/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt +++ b/src/main/kotlin/com/calculatorsteam/dynamicpack/Constants.kt @@ -13,8 +13,8 @@ object Constants { const val DEBUG_ALLOW_UNSECURE: Boolean = false @JvmField var DEBUG_LOGS: Boolean = false - const val VERSION_BUILD: Long = 50 - const val VERSION_NAME_MOD: String = "1.2" + const val VERSION_BUILD: Long = 51 + const val VERSION_NAME_MOD: String = "1.2.1" /*? if >=1.21.9 {*/ const val VERSION_NAME_BRANCH: String = "mc1.21.10" /*?} else if >=1.21.6 {*/ From 2a080e96dced4608330a34c7dbfde0c3c57b9cb3 Mon Sep 17 00:00:00 2001 From: Riflusso Date: Mon, 20 Oct 2025 18:54:50 +0400 Subject: [PATCH 3/3] doc: Update CHANGELOG.md --- CHANGELOG.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33864e9..3ef6e10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,4 @@ -## Beta 1.2 +## Beta 1.2.1 ### What’s New -- **Supports Minecraft 1.20.1 → 1.21.8** -- **Works on NeoForge and Fabric** (Forge coming later) -- **Rewritten in Kotlin** for smoother performance and fewer bugs -- **Built‑in widget system** for better stability without extra libraries \ No newline at end of file +- **Supports Minecraft 1.21.10** \ No newline at end of file