diff --git a/build.gradle.kts b/build.gradle.kts index 8ec05c1..2c73d22 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,10 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import java.nio.file.Paths plugins { id("net.fabricmc.fabric-loom") `maven-publish` - id("org.jetbrains.kotlin.jvm") version "2.3.21" + id("org.jetbrains.kotlin.jvm") version "2.4.0" } version = providers.gradleProperty("mod_version").get() @@ -20,6 +21,27 @@ repositories { url = uri("https://maven.terraformersmc.com/") } } +afterEvaluate { + val MixinJarPath = configurations.loaderLibraries.get().resolvedConfiguration + .resolvedArtifacts + .find { it.moduleVersion.id.group == "net.fabricmc" && it.moduleVersion.id.name == "sponge-mixin" }!! + .file + val IsSupportDceVM = Paths.get(System.getProperty("java.home")) + .resolve("bin") + .resolve("java") + .toFile() + .let { + val ReturnCode = ProcessBuilder(it.absolutePath, "-XX:+AllowEnhancedClassRedefinition", "-version") + .start() + .waitFor() + return@let ReturnCode == 0 } + loom.runs.named("client") { + jvmArguments.add("-javaagent:${MixinJarPath.absolutePath}") + if (IsSupportDceVM == true) jvmArguments.add("-XX:+AllowEnhancedClassRedefinition") } + loom.runs.named("server") { + jvmArguments.add("-javaagent:${MixinJarPath.absolutePath}") + if (IsSupportDceVM == true) jvmArguments.add("-XX:+AllowEnhancedClassRedefinition") } } + loom { splitEnvironmentSourceSets() @@ -46,7 +68,7 @@ dependencies { // "modImplementation"("net.fabricmc.fabric-api:fabric-api-deprecated:${project.extra["fabric_version"]}") // ↓ 开发测试用 -// runtimeOnly("com.terraformersmc:modmenu:${project.extra["modmenu_version"]}") + runtimeOnly("com.terraformersmc:modmenu:${providers.gradleProperty("modmenu_version").get()}") } diff --git a/gradle.properties b/gradle.properties index 04e3338..e6b527c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,18 +4,22 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=26.1.2 -loader_version=0.18.6 -loom_version=1.16-SNAPSHOT -fabric_kotlin_version=1.13.11+kotlin.2.3.21 +minecraft_version=26.2 +loader_version=0.19.3 +loom_version=1.17-SNAPSHOT + +# Fabric API +fabric_api_version=0.152.1+26.2 + +# https://modrinth.com/mod/fabric-language-kotlin/versions +fabric_kotlin_version=1.13.12+kotlin.2.4.0 # Mod Properties mod_version=0.5.3 maven_group=xyz.thewhitedog9487 # Dependencies -fabric_api_version=0.145.4+26.1.2 # https://modrinth.com/mod/modmenu/versions # https://maven.terraformersmc.com/releases/com/terraformersmc/modmenu -modmenu_version=18.0.0-alpha.8 \ No newline at end of file +modmenu_version=20.0.0-beta.2 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1a70468..f6d2fc4 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.5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/kotlin/xyz/thewhitedog9487/CommandRegister.kt b/src/main/kotlin/xyz/thewhitedog9487/CommandRegister.kt index b1403b8..fd5260f 100644 --- a/src/main/kotlin/xyz/thewhitedog9487/CommandRegister.kt +++ b/src/main/kotlin/xyz/thewhitedog9487/CommandRegister.kt @@ -12,7 +12,6 @@ import net.minecraft.network.chat.Component import net.minecraft.server.commands.TeleportCommand import net.minecraft.server.level.ServerLevel import net.minecraft.world.entity.Entity -import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Blocks import net.minecraft.world.level.chunk.status.ChunkStatus import net.minecraft.world.level.levelgen.Heightmap.Types.MOTION_BLOCKING_NO_LEAVES diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 26b5d2e..fb9740d 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -31,10 +31,10 @@ } ], "depends": { - "fabricloader": ">=0.18.6", - "minecraft": "26.1.2", + "fabricloader": ">=0.9.3", + "minecraft": "26.2", "java": ">=25", - "fabric-api": ">=0.145.4", + "fabric-api": ">=0.152.1", "fabric-language-kotlin": "*" }, "suggests": {