From dc286683a5998f78b58d3e6da3e70cb47d460946 Mon Sep 17 00:00:00 2001 From: Username404-59 Date: Sun, 2 Feb 2025 18:26:19 +0100 Subject: [PATCH] Switch to architectury-loom 1.7, fix the port to 1.21 Signed-off-by: Username404-59 --- build.gradle.kts | 13 +++++++++---- common/build.gradle.kts | 2 +- .../username404/snowygui/gui/elements/ClickBox.kt | 3 +++ .../fr/username404/snowygui/utils/RenderingUtil.kt | 12 +++++++----- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- {forge => neoforge}/build.gradle.kts | 7 ++++--- {forge => neoforge}/gradle.properties | 0 .../fr/username404/snowygui/forge/ForgeInit.kt | 0 .../fr/username404/snowygui/forge/HudHandler.kt | 0 .../fr/username404/snowygui/forge/ZoomHandler.kt | 0 .../src/main/resources/META-INF/neoforge.mods.toml | 8 +++++++- {forge => neoforge}/src/main/resources/pack.mcmeta | 0 .../main/resources/snowygui-neoforge.mixins.json | 0 settings.gradle.kts | 2 +- 15 files changed, 34 insertions(+), 17 deletions(-) rename {forge => neoforge}/build.gradle.kts (83%) rename {forge => neoforge}/gradle.properties (100%) rename {forge => neoforge}/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt (100%) rename {forge => neoforge}/src/main/kotlin/fr/username404/snowygui/forge/HudHandler.kt (100%) rename {forge => neoforge}/src/main/kotlin/fr/username404/snowygui/forge/ZoomHandler.kt (100%) rename forge/src/main/resources/META-INF/mods.toml => neoforge/src/main/resources/META-INF/neoforge.mods.toml (86%) rename {forge => neoforge}/src/main/resources/pack.mcmeta (100%) rename forge/src/main/resources/snowygui-forge.mixins.json => neoforge/src/main/resources/snowygui-neoforge.mixins.json (100%) diff --git a/build.gradle.kts b/build.gradle.kts index ec52317..0192032 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,7 @@ plugins { kotlin("plugin.serialization") version "2.0.0" id("com.github.johnrengelman.shadow") version "8.1.1" apply false id("architectury-plugin") version "[3.4.160, 3.5[" - id("dev.architectury.loom") version "1.9-SNAPSHOT" apply false + id("dev.architectury.loom") version "1.7-SNAPSHOT" apply false id("com.github.ben-manes.versions") version "0.51.0" id("net.kyori.indra.git") version "3.1.3" id("org.cqfn.diktat.diktat-gradle-plugin") version "1.2.5" @@ -55,6 +55,10 @@ subprojects { officialMojangMappings().parchment("org.parchmentmc.data:parchment-1.21:2024.06.23") } val refmap = "snowygui-${project.name}-refmap.json" + mixin { + useLegacyMixinAp = true + defaultRefmapName = refmap + } } apply(plugin = "com.github.johnrengelman.shadow") val shadowC by configurations.creating @@ -200,8 +204,9 @@ allprojects { "-opt-in=kotlin.RequiresOptIn", "-Xextended-compiler-checks", "-Xassertions=jvm", "-progressive" ) jvmTarget = javaVer - languageVersion = (kotlinSplitVersion[0] + '.' + (kotlinSplitVersion[1].toShort() + 1).toString()) - apiVersion = "${kotlinSplitVersion[0]}.${kotlinSplitVersion[1]}" + // Uncomment when updating to architectury-loom 1.9 + //languageVersion = (kotlinSplitVersion[0] + '.' + (kotlinSplitVersion[1].toShort() + 1).toString()) + //apiVersion = "${kotlinSplitVersion[0]}.${kotlinSplitVersion[1]}" } } withType(JavaCompile::class) { @@ -228,7 +233,7 @@ allprojects { "kotlinforforge" to rootProject.property("kotlinforforge"), "clothconfig" to rootProject.property("clothconfig_version"), "fabric_loader" to rootProject.property("fabric_loader_version"), - "forge_version" to rootProject.property("forge_version").toString().run { substring(0, this.lastIndexOf('.') + 1) } + "forge_version" to rootProject.property("forge_version") ) inputs.properties(modProperties) filesNotMatching(listOf("*.png")) { diff --git a/common/build.gradle.kts b/common/build.gradle.kts index a921d0e..a37b0df 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,4 +1,4 @@ -architectury { common("fabric", "forge"); injectInjectables = false } +architectury { common("fabric", "neoforge"); injectInjectables = false } dependencies { modImplementation("net.fabricmc:fabric-loader:${rootProject.property("fabric_loader_version")}") modImplementation("me.shedaniel.cloth:cloth-config:${rootProject.property("clothconfig_version")}") { diff --git a/common/src/main/kotlin/fr/username404/snowygui/gui/elements/ClickBox.kt b/common/src/main/kotlin/fr/username404/snowygui/gui/elements/ClickBox.kt index a7eff90..f80f7eb 100644 --- a/common/src/main/kotlin/fr/username404/snowygui/gui/elements/ClickBox.kt +++ b/common/src/main/kotlin/fr/username404/snowygui/gui/elements/ClickBox.kt @@ -1,5 +1,6 @@ package fr.username404.snowygui.gui.elements +import com.mojang.blaze3d.vertex.BufferUploader import com.mojang.blaze3d.vertex.DefaultVertexFormat import com.mojang.blaze3d.vertex.VertexFormat import fr.username404.snowygui.Snowy.Companion.MissingComponent @@ -92,11 +93,13 @@ class ClickBox( addVertex(x, currentHeight, 0.0F).colorEnd() addVertex(x + width + inclination, currentHeight, 0.0F).colorEnd() addVertex(x + width + inclination, y + height, 0.0F).colorEnd() + BufferUploader.drawWithShader(buildOrThrow()) colorShader() with(tessellator.begin(VertexFormat.Mode.DEBUG_LINES, DefaultVertexFormat.POSITION_COLOR)) { addVertex(x + inclination, y + height, 0.0F).colorEnd(Colors.WHITE_LINES.hexValue) addVertex(x + width, y + height, 0.0F).colorEnd(Colors.WHITE_LINES.hexValue) + BufferUploader.drawWithShader(buildOrThrow()) } } endDraw() diff --git a/common/src/main/kotlin/fr/username404/snowygui/utils/RenderingUtil.kt b/common/src/main/kotlin/fr/username404/snowygui/utils/RenderingUtil.kt index e617263..29d833a 100644 --- a/common/src/main/kotlin/fr/username404/snowygui/utils/RenderingUtil.kt +++ b/common/src/main/kotlin/fr/username404/snowygui/utils/RenderingUtil.kt @@ -1,6 +1,7 @@ package fr.username404.snowygui.utils import com.mojang.blaze3d.systems.RenderSystem +import com.mojang.blaze3d.vertex.BufferUploader import com.mojang.blaze3d.vertex.DefaultVertexFormat import com.mojang.blaze3d.vertex.Tesselator import com.mojang.blaze3d.vertex.VertexConsumer @@ -31,11 +32,12 @@ object RenderingUtil { x: Double, y: Double, height: Int, width: Int, color: Int = Colors.TRANSPARENT(), opacity: Float = 1F ): Unit = tessellator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR).run { - fun VertexConsumer.colorEnd() = colorIt(color, opacity) + fun VertexConsumer.colorIt() = colorIt(color, opacity) val x = x.toFloat() ; val y = y.toFloat() - addVertex(x, y + height, 0.0F).colorEnd() - addVertex(x + width, y + height, 0.0F).colorEnd() - addVertex(x + width, y, 0.0F).colorEnd() - addVertex(x, y, 0.0F).colorEnd() + addVertex(x, y + height, 0.0F).colorIt() + addVertex(x + width, y + height, 0.0F).colorIt() + addVertex(x + width, y, 0.0F).colorIt() + addVertex(x, y, 0.0F).colorIt() + BufferUploader.drawWithShader(buildOrThrow()) } } diff --git a/gradle.properties b/gradle.properties index 26310fc..74f5831 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.unsafe.configuration-cache=on org.gradle.vfs.watch=true minecraft=1.21 -forge_version=21.0.0-beta +forge_version=21.0.143 kotlinforforge=5.4.0 kotlinVer=2.0.0 kotlin_coroutines_version=1.7.1 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3a01d6e..1e2fbf0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-milestone-3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/forge/build.gradle.kts b/neoforge/build.gradle.kts similarity index 83% rename from forge/build.gradle.kts rename to neoforge/build.gradle.kts index c04e93e..440a3a0 100644 --- a/forge/build.gradle.kts +++ b/neoforge/build.gradle.kts @@ -1,4 +1,4 @@ -architectury { platformSetupLoomIde(); forge() } +architectury { platformSetupLoomIde(); neoForge() } repositories { maven(url = "https://maven.neoforged.net/releases/") maven(url = "https://thedarkcolour.github.io/KotlinForForge/") @@ -12,8 +12,9 @@ dependencies { implementation("thedarkcolour:kotlinforforge:${rootProject.property("kotlinforforge")}") modApi("me.shedaniel.cloth:cloth-config-neoforge:${rootProject.property("clothconfig_version")}") implementation(project(path = ":common", configuration = "namedElements")) { isTransitive = false } - add("developmentForge", project(path = ":common")) { isTransitive = false } - shadowC(project(path = ":common", configuration = "transformProductionForge")) { isTransitive = false } + + add("developmentNeoForge", project(path = ":common")) { isTransitive = false } + shadowC(project(path = ":common", configuration = "transformProductionNeoForge")) { isTransitive = false } }; loom { runs { val args: MutableList = mutableListOf("-Dfml.earlyprogresswindow=false") diff --git a/forge/gradle.properties b/neoforge/gradle.properties similarity index 100% rename from forge/gradle.properties rename to neoforge/gradle.properties diff --git a/forge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt b/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt similarity index 100% rename from forge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt rename to neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt diff --git a/forge/src/main/kotlin/fr/username404/snowygui/forge/HudHandler.kt b/neoforge/src/main/kotlin/fr/username404/snowygui/forge/HudHandler.kt similarity index 100% rename from forge/src/main/kotlin/fr/username404/snowygui/forge/HudHandler.kt rename to neoforge/src/main/kotlin/fr/username404/snowygui/forge/HudHandler.kt diff --git a/forge/src/main/kotlin/fr/username404/snowygui/forge/ZoomHandler.kt b/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ZoomHandler.kt similarity index 100% rename from forge/src/main/kotlin/fr/username404/snowygui/forge/ZoomHandler.kt rename to neoforge/src/main/kotlin/fr/username404/snowygui/forge/ZoomHandler.kt diff --git a/forge/src/main/resources/META-INF/mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml similarity index 86% rename from forge/src/main/resources/META-INF/mods.toml rename to neoforge/src/main/resources/META-INF/neoforge.mods.toml index 56f1d8b..6bfbf8b 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -32,4 +32,10 @@ modId = "minecraft" mandatory = true versionRange = "[${minecraft_version},)" ordering = "NONE" -side = "BOTH" \ No newline at end of file +side = "BOTH" + +[[mixins]] +config = "snowygui-common.mixins.json" + +[[mixins]] +config = "snowygui-neoforge.mixins.json" \ No newline at end of file diff --git a/forge/src/main/resources/pack.mcmeta b/neoforge/src/main/resources/pack.mcmeta similarity index 100% rename from forge/src/main/resources/pack.mcmeta rename to neoforge/src/main/resources/pack.mcmeta diff --git a/forge/src/main/resources/snowygui-forge.mixins.json b/neoforge/src/main/resources/snowygui-neoforge.mixins.json similarity index 100% rename from forge/src/main/resources/snowygui-forge.mixins.json rename to neoforge/src/main/resources/snowygui-neoforge.mixins.json diff --git a/settings.gradle.kts b/settings.gradle.kts index a58ad21..9e703d2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,7 +11,7 @@ pluginManagement { include("common") include("fabric") -include("forge") +include("neoforge") rootProject.name = "SnowyGUI"