plugins { // Required for NeoGradle id "org.jetbrains.gradle.plugin.idea-ext" version "1.1.7" } subprojects { apply plugin: 'java' java.toolchain.languageVersion = JavaLanguageVersion.of(17) java.withSourcesJar() java.withJavadocJar() jar { from(rootProject.file("LICENSE")) { rename { "${it}_${mod_name}" } } manifest { attributes([ 'Specification-Title' : mod_name, 'Specification-Vendor' : mod_author, 'Specification-Version' : project.jar.archiveVersion, 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_author, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), 'Timestamp' : System.currentTimeMillis(), 'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})", 'Built-On-Minecraft' : minecraft_version ]) } } sourcesJar { from(rootProject.file("LICENSE")) { rename { "${it}_${mod_name}" } } } repositories { mavenCentral() maven { name = 'Sponge / Mixin' url = 'https://repo.spongepowered.org/repository/maven-public/' } maven { name = 'BlameJared Maven (JEI / CraftTweaker / Bookshelf)' url = 'https://maven.blamejared.com' } } tasks.withType(JavaCompile).configureEach { it.options.encoding = 'UTF-8' it.options.getRelease().set(17) } processResources { def expandProps = [ "version": version, "group": project.group, //Else we target the task's group. "minecraft_version": minecraft_version, "forge_version": forge_version, "forge_loader_version_range": forge_loader_version_range, "forge_version_range": forge_version_range, "minecraft_version_range": minecraft_version_range, "fabric_version": fabric_version, "fabric_loader_version": fabric_loader_version, "mod_name": mod_name, "mod_author": mod_author, "mod_id": mod_id, "license": license, "description": project.description, "neoforge_version": neoforge_version, "neoforge_loader_version_range": neoforge_loader_version_range, "credits": credits ] filesMatching(['pack.mcmeta', 'fabric.mod.json', 'META-INF/mods.toml', '*.mixins.json']) { expand expandProps } inputs.properties(expandProps) } // Disables Gradle's custom module metadata from being published to maven. The // metadata includes mapped dependencies which are not reasonably consumable by // other mod developers. tasks.withType(GenerateModuleMetadata).configureEach { enabled = false } }