diff --git a/buildSrc/src/main/kotlin/org/polyfrost/gradle/addDependencies.kt b/buildSrc/src/main/kotlin/org/polyfrost/gradle/addDependencies.kt index fd61e4ecd..9cd3dfab6 100644 --- a/buildSrc/src/main/kotlin/org/polyfrost/gradle/addDependencies.kt +++ b/buildSrc/src/main/kotlin/org/polyfrost/gradle/addDependencies.kt @@ -14,7 +14,6 @@ private val legacyFabricApiModules = listOf( private val fabricApiModules = listOf( // command-api-v2 introduced in 1.19, transitive-access-wideners-v1 introduced in 1.18 "api-base", "lifecycle-events-v1", - "key-binding-api-v1", "rendering-v1", "screen-api-v1" ) @@ -43,6 +42,7 @@ private val fabricApiModuleVersions = mapOf( "api-base-12109" to "0.5.2+2fa446b294", // 1.21.9 "api-base-12110" to "1.0.0+14b92d8968", // 1.21.10 "api-base-12111" to "1.0.5+4ebb5c0853", // 1.21.11 + "api-base-260100" to "2.0.0+574290ba7d", // 26.1 "lifecycle-events-v1-common" to "1.1.0+2c3f108c81e6", // Common (Legacy Fabric API) "lifecycle-events-v1-10809" to "1.1.0+1.8.9+2c3f108c81e6", // 1.8.9 "lifecycle-events-v1-11202" to "1.1.0+1.12.2+2c3f108c81e6", // 1.12.2 @@ -65,6 +65,7 @@ private val fabricApiModuleVersions = mapOf( "lifecycle-events-v1-12109" to "2.6.8+33df5e6e94", // 1.21.9 "lifecycle-events-v1-12110" to "2.6.9+33df5e6e68", // 1.21.10 "lifecycle-events-v1-12111" to "2.6.15+4ebb5c0853", // 1.21.11 + "lifecycle-events-v1-260100" to "4.0.2+a208210e7d", // 26.1 "keybindings-api-v1-common" to "1.1.1+281301ea81e6", // Common (Legacy Fabric API) "keybindings-api-v1-10809" to "1.1.1+1.8.9+2c3f108c81e6", // 1.8.9 "keybindings-api-v1-11202" to "1.1.1+1.12.2+2c3f108c81e6", // 1.12.2 @@ -87,6 +88,7 @@ private val fabricApiModuleVersions = mapOf( "key-binding-api-v1-12109" to "1.1.0+4ec8267494", // 1.21.9 "key-binding-api-v1-12110" to "1.1.1+b3ba9c4868", // 1.21.10 "key-binding-api-v1-12111" to "1.1.7+4fc5413f53", // 1.21.11 + "key-mapping-api-v1-260100" to "2.0.0+574290ba7d", // 26.1 "rendering-api-v1-common" to "1.0.0+7c545fdb81e6", // Common (Legacy Fabric API) "rendering-api-v1-10809" to "1.0.0+1.8.9+2c3f108c81e6", // 1.8.9 "rendering-api-v1-11202" to "1.0.0+1.8.9+2c3f108c81e6", // 1.12.2 @@ -109,6 +111,7 @@ private val fabricApiModuleVersions = mapOf( "rendering-v1-12109" to "15.0.2+9bce411b94", // 1.21.9 "rendering-v1-12110" to "16.0.1+328a75ba68", // 1.21.10 "rendering-v1-12111" to "16.2.5+1fb1cde953", // 1.21.11 + "rendering-v1-260100" to "18.0.0+a9f246707d", // 26.1 "screen-api-v1-11605" to "1.0.1+3cc0f0907d", // 1.16.5 "screen-api-v1-11701" to "1.0.5+cf39a74318", // 1.17.1 "screen-api-v1-11802" to "1.0.11+d882b91560", // 1.18.2 @@ -128,6 +131,7 @@ private val fabricApiModuleVersions = mapOf( "screen-api-v1-12109" to "3.0.2+86b3ae5794", // 1.21.9 "screen-api-v1-12110" to "3.1.0+9c82a79868", // 1.21.10 "screen-api-v1-12111" to "3.1.7+4ebb5c0853", // 1.21.11 + "screen-api-v1-260100" to "4.0.0+574290ba7d", // 26.1 "command-api-v1-11605" to "1.1.3+3cc0f0907d", // 1.16.5 "command-api-v1-11701" to "1.1.4+cf39a74318", // 1.17.1 "command-api-v1-11802" to "1.1.10+d7c144a860", // 1.18.2 @@ -147,6 +151,7 @@ private val fabricApiModuleVersions = mapOf( "command-api-v2-12109" to "2.3.5+33df5e6e94", // 1.21.9 "command-api-v2-12110" to "2.3.7+328a75ba68", // 1.21.10 "command-api-v2-12111" to "2.4.6+4ebb5c0853", // 1.21.11 + "command-api-v2-260100" to "3.0.0+574290ba7d", // 26.1 "transitive-access-wideners-v1-11802" to "1.1.0+e747827960", // 1.18.2 "transitive-access-wideners-v1-11902" to "1.3.3+08b73de490", // 1.19.2 "transitive-access-wideners-v1-11904" to "3.3.0+1b5f819af4", // 1.19.4 @@ -164,6 +169,7 @@ private val fabricApiModuleVersions = mapOf( "transitive-access-wideners-v1-12109" to "6.5.2+5d9dbead94", // 1.21.9 "transitive-access-wideners-v1-12110" to "6.5.3+41eb434368", // 1.21.10 "transitive-access-wideners-v1-12111" to "7.0.7+1fb1cde953", // 1.21.11 + "transitive-access-wideners-v1-260100" to "8.0.1+a208210e7d", // 26.1 ) /** @@ -172,7 +178,7 @@ private val fabricApiModuleVersions = mapOf( * @param version The version of Minecraft. If null, the method is running inside the `:dependencies:legacy` module. * @param loader The mod loader being used. */ -fun Project.provideIncludedDependencies(version: Triple?, loader: String?): List { // Either a String or ExternalModuleDependency +fun Project.provideIncludedDependencies(version: Triple?, loader: String?, shenanigans: String? = version?.toMCVer()): List { // Either a String or ExternalModuleDependency project.logger.lifecycle("===> Adding dependencies for Minecraft ${version?.toMCVer()} & $loader") val libs = rootProject @@ -201,17 +207,21 @@ fun Project.provideIncludedDependencies(version: Triple?, loader: deps.add(libs.findLibrary("copycat-image-awt").get().get()) - if (version != null && version.second >= 16) { + if (version != null && (version.second >= 16 || version.first >= 2)) { logger.lifecycle("===> Adding LWJGL dependencies for Minecraft ${version.toMCVer()} & $loader") // Modern (1.16+) val lwjglBase = "org.lwjgl:lwjgl" - val lwjglVersion = when (version.second) { - in 16..18 -> "3.2.2" - 19 -> "3.3.1" - 20 -> "3.3.2" - 21 -> "3.3.3" - else -> error("Unsupported Minecraft version: ${version.toMCVer()}") + val lwjglVersion = if (version.first >= 2) { + "3.3.3" + } else { + when (version.second) { + in 16..18 -> "3.2.2" + 19 -> "3.3.1" + 20 -> "3.3.2" + 21 -> "3.3.3" + else -> error("Unsupported Minecraft version: ${version.toMCVer()}") + } } deps.add("$lwjglBase-tinyfd:$lwjglVersion") @@ -243,8 +253,8 @@ fun Project.provideIncludedDependencies(version: Triple?, loader: actualDeps.add(OCDependency(dep)) } if (version != null) { - actualDeps.add(OCDependency("dev.deftu:textile-${version.toMCVer()}-$loader:${libs.findVersion("textile").get().displayName}", true)) - actualDeps.add(OCDependency("dev.deftu:omnicore-${version.toMCVer()}-$loader:${libs.findVersion("omnicore").get().displayName}", true)) + actualDeps.add(OCDependency("dev.deftu:textile-${shenanigans}-$loader:${libs.findVersion("textile").get().displayName}", true)) + actualDeps.add(OCDependency("dev.deftu:omnicore-${shenanigans}-$loader:${libs.findVersion("omnicore").get().displayName}", true)) } return actualDeps @@ -253,7 +263,7 @@ fun Project.provideIncludedDependencies(version: Triple?, loader: fun Project.provideFabricApiDependency(version: Triple): List { val deps = mutableListOf() - if (version.second <= 12) { + if (version.first == 1 && version.second <= 12) { // Legacy Fabric for (module in legacyFabricApiModules) { val commonVersionValue = fabricApiModuleVersions["$module-common"] ?: error("No version found for $module-common") @@ -265,14 +275,19 @@ fun Project.provideFabricApiDependency(version: Triple): List() finalList.addAll(fabricApiModules) - if (version.second >= 18) { + if (version.first >= 2 || version.second >= 18) { finalList.add("transitive-access-wideners-v1") } - if (version.second >= 19) { + if (version.first >= 2 || version.second >= 19) { finalList.add("command-api-v2") } else { finalList.add("command-api-v1") } + if (version.first >= 2) { + finalList.add("key-mapping-api-v1") + } else { + finalList.add("key-binding-api-v1") + } for (module in finalList) { val mcVersionValue = fabricApiModuleVersions["$module-${version.toPreprocessorNumber()}"] ?: error("No version found for $module-${version.toMCVer()}") deps.add(OCDependency("net.fabricmc.fabric-api:fabric-$module:$mcVersionValue", true)) diff --git a/gradle.properties b/gradle.properties index 5b1af1b5c..1ee718262 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ ksp.incremental=false dgt.java.version=8 dgt.loom.mappings=official-like -dgt.minecraft.revision=4 +dgt.minecraft.revision=5 # Project Configuration project.group=org.polyfrost.oneconfig diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9eedb80e5..547c6fb8d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,10 +2,10 @@ # Libraries # All -kotlin = "2.2.10" +kotlin = "2.3.0" kotlinx-coroutines = "1.10.2" kotlinx-atomicfu = "0.29.0" -fabric-language-kotlin = "1.13.5+kotlin.2.2.10" +fabric-language-kotlin = "1.13.8+kotlin.2.3.0" google-ksp = "2.2.10-2.0.2" polyui = "2.0.7" annotations = "24.1.0" @@ -21,8 +21,8 @@ copycat = "0.1.3" copycat-image-awt = "0.1.1" # Per version -textile = "1.0.0-beta.11" -omnicore = "1.0.0-beta.40" +textile = "1.0.0-beta.17" +omnicore = "1.0.0-beta.41" lwjgl = "3.3.3" # All downloaded by the isolated-lwjgl3-loader # Legacy only @@ -35,7 +35,7 @@ brigadier = "1.0.18" oneconfig-loader = "1.1.0-alpha.48" # Gradle -dgt = "2.69.0" +dgt = "2.73.0" kotlinx-abi = "0.18.1" licenser = "2.1.1" jetbrains-idea-ext = "1.3" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f..a4b76b953 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c820..23449a2b5 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-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/minecraft/build.gradle.kts b/minecraft/build.gradle.kts index 3bc5a32b2..0716b1fb8 100644 --- a/minecraft/build.gradle.kts +++ b/minecraft/build.gradle.kts @@ -6,6 +6,7 @@ import com.replaymod.gradle.preprocess.PreprocessTask import com.replaymod.gradle.preprocess.ProjectGraphNode import com.replaymod.gradle.preprocess.RootPreprocessExtension import dev.deftu.gradle.utils.GameSide +import dev.deftu.gradle.utils.version.MinecraftDropVersion import dev.deftu.gradle.utils.version.MinecraftReleaseVersion import dev.deftu.gradle.utils.version.MinecraftVersions import gg.essential.gradle.util.RelocationTransform.Companion.registerRelocationAttribute @@ -129,7 +130,7 @@ fun DependencyHandlerScope.handleApiDep(dependency: String, isMod: Boolean = fal fun DependencyHandlerScope.handleApiDep(dependency: ExternalModuleDependency, isMod: Boolean = false) { val dep = "${dependency.group}:${dependency.name}:${dependency.version}" - if (isMod) "oneConfigModulesCompileOnlyApi"(modApi(dep) { + if (isMod) "oneConfigModulesCompileOnlyApi"(maybeModApi(dep) { isTransitive = false attributes { attribute(includeInLoader, JBoolean.TRUE) @@ -167,7 +168,7 @@ dependencies { ) fun DependencyHandlerScope.compileOnlyCompat(notation: String?) = - notation?.let { modCompileOnly(it) { isTransitive = false } } + notation?.let { maybeModCompileOnly(it) { isTransitive = false } } fun DependencyHandlerScope.compileOnlyCompat(notation: CompatDependency?) { when { @@ -177,9 +178,14 @@ dependencies { } } - val mcVersion = mcData.version as MinecraftReleaseVersion - val tripleVersion = Triple(mcVersion.major, mcVersion.minor, mcVersion.patch) - val mcVersionString = listOf(mcVersion.major, mcVersion.minor, mcVersion.patch).joinToString(".") + val mcVersion = mcData.version + val tripleVersion = when (mcVersion) { + is MinecraftDropVersion -> Triple(mcVersion.year, mcVersion.drop, mcVersion.patch) + is MinecraftReleaseVersion -> Triple(mcVersion.major, mcVersion.minor, mcVersion.patch) + else -> error("no") + } + + val mcVersionString = mcData.version.toString() compileOnlyCompat("gg.essential:vigilance-1.8.9-forge:299") compileOnlyCompat("org.notenoughupdates.moulconfig:common:3.11.0") @@ -284,8 +290,9 @@ dependencies { provideIncludedDependencies( - Triple(mcVersion.major, mcVersion.minor, mcVersion.patch), - mcData.loader.friendlyString + tripleVersion, + mcData.loader.friendlyString, + mcVersion.toString() ).forEach { if (it.dep is String) { @Suppress("USELESS_CAST") @@ -298,7 +305,7 @@ dependencies { if (mcData.isFabric) { provideFabricApiDependency(tripleVersion).forEach { @Suppress("USELESS_CAST") - modApi(if (it.dep is String) it.dep as String else "${(it.dep as ExternalModuleDependency).group}:${(it.dep as ExternalModuleDependency).name}:${(it.dep as ExternalModuleDependency).version}") { + maybeModApi(if (it.dep is String) it.dep as String else "${(it.dep as ExternalModuleDependency).group}:${(it.dep as ExternalModuleDependency).name}:${(it.dep as ExternalModuleDependency).version}") { isTransitive = false } } @@ -351,35 +358,43 @@ dependencies { } } - if ((mcData.version as MinecraftReleaseVersion).isNewerThan(MinecraftVersions.VERSION_1_21_4)) { + if (mcData.version > MinecraftVersions.VERSION_1_21_4) { compileOnly("net.azureaaron:dandelion:1.0.0-alpha.3") { isTransitive = false } } api("dev.deftu:enhancedeventbus:2.0.0") // TODO } tasks { + val manifestFunc = { manifest: Manifest -> + val attributesMap = buildMap { + putAll( + mapOf( + "Specification-Title" to modData.id, + "Specification-Vendor" to "Polyfrost", + "Specification-Version" to "1", // We are version 1 of ourselves, whatever the hell that means + "Implementation-Title" to rootProject.name, + "Implementation-Version" to project.version, + "Implementation-Vendor" to "Polyfrost", + "Implementation-Timestamp" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(Date()), + "OneConfig-Main-Class" to "org.polyfrost.oneconfig.internal.bootstrap.Bootstrap", + "MixinConfigs" to "mixins.oneconfigv1.init.json,mixins.oneconfigv1.json",) + ) + } + manifest.attributes(attributesMap) + Unit + } + withType(Jar::class) { exclude("**/**_Test.**") exclude("**/**_Test$**.**") } - remapJar { - manifest { - val attributesMap = buildMap { - putAll( - mapOf( - "Specification-Title" to modData.id, - "Specification-Vendor" to "Polyfrost", - "Specification-Version" to "1", // We are version 1 of ourselves, whatever the hell that means - "Implementation-Title" to rootProject.name, - "Implementation-Version" to project.version, - "Implementation-Vendor" to "Polyfrost", - "Implementation-Timestamp" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(Date()), - "OneConfig-Main-Class" to "org.polyfrost.oneconfig.internal.bootstrap.Bootstrap", - "MixinConfigs" to "mixins.oneconfigv1.init.json,mixins.oneconfigv1.json", - ) - ) - } - attributes(attributesMap) + if (mcData.version.isDrop) { + jar { + manifest(manifestFunc) + } + } else { + named("remapJar") { + manifest(manifestFunc) } } processResources { diff --git a/minecraft/root.gradle.kts b/minecraft/root.gradle.kts index 4e213bc39..b1d822d5b 100644 --- a/minecraft/root.gradle.kts +++ b/minecraft/root.gradle.kts @@ -14,29 +14,31 @@ preprocess { strictExtraMappings.set(true) // FOR ALL NEW VERSIONS ENSURE TO UPDATE settings.gradle.kts ! - "1.21.11-fabric"(1_21_11, "srg") { - "1.21.11-neoforge"(1_21_11, "srg") { - "1.21.10-neoforge"(1_21_10, "srg") { - "1.21.10-fabric"(1_21_10, "srg") { - "1.21.8-fabric"(1_21_08, "srg") { - "1.21.8-neoforge"(1_21_08, "srg") { - "1.21.5-neoforge"(1_21_05, "srg") { - "1.21.5-fabric"(1_21_05, "srg") { - "1.21.4-fabric"(1_21_04, "srg") { - "1.21.4-neoforge"(1_21_04, "srg") { - "1.21.1-neoforge"(1_21_01, "srg", file("mappings/1.21.4-forge+1.21.1-forge.txt")) { - "1.21.1-fabric"(1_21_01, "srg") { - "1.20.4-fabric"(1_20_04, "srg") { - "1.20.4-neoforge"(1_20_04, "srg") { - "1.20.4-forge"(1_20_04, "srg") { - "1.20.1-forge"(1_20_01, "srg", file("mappings/1.20.4-forge+1.20.1-forge.txt")) { - "1.20.1-fabric"(1_20_01, "srg") { - "1.16.5-fabric"(1_16_05, "srg", file("mappings/1.20.1-fabric+1.16.5-fabric.txt")) { - "1.16.5-forge"(1_16_05, "srg") { - "1.12.2-forge"(1_12_02, "srg", file("mappings/1.16.5-forge+1.12.2-forge.txt")) { - "1.12.2-fabric"(1_12_02, "srg") { - "1.8.9-fabric"(1_08_09, "srg") { - "1.8.9-forge"(1_08_09, "srg") + "26.1-fabric"(26_01_00, "srg") { + "1.21.11-fabric"(1_21_11, "srg") { + "1.21.11-neoforge"(1_21_11, "srg") { + "1.21.10-neoforge"(1_21_10, "srg") { + "1.21.10-fabric"(1_21_10, "srg") { + "1.21.8-fabric"(1_21_08, "srg") { + "1.21.8-neoforge"(1_21_08, "srg") { + "1.21.5-neoforge"(1_21_05, "srg") { + "1.21.5-fabric"(1_21_05, "srg") { + "1.21.4-fabric"(1_21_04, "srg") { + "1.21.4-neoforge"(1_21_04, "srg") { + "1.21.1-neoforge"(1_21_01, "srg", file("mappings/1.21.4-forge+1.21.1-forge.txt")) { + "1.21.1-fabric"(1_21_01, "srg") { + "1.20.4-fabric"(1_20_04, "srg") { + "1.20.4-neoforge"(1_20_04, "srg") { + "1.20.4-forge"(1_20_04, "srg") { + "1.20.1-forge"(1_20_01, "srg", file("mappings/1.20.4-forge+1.20.1-forge.txt")) { + "1.20.1-fabric"(1_20_01, "srg") { + "1.16.5-fabric"(1_16_05, "srg", file("mappings/1.20.1-fabric+1.16.5-fabric.txt")) { + "1.16.5-forge"(1_16_05, "srg") { + "1.12.2-forge"(1_12_02, "srg", file("mappings/1.16.5-forge+1.12.2-forge.txt")) { + "1.12.2-fabric"(1_12_02, "srg") { + "1.8.9-fabric"(1_08_09, "srg") { + "1.8.9-forge"(1_08_09, "srg") + } } } } diff --git a/minecraft/src/main/resources/fabric.mod.json b/minecraft/src/main/resources/fabric.mod.json index 249b1b465..42b0ec77b 100644 --- a/minecraft/src/main/resources/fabric.mod.json +++ b/minecraft/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ }, "depends": { "fabricloader": ">=0.12.0", - "minecraft": "${mc_version}" + "minecraft": "${fabric_mc_version}" }, "custom": { "modmenu": { diff --git a/minecraft/versions/1.16.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/ModMenuCompat.kt b/minecraft/versions/1.16.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/ModMenuCompat.kt index a79510d64..fc4dc4785 100644 --- a/minecraft/versions/1.16.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/ModMenuCompat.kt +++ b/minecraft/versions/1.16.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/ModMenuCompat.kt @@ -1,6 +1,6 @@ package org.polyfrost.oneconfig.internal.compat -//#if FABRIC +//#if FABRIC && MC < 26.1 import com.terraformersmc.modmenu.ModMenu import com.terraformersmc.modmenu.util.mod.Mod import dev.deftu.omnicore.api.client.screen.currentScreen diff --git a/minecraft/versions/1.20.1-fabric/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/yacl/Mixin_YetAnotherConfigLib_Builder.java b/minecraft/versions/1.20.1-fabric/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/yacl/Mixin_YetAnotherConfigLib_Builder.java index ceaa07dda..566cb443d 100644 --- a/minecraft/versions/1.20.1-fabric/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/yacl/Mixin_YetAnotherConfigLib_Builder.java +++ b/minecraft/versions/1.20.1-fabric/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/yacl/Mixin_YetAnotherConfigLib_Builder.java @@ -1,5 +1,6 @@ package org.polyfrost.oneconfig.internal.mixin.compat.yacl; +//#if MC < 26.1 //#if MC != 1.20.4 || FABRIC import dev.isxander.yacl3.api.ConfigCategory; import dev.isxander.yacl3.api.YetAnotherConfigLib; @@ -27,4 +28,5 @@ public void build(CallbackInfoReturnable cir) { YaclV1Compat.build(title, categories, saveFunction); } } +//#endif //#endif \ No newline at end of file diff --git a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/AbstractDropdownControllerCompat.kt b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/AbstractDropdownControllerCompat.kt index 8cd244676..7d6f6e9c1 100644 --- a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/AbstractDropdownControllerCompat.kt +++ b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/AbstractDropdownControllerCompat.kt @@ -1,5 +1,6 @@ package org.polyfrost.oneconfig.internal.compat.yacl +//#if MC < 26.1 //#if MC != 1.20.4 || FABRIC import dev.isxander.yacl3.api.Controller import dev.isxander.yacl3.gui.controllers.dropdown.AbstractDropdownController @@ -25,4 +26,5 @@ internal object AbstractDropdownControllerCompat : ExtraHandler> { fun handle(controller: Controller<*>, builder: YaclPropertyBuilder): Class? } +//#endif //#endif \ No newline at end of file diff --git a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/ExtraV1Handlers.kt b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/ExtraV1Handlers.kt index 55d3a539c..f41777303 100644 --- a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/ExtraV1Handlers.kt +++ b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/ExtraV1Handlers.kt @@ -1,8 +1,11 @@ package org.polyfrost.oneconfig.internal.compat.yacl + +//#if MC < 26.1 //#if MC != 1.20.4 || FABRIC object ExtraV1Handlers { init { extraYaclHandlers.add(AbstractDropdownControllerCompat) } } +//#endif //#endif \ No newline at end of file diff --git a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/YaclV1Compat.kt b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/YaclV1Compat.kt index 923f90b54..2f6e6a427 100644 --- a/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/YaclV1Compat.kt +++ b/minecraft/versions/1.20.1-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/yacl/YaclV1Compat.kt @@ -4,6 +4,7 @@ import dev.deftu.omnicore.api.client.getIconResource import dev.deftu.omnicore.api.client.getIconResourcePath import net.minecraft.network.chat.Component as Text // preprocessor moment, ping me (wyvest) if you want an explanation why this is needed +//#if MC < 26.1 //#if MC != 1.20.4 || FABRIC import dev.deftu.omnicore.api.loader.ModInfo import dev.isxander.yacl3.api.ConfigCategory @@ -207,4 +208,5 @@ internal class YaclPropertyBuilder internal constructor(option: Option<*>) { this@YaclPropertyBuilder.metadata.entries.forEach { (key, value) -> addMetadata(key, value) } } } +//#endif //#endif \ No newline at end of file diff --git a/minecraft/versions/1.20.4-forge/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/rconfig/Mixin_Configurations.java b/minecraft/versions/1.20.4-forge/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/rconfig/Mixin_Configurations.java index c96ee9c3b..1e5503669 100644 --- a/minecraft/versions/1.20.4-forge/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/rconfig/Mixin_Configurations.java +++ b/minecraft/versions/1.20.4-forge/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/rconfig/Mixin_Configurations.java @@ -1,5 +1,6 @@ package org.polyfrost.oneconfig.internal.mixin.compat.rconfig; +//#if MC < 26.1 import com.llamalad7.mixinextras.sugar.Local; import com.teamresourceful.resourcefulconfig.api.types.ResourcefulConfig; import com.teamresourceful.resourcefulconfig.common.config.Configurations; @@ -25,3 +26,4 @@ private void addConfig(CallbackInfo ci, @Local(argsOnly = true) ResourcefulConfi } } +//#endif diff --git a/minecraft/versions/1.20.4-forge/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt b/minecraft/versions/1.20.4-forge/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt index b19db31fa..ab459f0db 100644 --- a/minecraft/versions/1.20.4-forge/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt +++ b/minecraft/versions/1.20.4-forge/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt @@ -168,4 +168,4 @@ internal object RConfigCompat { } } -} \ No newline at end of file +} diff --git a/minecraft/versions/1.21.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt b/minecraft/versions/1.21.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt index f48c37bdf..f142d5487 100644 --- a/minecraft/versions/1.21.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt +++ b/minecraft/versions/1.21.5-fabric/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/RConfigCompat.kt @@ -1,5 +1,6 @@ package org.polyfrost.oneconfig.internal.compat +//#if MC < 26.1 import com.teamresourceful.resourcefulconfig.api.types.ResourcefulConfig import com.teamresourceful.resourcefulconfig.api.types.ResourcefulConfigButton import com.teamresourceful.resourcefulconfig.api.types.ResourcefulConfigElement @@ -191,4 +192,5 @@ internal object RConfigCompat { } } -} \ No newline at end of file +} +//#endif diff --git a/minecraft/versions/26.1-fabric/gradle.properties b/minecraft/versions/26.1-fabric/gradle.properties new file mode 100644 index 000000000..e6e3be017 --- /dev/null +++ b/minecraft/versions/26.1-fabric/gradle.properties @@ -0,0 +1,4 @@ +fabric.loom.disableObfuscation=true +dgt.loom.mappings.use=false +minecraft.version=26.1-snapshot-3 +dgt.fabric.api.version=0.141.3+26.1 diff --git a/modules/dependencies/legacy/build.gradle.kts b/modules/dependencies/legacy/build.gradle.kts index 27ed664f7..edd26cd99 100644 --- a/modules/dependencies/legacy/build.gradle.kts +++ b/modules/dependencies/legacy/build.gradle.kts @@ -1,7 +1,7 @@ import org.polyfrost.gradle.provideIncludedDependencies plugins { - id("dev.deftu.gradle.loom") + id("gg.essential.loom") } repositories { diff --git a/modules/relocator/src/main/kotlin/utils.kt b/modules/relocator/src/main/kotlin/utils.kt index 885ab53e7..3754003e4 100644 --- a/modules/relocator/src/main/kotlin/utils.kt +++ b/modules/relocator/src/main/kotlin/utils.kt @@ -11,9 +11,14 @@ internal enum class SourceKind(val fileExtension: String) { ; } -internal fun convertStringToIntVersion(version: String) = - version.let { if (it.count { char -> char == '.' } == 1) "$it.0" else it }.split(".") +internal fun convertStringToIntVersion(version: String): Int { + val version = if (version.substringBefore('.') != "1") { + version.substringBefore("-") + } else version + + return version.let { if (it.count { char -> char == '.' } == 1) "$it.0" else it }.split(".") .joinToString("") { it.padStart(2, '0') }.toInt() +} internal enum class SourceLocation(val path: String) { PRE_PROCESSED("build/preprocessed/main"), diff --git a/settings.gradle.kts b/settings.gradle.kts index 8fb912204..6c846bbe4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,8 +23,8 @@ pluginManagement { } plugins { - kotlin("jvm") version("2.2.10") - id("dev.deftu.gradle.multiversion-root") version("2.69.0") // Update in libs.versions.toml too!!! + kotlin("jvm") version("2.3.0") + id("dev.deftu.gradle.multiversion-root") version("2.73.0") // Update in libs.versions.toml too!!! } } @@ -113,6 +113,8 @@ listOf( "1.21.11-neoforge", "1.21.11-fabric", + + "26.1-fabric" ).forEach { version -> val proj = ":minecraft:$version" include(proj)