plugins { id "com.github.johnrengelman.shadow" version "7.1.2" } architectury { platformSetupLoomIde() neoForge() } loom { neoForge { runs { all {} data { data() programArgs("--all", "--mod", "integrated_cobblemon") programArgs("--existing", project(":common").file("src/main/resources").absolutePath) programArgs("--output", project(":common").file("src/main/generated/resources").absolutePath) all {} } } } } configurations { common shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common developmentForge.extendsFrom common } dependencies { neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}" modLocalRuntime("curse.maven:intapi-${project.intapi_curseforge_id}:${project.intapi_curseforge_file_id_neoforge}") implementation "software.bernie.geckolib:geckolib-neoforge-${minecraft_version}:${geckolib_version}" compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar"))) modLocalRuntime(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar"))) modLocalRuntime("com.telepathicgrunt:CommandStructures-Neoforge:${project.commandstructures_neoforge}") modLocalRuntime("com.telepathicgrunt:StructureVoidToggle-Neoforge:${project.structurevoidtoggle_neoforge}") // modLocalRuntime("curse.maven:idas-${idas_curseforge_id}:${idas_curseforge_file_id}") // modLocalRuntime("curse.maven:jei-${jei_curseforge_id}:${jei_curseforge_file_id}") // modLocalRuntime("curse.maven:create-${create_curseforge_id}:${create_curseforge_file_id}") // modLocalRuntime("curse.maven:theoneprobe-${top_curseforge_id}:${top_curseforge_file_id}") // modLocalRuntime("curse.maven:worldedit-${worldedit_curseforge_id}:${worldedit_curseforge_file_id}") // modLocalRuntime("curse.maven:alexsmobs-${alexsmobs_curseforge_id}:${alexsmobs_curseforge_file_id}") // modLocalRuntime("curse.maven:citadel-${citadel_curseforge_id}:${citadel_curseforge_file_id}") // modLocalRuntime("curse.maven:rs-${rs_curseforge_id}:${rs_curseforge_file_id}") // modLocalRuntime("curse.maven:biomesoplenty-${bop_curseforge_id}:${bop_curseforge_file_id}") // modLocalRuntime("curse.maven:tb-${tb_curseforge_id}:${tb_curseforge_file_id}") // modLocalRuntime("curse.maven:quark-${quark_curseforge_id}:${quark_curseforge_file_id}") // modLocalRuntime("curse.maven:zeta-${zeta_curseforge_id}:${zeta_curseforge_file_id}") // // modLocalRuntime("curse.maven:sup-${sup_curseforge_id}:${sup_curseforge_file_id}") // modLocalRuntime("curse.maven:midnight-${midnight_curseforge_id}:${midnight_curseforge_file_id}") // modLocalRuntime("curse.maven:waystones-${waystones_curseforge_id}:${waystones_curseforge_file_id}") // modLocalRuntime("curse.maven:balm-${balm_curseforge_id}:${balm_curseforge_file_id}") // implementation("curse.maven:if-${if_curseforge_id}:${if_curseforge_file_id}") // modLocalRuntime("curse.maven:citadel-${citadel_curseforge_id}:${citadel_curseforge_file_id}") common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } // implementation(annotationProcessor("com.github.llamalad7.mixinextras:mixinextras-common:${rootProject.mixin_extras}")) // implementation(include("com.github.llamalad7.mixinextras:mixinextras-forge:${rootProject.mixin_extras}")) } processResources { inputs.property "version", project.version filesMatching("META-INF/neoforge.mods.toml") { expand "version": project.version } } shadowJar { exclude "fabric.mod.json" exclude "architectury.common.json" configurations = [project.configurations.shadowCommon] archiveClassifier.set("dev-shadow") } remapJar { input.set shadowJar.archiveFile dependsOn shadowJar archiveClassifier.set(null) } jar { archiveClassifier.set("dev") } sourcesJar { def commonSources = project(":common").sourcesJar dependsOn commonSources from commonSources.archiveFile.map { zipTree(it) } } components.java { withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { skip() } }