plugins { id 'com.github.johnrengelman.shadow' } architectury { platformSetupLoomIde() neoForge() } configurations { common { canBeResolved = true canBeConsumed = false } compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common developmentNeoForge.extendsFrom common // Files in this configuration will be bundled into your mod using the Shadow plugin. // Don't use the `shadow` configuration from the plugin itself as it's meant for excluding files. shadowBundle { canBeResolved = true canBeConsumed = false } } repositories { maven { name = 'NeoForged' url = 'https://maven.neoforged.net/releases' } } dependencies { neoForge "net.neoforged:neoforge:$rootProject.neoforge_version" // Architectury API. This is optional, and you can comment it out if you don't need it. modImplementation "dev.architectury:architectury-neoforge:$rootProject.architectury_api_version" common(project(path: ':common', configuration: 'namedElements')) { transitive false } shadowBundle project(path: ':common', configuration: 'transformProductionNeoForge') } processResources { inputs.property 'version', project.version filesMatching('META-INF/neoforge.mods.toml') { expand version: project.version } } shadowJar { configurations = [project.configurations.shadowBundle] archiveClassifier = 'dev-shadow' } remapJar { input.set shadowJar.archiveFile }