plugins { id 'fabric-loom' version '1.8-SNAPSHOT' id 'maven-publish' id 'com.modrinth.minotaur' version '2.+' id 'net.darkhax.curseforgegradle' version '1.1.+' id 'co.uzzu.dotenv.gradle' version '4.0.0' } version = project.mod_version group = project.maven_group base { archivesName = project.file_name } repositories { maven { url "https://maven.terraformersmc.com/releases/" } maven { url "https://maven.isxander.dev/releases" } } loom { accessWidenerPath = file("src/main/resources/sit!.accesswidener") } 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}" modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}" } processResources { filteringCharset "UTF-8" var replaceProperties = [ version : project.version, minecraft_version : minecraft_version, min_minecraft_version : min_minecraft_version, loader_version : loader_version ] inputs.properties replaceProperties filesMatching("fabric.mod.json") { expand replaceProperties } } tasks.withType(JavaCompile).configureEach { 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() sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } jar { from("LICENSE") { rename { "${it}_${project.base.archivesName.get()}"} } } // configure the maven publication 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. } } import com.modrinth.minotaur.dependencies.ModDependency modrinth { token = env.fetchOrNull('MODRINTH') projectId = 'EsYqsGV4' versionNumber = project.mod_version versionName = "b${project.mod_version} [Fabric]" versionType = "beta" uploadFile = remapJar gameVersions = [project.minecraft_version] loaders = ['fabric', 'quilt'] dependencies = [ new ModDependency('P7dR8mSH', 'required'), new ModDependency('mOgUt4GM', 'optional') ] changelog = file('changelog.md').text } import net.darkhax.curseforgegradle.TaskPublishCurseForge tasks.register('publishCurseForge', TaskPublishCurseForge) { apiToken = env.fetchOrNull('CURSEFORGE') def mainFile = upload(892424, remapJar) mainFile.changelog = file('changelog.md') mainFile.displayName = "b${project.mod_version} [Fabric]" mainFile.addModLoader("fabric", 'quilt') mainFile.releaseType = "beta" mainFile.addEnvironment("client", "server") }