diff --git a/build.gradle b/build.gradle index 64dbbd2..398f6a7 100644 --- a/build.gradle +++ b/build.gradle @@ -11,13 +11,14 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import me.modmuss50.mpp.ReleaseType import net.fabricmc.loom.api.RemapConfigurationSettings -def local = !System.getenv().containsKey("GITHUB_RUN_NUMBER"); +def targetJavaVersion = Integer.parseInt(java_version) +def local = !System.getenv().containsKey("GITHUB_RUN_NUMBER") -version = "${project.mod_version}-${project.minecraft_version}-${local ? 'SNAPSHOT' : "build.${System.getenv("GITHUB_RUN_NUMBER")}"}" +version = "${mod_version}+mc${minecraft_version}" group = project.maven_group base { - archivesName = project.archives_base_name + archivesName = "${project.mod_id}-${loader_id}" } repositories { @@ -107,50 +108,51 @@ spotless { } } -def cleanMcVersion = project.minecraft_version.replace('.', '_') - loom { accessWidenerPath = file("src/main/resources/commander.classtweaker") runs { + client { + runDirectory = file("run/client") + } + server { + runDirectory = file("run/server") + } testmod { server() - name = "Testmod" - source sourceSets.testmod - runDir "run/%s/testmod_server".formatted(cleanMcVersion) + displayName = "Testmod" + sourceSet = 'testmod' + runDirectory = file("run/testmod_server") } testmodClient { client() - name = "Testmod Client" - source sourceSets.testmod - runDir "run/%s/testmod_client".formatted(cleanMcVersion) + displayName = "Testmod Client" + sourceSet = 'testmod' + runDirectory = file("run/testmod_client") } gametest { inherit testmod - - name "Game Test" - - // Enable the gametest runner - vmArg "-Dfabric-api.gametest" - runDir "build/gametest/%s".formatted(cleanMcVersion) + displayName = "Game Test" + jvmArguments.add("-Dfabric-api.gametest") + runDirectory = file("run/gametest") } } //https://gist.github.com/maityyy/3dbcd558d58a6412c3a2a38c72706e8e afterEvaluate { loom.runs.configureEach { - vmArgs("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition") + jvmArguments.addAll(["-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition"]) + jvmArguments.add("-javaagent:${ configurations.compileClasspath.find { it.name.contains("sponge-mixin") } }") - vmArg "-javaagent:${configurations.compileClasspath.find { it.name.contains("sponge-mixin") }}" - property("mixin.debug.export", "true") + systemProperties.put("mixin.debug.export", "true") } } - mods.register(project.archives_base_name) { + mods.register(mod_id) { sourceSet project.sourceSets.main } - mods.register(project.archives_base_name + "-testmod") { + mods.register(mod_id + "-testmod") { sourceSet project.sourceSets.testmod } } @@ -158,7 +160,7 @@ loom { processResources { def map = [ "version" : project.version, - "minecraft_version": project.minecraft_version, + "minecraft_version": minecraft_version, "loader_version" : libs.fabric.loader.get().version, "fabric_version" : libs.fabric.api.get().version, "pulsar_version" : libs.pulsar.get().version @@ -171,7 +173,6 @@ processResources { } } -def targetJavaVersion = 17 tasks.withType(JavaCompile).configureEach { // ensure that the encoding is set to UTF-8, no matter what the system default is // this fixes some edge cases with special characters not displaying correctly diff --git a/gradle.properties b/gradle.properties index 5800935..8320b8c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,12 +1,13 @@ -# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G -org.gradle.daemon=true -org.gradle.caching=true systemProp.aws.java.v1.disableDeprecationAnnouncement=true -# Fabric Properties -# check these on https://modmuss50.me/fabric.html -minecraft_version=1.20.1 -# Mod Properties -mod_version=1.0.0 + maven_group=dev.zenfyr -archives_base_name=commander +java_version=17 + +mod_id=commander +mod_version=1.0.0 + +loader_id=fabric +minecraft_version=1.20.1 +parchment_minecraft=1.20.1 +parchment_version=2023.09.03 \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3286f9c..65623d2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,18 @@ [libraries] -fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version = "0.19.2" } +fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version = "0.19.3" } + fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version = "0.92.8+1.20.1" } +pulsar = { group = "dev.zenfyr", name = "pulsar-fabric", version = "1.0.1+mc1.20.1" } + evalx = { group = "dev.zenfyr", name = "evalex", version = "5.0.0" } mapping-io = { group = "net.fabricmc", name = "mapping-io", version = "0.8.0" } -pulsar = { group = "dev.zenfyr", name = "pulsar-fabric", version = "1.0.1+mc1.20.1" } assertj-core = { module = "org.assertj:assertj-core", version = "3.26.3" } mockito-core = { module = "org.mockito:mockito-core", version = "5.14.2" } [plugins] -fabric-loom = { id = "fabric-loom", version = "1.16.1" } +fabric-loom = { id = "net.fabricmc.fabric-loom-remap", version = "1.17.12" } lombok = { id = "io.freefair.lombok", version = "9.4.0"} +spotless = { id = "com.diffplug.spotless", version = "8.6.0" } +modmuss50-publish = { id = "me.modmuss50.mod-publish-plugin", version = "2.1.1" } shadow = { id = "com.gradleup.shadow", version = "9.4.2" } -spotless = { id = "com.diffplug.spotless", version = "8.4.0" } -modmuss50-publish = { id = "me.modmuss50.mod-publish-plugin", version = "1.1.0" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c61a118..a351597 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.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle index 2dbd41d..b94341b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,4 +7,4 @@ pluginManagement { gradlePluginPortal() } } -rootProject.name = "${settings['archives_base_name']}-${settings['minecraft_version']}-fabric" +rootProject.name = "${settings['mod_id']}-${settings['minecraft_version']}-${settings['loader_id']}"