plugins { id 'fabric-loom' version '1.2-SNAPSHOT' id 'maven-publish' id "com.modrinth.minotaur" version "2.+" } version = project.mod_version group = project.maven_group base { archivesName = project.mod_id } repositories { } loom { splitEnvironmentSourceSets() mods { "modid" { sourceSet sourceSets.main sourceSet sourceSets.client } } runs { datagenClient { inherit client name "Data Generation" vmArg "-Dfabric-api.datagen" vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}" vmArg "-Dfabric-api.datagen.modid=${mod_id}" runDir "build/datagen" } } } sourceSets { main { resources { srcDirs += [ 'src/main/generated' ] } } } 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}" // Fabric API. } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } tasks.withType(JavaCompile).configureEach { it.options.release = 17 } java { withSourcesJar() sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } jar { from("LICENSE") { rename { "${it}_${project.archivesBaseName}"} } } // Configure the maven publication publishing { publications { mavenJava(MavenPublication) { from components.java } } repositories { } } // Publishing to Modrinth modrinth { token = System.getenv(modrinth_token) // DO NOT REVEAL THE TOKEN!!! projectId = mod_id versionNumber = mod_version versionType = "beta" // `release`, `beta`, `alpha` uploadFile = remapJar gameVersions = ["1.20", "1.20.1"] loaders = ["fabric"] dependencies { // scope.type // The scope can be `required`, `optional`, `incompatible`, or `embedded` // The type can either be `project` or `version` required.project "fabric-api" // Creates a new required dependency on Fabric API // optional.version "sodium", "mc1.19.3-0.4.8" // Creates a new optional dependency on this specific version of Sodium } }