plugins { id 'fabric-loom' version "${loom_version}" id 'maven-publish' } version = project.mod_version group = project.maven_group def modVersion = project.version.toString() def minecraftVersion = project.minecraft_version.toString() base { archivesName = project.archives_base_name } repositories { mavenCentral() } loom { mixin { useLegacyMixinAp = true defaultRefmapName = "client-signleakshield.refmap.json" } splitEnvironmentSourceSets() mods { "sign-leak-shield" { sourceSet sourceSets.main sourceSet sourceSets.client } } } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" } processResources { inputs.property "version", modVersion inputs.property "minecraft_version", minecraftVersion filesMatching("fabric.mod.json") { expand([ "version": modVersion, "minecraft_version": minecraftVersion ]) } } tasks.withType(JavaCompile).configureEach { it.options.release = 21 } java { withSourcesJar() sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 } publishing { publications { create("mavenJava", MavenPublication) { artifactId = project.archives_base_name from components.java } } }