plugins { id 'dev.architectury.loom' version '1.10-SNAPSHOT' apply false id 'architectury-plugin' version '3.4-SNAPSHOT' id 'com.github.johnrengelman.shadow' version '8.1.1' apply false } architectury { minecraft = project.minecraft_version } allprojects { group = rootProject.maven_group version = rootProject.mod_version } subprojects { apply plugin: 'dev.architectury.loom' apply plugin: 'architectury-plugin' apply plugin: 'maven-publish' base { // Set up a suffixed format for the mod jar names, e.g. `example-fabric`. archivesName = "$rootProject.archives_name-$project.name" } repositories { // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. // See https://docs.gradle.org/current/userguide/declaring_repositories.html // for more information about repositories. maven { url = 'https://maven.parchmentmc.org' } } loom { silentMojangMappingsLicense() } dependencies { minecraft "net.minecraft:minecraft:$rootProject.minecraft_version" mappings loom.layered() { officialMojangMappings() parchment ("org.parchmentmc.data:parchment-1.20.1:2023.09.03@zip") } } 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 } tasks.withType(JavaCompile).configureEach { it.options.encoding = "UTF-8" it.options.release = 17 def resourceTargets=["fabric.mod.json",'META-INF/mods.toml']; def replaceProperties = [ mod_name: mod_name, mod_version: mod_version, mod_source:mod_source, mod_credits:mod_credits, mod_authors: mod_authors, mod_description: mod_description, mod_licence:mod_licence, group:maven_group] processResources { inputs.properties replaceProperties filesMatching(resourceTargets) { expand replaceProperties } } } // Configure Maven publishing. publishing { publications { mavenJava(MavenPublication) { artifactId = base.archivesName.get() 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. } } }