plugins { id "dev.architectury.loom" version "1.1-SNAPSHOT" id "maven-publish" } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group loom { forge { mixinConfigs = [ "anvillib.mixins.json" ] } } repositories { maven { url "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/" } } 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" forge "net.minecraftforge:forge:${project.forge_version}" modImplementation "software.bernie.geckolib:geckolib-forge-1.18:3.0.57" } processResources { // this will replace the property "${version}" in your mods.toml // with the version you've defined in your gradle.properties filesMatching("META-INF/mods.toml") { expand "version": project.version } } tasks.withType(JavaCompile) { options.encoding = "UTF-8" 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 { // add some additional metadata to the jar manifest manifest { attributes([ "Specification-Title" : project.mod_id, "Specification-Vendor" : project.mod_author, "Specification-Version" : "1", "Implementation-Title" : project.name, "Implementation-Version" : version, "Implementation-Vendor" : project.mod_author, "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } sourcesJar { archiveClassifier = "sources" } // configure the maven publication publishing { publications { mavenJava(MavenPublication) { from components.java artifactId = project.archivesBaseName } } repositories { if (project.hasProperty("mvnURL")) { maven { credentials { username findProperty("mvnUsername") password findProperty("mvnPassword") } url = findProperty("mvnURL") } } mavenLocal() } }