From 1d52a5e3de515c22734e47419752f2f9a73bd2e3 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Sun, 23 Nov 2025 14:30:28 +0100 Subject: [PATCH] release: Puzzle v2.2.0 --- CHANGELOG.md | 6 +++ build.gradle.kts | 52 ++++++++++++++----- gradle.properties | 2 +- .../resources/META-INF/neoforge.mods.toml | 2 +- src/main/resources/fabric.mod.json | 6 ++- versions/1.20.1-fabric/gradle.properties | 4 +- versions/1.21.5-fabric/gradle.properties | 6 +-- versions/1.21.5-neoforge/gradle.properties | 6 +-- versions/1.21.8-fabric/gradle.properties | 6 +-- versions/1.21.8-neoforge/gradle.properties | 8 +-- 10 files changed, 66 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29..11b311b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ +# Puzzle v2.2.0 +- Setup a **multiversion** build environment + - Puzzle will now always be up-to-date on all relevant versions of Minecraft + (Fabric/Forge 1.20.1; Fabric/NeoForge 1.21.1, 1.21.5, 1.21.8, 1.21.10) +- Migrate to Mojang mappings in preparation for upcoming non-obfuscated releases +- Updated Entity Model/Texture Features compatibility \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index f6ac2aa..21151de 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("architectury-plugin") id("me.modmuss50.mod-publish-plugin") id("com.github.johnrengelman.shadow") + `maven-publish` } val minecraft = stonecutter.current.version @@ -22,7 +23,7 @@ repositories { maven("https://maven.nucleoid.xyz/") // MidnightLib - maven("https://maven.midnightdust.eu/snapshots/") + maven("https://maven.midnightdust.eu/releases/") // Jigsaw modules maven("https://api.modrinth.com/maven") @@ -123,21 +124,24 @@ publishMods { file = project.tasks.remapJar.get().archiveFile dryRun = modrinthToken == null || curseforgeToken == null - displayName = "${mod.name} ${loader.replaceFirstChar { it.uppercase() }} ${property("mod.mc_title")}-${mod.version}" - version = mod.version + displayName = "${mod.name} ${mod.version} - ${loader.replaceFirstChar { it.uppercase() }} ${property("mod.mc_title")}" + version = "${mod.version}+${property("mod.mc_title")}-${loader}" changelog = rootProject.file("CHANGELOG.md").readText() - type = BETA + type = STABLE modLoaders.add(loader) + if (loader == "fabric") { + modLoaders.add("quilt") + } val targets = property("mod.mc_targets").toString().split(' ') modrinth { projectId = property("publish.modrinth").toString() accessToken = modrinthToken targets.forEach(minecraftVersions::add) + requires("midnightlib") if (loader == "fabric") { requires("fabric-api") - optional("modmenu") } } @@ -145,21 +149,41 @@ publishMods { projectId = property("publish.curseforge").toString() accessToken = curseforgeToken.toString() targets.forEach(minecraftVersions::add) + requires("midnightlib") if (loader == "fabric") { requires("fabric-api") - optional("modmenu") } } - github { - accessToken = githubToken - repository = "TeamMidnightDust/MidnightLib" - commitish = "multiversion" // This is the branch the release tag will be created from +// github { +// accessToken = githubToken +// repository = "TeamMidnightDust/MidnightLib" +// commitish = "multiversion" // This is the branch the release tag will be created from +// +// tagName = "v" + properties["mod.version"] +// +// // Allow the release to be initially created without any files. +// allowEmptyFiles = true +// } +} +publishing { + repositories { + maven { + name = "MidnightDust" + url = uri("https://maven.midnightdust.eu/releases") + credentials(PasswordCredentials::class) + } + } + publications { + create("mavenJava") { + pom { + groupId = "eu.midnightdust" + artifactId = project.mod.id + version = "${project.version}-${loader}" - tagName = "v" + properties["mod.version"] - - // Allow the release to be initially created without any files. - allowEmptyFiles = true + from(components["java"]) + } + } } } diff --git a/gradle.properties b/gradle.properties index 1e9041d..5923a1f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,7 +31,7 @@ deps.neoforge_patch=[VERSIONED] # Mod dependencies deps.yarn_build=[VERSIONED] deps.modmenu_version=[VERSIONED] -deps.midnightlib_version=1.9.0-beta.3 +deps.midnightlib_version=1.9.0 # Mod integrations jigsaws.cull_leaves_version = 3.0.2-fabric diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index eb324ad..c2088d8 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -32,6 +32,6 @@ side = "CLIENT" [[dependencies.puzzle]] modId = "minecraft" mandatory = true -versionRange = "[1.21,)" +versionRange = "${minecraft}" ordering = "NONE" side = "CLIENT" \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ff5a82f..69110ff 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -37,6 +37,10 @@ "depends": { "fabric": "*", - "minecraft": ">=1.20" + "minecraft": "${minecraft}" + }, + "breaks": { + "entity_texture_features": "<7.0.0", + "entity_model_features": "<3.0.0" } } diff --git a/versions/1.20.1-fabric/gradle.properties b/versions/1.20.1-fabric/gradle.properties index 325f439..4ce97ba 100644 --- a/versions/1.20.1-fabric/gradle.properties +++ b/versions/1.20.1-fabric/gradle.properties @@ -1,7 +1,7 @@ -mod.mc_dep_fabric==1.20.1 +mod.mc_dep_fabric=>=1.20 <=1.20.1 mod.mc_dep_forgelike=[1.20, 1.20.1] mod.mc_title=1.20.1 -mod.mc_targets=1.20.1 +mod.mc_targets=1.20 1.20.1 deps.forge_loader=47.3.0 deps.neoforge_loader=[UNSUPPORTED] diff --git a/versions/1.21.5-fabric/gradle.properties b/versions/1.21.5-fabric/gradle.properties index 740f55e..88ca467 100644 --- a/versions/1.21.5-fabric/gradle.properties +++ b/versions/1.21.5-fabric/gradle.properties @@ -1,7 +1,7 @@ -mod.mc_dep_fabric==1.21.5 -mod.mc_dep_forgelike=[1.21.5] +mod.mc_dep_fabric=>=1.21.4 <=1.21.5 +mod.mc_dep_forgelike=[1.21.4, 1.21.5] mod.mc_title=1.21.5 -mod.mc_targets=1.21.5 +mod.mc_targets=1.21.4 1.21.5 deps.forge_loader=54.0.13 deps.neoforge_loader=21.4.47-beta diff --git a/versions/1.21.5-neoforge/gradle.properties b/versions/1.21.5-neoforge/gradle.properties index 69ae822..d15273d 100644 --- a/versions/1.21.5-neoforge/gradle.properties +++ b/versions/1.21.5-neoforge/gradle.properties @@ -1,7 +1,7 @@ -mod.mc_dep_fabric==1.21.5 -mod.mc_dep_forgelike=[1.21.5] +mod.mc_dep_fabric=>=1.21.4 <=1.21.5 +mod.mc_dep_forgelike=[1.21.4, 1.21.5] mod.mc_title=1.21.5 -mod.mc_targets=1.21.5 +mod.mc_targets=1.21.4 1.21.5 deps.forge_loader=0 deps.neoforge_loader=21.5.54-beta diff --git a/versions/1.21.8-fabric/gradle.properties b/versions/1.21.8-fabric/gradle.properties index 74f78ca..7657c10 100644 --- a/versions/1.21.8-fabric/gradle.properties +++ b/versions/1.21.8-fabric/gradle.properties @@ -1,7 +1,7 @@ -mod.mc_dep_fabric==1.21.8 -mod.mc_dep_forgelike=[1.21.8] +mod.mc_dep_fabric=>=1.21.6 <=1.21.8 +mod.mc_dep_forgelike=[1.21.6, 1.21.8] mod.mc_title=1.21.8 -mod.mc_targets=1.21.8 +mod.mc_targets=1.21.6 1.21.7 1.21.8 deps.forge_loader=0 deps.neoforge_loader=21.8.50 diff --git a/versions/1.21.8-neoforge/gradle.properties b/versions/1.21.8-neoforge/gradle.properties index bf48db2..e46df2e 100644 --- a/versions/1.21.8-neoforge/gradle.properties +++ b/versions/1.21.8-neoforge/gradle.properties @@ -1,7 +1,7 @@ -mod.mc_dep_fabric==1.21.5 -mod.mc_dep_forgelike=[1.21.5] -mod.mc_title=1.21.5 -mod.mc_targets=1.21.5 +mod.mc_dep_fabric=>=1.21.6 <=1.21.8 +mod.mc_dep_forgelike=[1.21.6, 1.21.8] +mod.mc_title=1.21.8 +mod.mc_targets=1.21.6 1.21.7 1.21.8 deps.forge_loader=0 deps.neoforge_loader=21.8.50