plugins { id 'java' id 'eclipse' id 'net.minecraftforge.gradle' version '6.0.+' id 'me.hypherionmc.cursegradle' version '2.+' } archivesBaseName = "${mod_name}-${minecraft_version}" version = mod_version java.toolchain.languageVersion = JavaLanguageVersion.of(17) javadoc.options.addStringOption('Xdoclint:none', '-quiet') println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + ' (' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) minecraft { mappings channel: 'official', version: minecraft_version accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { client { workingDirectory project.file('run') taskName "${project.name}Client" mods { "${mod_id}" { source sourceSets.main } } } server { workingDirectory project.file('run') taskName "${project.name}Server" mods { "${mod_id}" { source sourceSets.main } } } gameTestServer { workingDirectory project.file('run') taskName "${project.name}GameTest" mods { "${mod_id}" { source sourceSets.main } } } data { workingDirectory project.file('run') taskName "${project.name}Data" args '--mod', "${mod_id}", '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') mods { "${mod_id}" { source sourceSets.main } } } } } sourceSets.main.resources.srcDir 'src/generated/resources' dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" } jar { manifest { attributes([ "Specification-Title": "${mod_id}", "Specification-Vendor": "${author}", "Specification-Version": "1", "Implementation-Title": "${mod_name}", "Implementation-Version": "${minecraft_version}-${version}", "Implementation-Vendor": "${author}", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "Main-Class": "${main_class}" ]) } } processResources { outputs.upToDateWhen { false } from sourceSets.main.resources filesMatching(['META-INF/mods.toml']) { expand project.properties } } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' } curseforge { apiKey = project.hasProperty("curse_api_key") ? curse_api_key : '' project { id = curse_project_id changelog = file('changelog.txt').canRead() ? file('changelog.txt').text : '' changelogType = 'text' releaseType = 'release' addGameVersion 'Forge' forge_compatible_minecraft_versions.split(",").each { addGameVersion(it) } mainArtifact(jar) { displayName = "${minecraft_version}-${mod_version} Universal" } } options { javaVersionAutoDetect = false forgeGradleIntegration = false } }