plugins { id 'idea' id 'maven-publish' id 'net.neoforged.gradle.userdev' version '7.0.142' id 'java-library' } if (System.getenv('BUILD_NUMBER') != null) { version += "." + System.getenv('BUILD_NUMBER') } base { archivesName = "${mod_id}-neoforge-${minecraft_version}" } //jarJar.enable() //archivesBaseName = "${mod_id}-neoforge-${minecraft_version}" /* mixin { add sourceSets.main, "${mod_id}.refmap.json" config "${mod_id}.mixins.json" config "${mod_id}.forge.mixins.json" } */ if (file('src/main/resources/META-INF/accesstransformer.cfg').exists()) { minecraft.accessTransformers.file file('src/main/resources/META-INF/accesstransformer.cfg') } runs { // applies to all the run configs below configureEach { modSource project.sourceSets.main } client { // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } server { systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id programArgument '--nogui' } // This run config launches GameTestServer and runs all registered gametests, then exits. // By default, the server will crash when no gametests are provided. // The gametest system is also enabled by default for other run configs under the /test command. gameTestServer { systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } data { // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it // workingDirectory project.file('run-data') // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() } } sourceSets.main.resources.srcDir 'src/generated/resources' dependencies { implementation "net.neoforged:neoforge:${neoforge_version}" compileOnly project(":Common") //implementation fg.deobf("net.darkhax.gamestages:GameStages-Forge-1.19.2:11.0.2") //implementation fg.deobf("net.darkhax.bookshelf:Bookshelf-Forge-1.19.3:17.0.2") } // NeoGradle compiles the game, but we don't want to add our common code to the game's code Spec notNeoTask = { Task it -> !it.name.startsWith("neo") } as Spec tasks.withType(JavaCompile).matching(notNeoTask).configureEach { source(project(":Common").sourceSets.main.allSource) } tasks.withType(Javadoc).matching(notNeoTask).configureEach { source(project(":Common").sourceSets.main.allJava) } tasks.named("sourcesJar", Jar) { from(project(":Common").sourceSets.main.allSource) } tasks.withType(ProcessResources).matching(notNeoTask).configureEach { from project(":Common").sourceSets.main.resources } publishing { publications { mavenJava(MavenPublication) { artifactId base.archivesName.get() from components.java } } repositories { maven { url "file://" + System.getenv("local_maven") } } }