plugins { id 'net.fabricmc.fabric-loom-remap' version "${loom_version}" id 'dev.kikugie.stonecutter' id 'maven-publish' } def modId = property('mod.id') def modName = property('mod.name') def modVersion = property('mod.version') def modGroup = property('mod.group') def modDescription = property('mod.description') def modLicense = property('mod.license') def modAuthor = property('mod.author') def javaVersion = Integer.parseInt(property('java_version')) def fabricLoaderVersion = property('deps.fabric_loader') version = "${modVersion}+${stonecutter.current.version}" group = modGroup base { archivesName = modId } repositories { // Loom provides Minecraft, mappings, and Fabric repositories. } loom { splitEnvironmentSourceSets() mods { "${modId}" { sourceSet sourceSets.main sourceSet sourceSets.client } } if (stonecutter.current.isActive) { runConfigs.all { ideConfigGenerated = true runDir "../../run" } } } dependencies { minecraft "com.mojang:minecraft:${stonecutter.current.version}" mappings loom.officialMojangMappings() modImplementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}" modImplementation "net.fabricmc.fabric-api:fabric-api:${property('deps.fabric_api')}" } def resourceExpandProps = [ version: project.version, mod_id: modId, mod_name: modName, mod_description: modDescription, mod_license: modLicense, mod_author: modAuthor, minecraft_version: stonecutter.current.version, fabric_loader_version: fabricLoaderVersion ] processResources { inputs.properties(resourceExpandProps) filesMatching("fabric.mod.json") { expand(resourceExpandProps) } } tasks.withType(JavaCompile).configureEach { options.release = javaVersion } java { withSourcesJar() sourceCompatibility = JavaVersion.toVersion(javaVersion) targetCompatibility = JavaVersion.toVersion(javaVersion) } jar { inputs.property "archivesName", project.base.archivesName from("LICENSE") { rename { "${it}_${inputs.properties.archivesName}" } } } publishing { publications { create("mavenJava", MavenPublication) { artifactId = project.base.archivesName.get() from components.java } } repositories { // Configure publishing repositories here if needed. } }