plugins { // Note: This is only needed for multi-loader projects // The main architectury loom version is set at the start of the root build.gradle id "architectury-plugin" version "3.4-SNAPSHOT" } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 architectury { platformSetupLoomIde() forge() } //loom { // forge { // convertAccessWideners.set(true) // extraAccessWideners.add("lod.accesswidener") // mixinConfigs("DistantHorizons.mixins.json") // } //} loom { silentMojangMappingsLicense() // Shut the licencing warning accessWidenerPath = project(":common").file("src/main/resources/${accessWidenerVersion}.distanthorizons.accesswidener") forge { convertAccessWideners = true extraAccessWideners.add loom.accessWidenerPath.get().asFile.name mixinConfigs = [ "DistantHorizons.forge.mixins.json" ] } // "runs" isn't required, but when we do need it then it can be useful runs { client { client() setConfigName("Forge Client") ideConfigGenerated(true) runDir("../run") // vmArgs("-XX:-OmitStackTraceInFastThrow", minecraftMemoryJavaArg) } server { server() setConfigName("Forge Server") ideConfigGenerated(true) runDir("../run") } } } remapJar { inputFile = shadowJar.archiveFile dependsOn shadowJar // classifier null } def addMod(path, enabled) { if (enabled == "2") dependencies { implementation(path) } else if (enabled == "1") dependencies { modCompileOnly(path) } } dependencies { minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" mappings loom.layered() { // Mojmap mappings officialMojangMappings() // Parchment mappings (it adds parameter mappings & javadoc) parchment("org.parchmentmc.data:parchment-${rootProject.parchment_version}@zip") } // Forge forge "net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}" // Architectury API // if (minecraft_version == "1.16.5") { // implementation("me.shedaniel:architectury-forge:${rootProject.architectury_version}") // } else { // implementation("dev.architectury:architectury-forge:${rootProject.architectury_version}") // } // Starlight addMod("curse.maven:starlight-forge-526854:${rootProject.starlight_version_forge}", rootProject.enable_starlight_forge) // annotationProcessor "org.spongepowered:mixin:0.8.4:processor" addMod("curse.maven:TerraForged-363820:${rootProject.terraforged_version}", rootProject.enable_terraforged) addMod("curse.maven:TerraFirmaCraft-302973:4616004", rootProject.enable_terrafirmacraft) // if (System.getProperty("idea.sync.active") != "true") { // annotationProcessor "org.spongepowered:mixin:0.8.4:processor" // } } task deleteResources(type: Delete) { delete file("build/resources/main") } tasks.register('copyAllResources') { dependsOn(copyCoreResources) dependsOn(copyCommonLoaderResources) } processResources { dependsOn(tasks.named('copyAllResources')) } tasks.named('runClient') { dependsOn(tasks.named('copyAllResources')) finalizedBy(deleteResources) } sourcesJar { def commonSources = project(":common").sourcesJar dependsOn commonSources from commonSources.archiveFile.map { zipTree(it) } } //components.java { // withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { // skip() // } //}