plugins { id 'fabric-loom' version '1.0-SNAPSHOT' id 'maven-publish' id "com.modrinth.minotaur" version "2.+" } sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 DuplicatesStrategy.INCLUDE archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group repositories { //maven repos maven { url 'https://maven.nucleoid.xyz' } maven { url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } maven { url 'https://jitpack.io' } } dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" //external dependencies modImplementation include("eu.pb4:sgui:${project.sgui_version}") modImplementation include("eu.pb4:polymer-core:${project.polymer_version}") modImplementation include("eu.pb4:polymer-resource-pack:${project.polymer_version}") modImplementation include("fr.catcore:server-translations-api:${project.sta_version}") modImplementation ("com.github.DaFuqs:Revelationary:${project.revelationary_version}") //runtime only for development modRuntimeOnly("me.djtheredstoner:DevAuth-fabric:1.1.0") } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } tasks.withType(JavaCompile).configureEach { // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. it.options.release = 17 } java { // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task // if it is present. // If you remove this line, sources will not be generated. withSourcesJar() } jar { from file('src/main/generated') from("LICENSE") { rename { "${it}_${project.archivesBaseName}"} } } // maven publishing publishing { publications { mavenJava(MavenPublication) { from components.java } } // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { // Add repositories to publish to here. // Notice: This block does NOT have the same function as the block in the top level. // The repositories here will be used for publishing your artifact, not for // retrieving dependencies. } } loom { log4jConfigs.from(file("log4j2.xml")) runs { //datagen datagen { server() name "Data Generation" vmArg "-Dfabric-api.datagen" vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}" vmArg "-Dfabric-api.datagen.modid=${modid}" runDir "build/datagen" } } } sourceSets { //add resources to the compiled jar main { resources { srcDirs += [ 'src/main/generated' ] } } } import com.modrinth.minotaur.dependencies.ModDependency modrinth { token = System.getenv('MODRINTH_TOKEN') // Please use an environment variable for this! The default is `$MODRINTH_TOKEN`. projectId = "${project.modrinth_id}" // The ID of your Modrinth project. Slugs will not work. versionNumber = "${project.mod_version}" // The (preferably SemVer) version of the mod. If not specified, it'll use the `version` declaration versionName = "${project.mod_version}" // The version title. If not specified, it'll use the version number uploadFile = remapJar // Tells Minotaur to use the remapped jar gameVersions = ["${project.minecraft_version}"] // An array of game versions the version supports loaders = ['fabric', 'quilt'] // Self-explanatory. dependencies = [ new ModDependency('P7dR8mSH', 'required') // Creates a new required dependency on Fabric API ] }