architectury { platformSetupLoomIde() fabric() } loom { accessWidenerPath = project(":common").loom.accessWidenerPath } val common: Configuration by configurations.creating val shadowCommon: Configuration by configurations.creating configurations { compileOnly.configure { extendsFrom(common) } runtimeOnly.configure { extendsFrom(common) } } dependencies { modImplementation("net.fabricmc:fabric-loader:${rootProject.property("fabric.loader_version")}") modImplementation("net.fabricmc.fabric-api:fabric-api:${rootProject.property("fabric.version")}") common(project(":common", "namedElements")) { isTransitive = false } shadowCommon(project(":common", "transformProductionFabric")){ isTransitive = false } } tasks { processResources { inputs.property("version", project.version) filesMatching("fabric.mod.json") { expand(mapOf( "version" to project.version, "mod_id" to rootProject.property("mod_id"), "minecraft_version" to rootProject.property("minecraft_version"), "minecraft_base_version" to rootProject.property("minecraft_base"), "fabric_loader_version" to rootProject.property("fabric.loader_version") )) } exclude("architectury.common.json") } remapJar { injectAccessWidener.set(true) } jar { from("../LICENSE.md") from("../assets/logo.png") { rename { "assets/weatherchanger/icon.png" } } dependsOn(":common:transformProductionFabric") from({ shadowCommon.filter { it.name.endsWith("jar") }.map { zipTree(it) } }) } } java { withSourcesJar() } publishing { publications { create("mavenJava") { 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. } }