import java.nio.file.Files plugins { id 'fabric-loom' version '0.12-SNAPSHOT' apply false id 'io.shcm.shsupercm.fabric.fletchingtable' version '1.5' apply false id 'com.modrinth.minotaur' version '2.+' apply false id 'com.matthewprenger.cursegradle' version '1.4.0' apply false } version = project.mod_version + "+" + project.minecraft_version group = project.maven_group allprojects { apply plugin: "fabric-loom" apply plugin: "io.shcm.shsupercm.fabric.fletchingtable" repositories { maven { url "https://maven.shedaniel.me/" } maven { url "https://maven.terraformersmc.com/releases" } maven { url "https://cursemaven.com" } } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" fletchingTable.fungible "1.2+mc1.19.2" modImplementation fabricApi.module("fabric-api-base", "${project.fabric_api}") modImplementation fabricApi.module("fabric-resource-loader-v0", "${project.fabric_api}") modImplementation fabricApi.module("fabric-command-api-v2", "${project.fabric_api}") modCompileOnly("com.terraformersmc:modmenu:${project.modmenu}") { exclude(group: "net.fabricmc.fabric-api") } modCompileOnly("me.shedaniel.cloth:cloth-config-fabric:${project.cloth}") { exclude(group: "net.fabricmc.fabric-api") } } fletchingTable { defaultMixinEnvironment = "auto" } processResources { inputs.property "version", rootProject.version filteringCharset "UTF-8" filesMatching("fabric.mod.json") { expand "version": rootProject.version } } sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 java { archivesBaseName = project.archives_base_name } jar { archiveClassifier.set "dev" from("LICENSE") { rename { "${it}_${project.archivesBaseName}" } } } loom { shareRemapCaches = true } } apply plugin: 'com.modrinth.minotaur' apply plugin: 'com.matthewprenger.cursegradle' loom { accessWidenerPath = file("src/main/resources/citresewn.accesswidener") } dependencies { afterEvaluate { include project("defaults:") } } java { withSourcesJar() } sourcesJar { from project("defaults:").sourceSets.main.java.srcDirs } modrinth { token = TOKEN_MODRINTH projectId = "otVJckYQ" uploadFile = remapJar changelog = Files.readString(projectDir.toPath().resolve("Changelog.md")) versionNumber = version versionName = "v" + version additionalFiles = [ sourcesJar.outputs.getFiles().singleFile ] gameVersions = ["1.19", "1.19", "1.19.2"] } curseforge { apiKey = TOKEN_CURSEFORGE project { id = '521427' changelogType = 'markdown' changelog = file('Changelog.md') releaseType = 'release' mainArtifact(remapJar) { displayName = "v" + version } addGameVersion 'Fabric' addGameVersion '1.19' addGameVersion '1.19.1' addGameVersion '1.19.2' } options { forgeGradleIntegration = false } }