plugins { id 'com.gradleup.shadow' version '8.3.0' id 'net.neoforged.moddev' version '1.0.23' } tasks.withType(JavaCompile).configureEach { // override, compile targeting J21 options.release = 21 } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } neoForge { version = "21.4.10-beta" validateAccessTransformers = true runs { client { client() } server { server() } } mods { spark { sourceSet sourceSets.main } } } configurations { shade implementation.extendsFrom shade } dependencies { shade project(':spark-common') } processResources { from(sourceSets.main.resources.srcDirs) { include 'META-INF/neoforge.mods.toml' expand ( 'pluginVersion': project.pluginVersion, 'pluginDescription': project.pluginDescription ) } from(sourceSets.main.resources.srcDirs) { exclude 'META-INF/neoforge.mods.toml' } } shadowJar { archiveFileName = "spark-${project.pluginVersion}-neoforge.jar" configurations = [project.configurations.shade] relocate 'net.kyori.adventure', 'me.lucko.spark.lib.adventure' relocate 'net.kyori.examination', 'me.lucko.spark.lib.adventure.examination' relocate 'net.kyori.option', 'me.lucko.spark.lib.adventure.option' relocate 'net.bytebuddy', 'me.lucko.spark.lib.bytebuddy' relocate 'com.google.protobuf', 'me.lucko.spark.lib.protobuf' relocate 'org.objectweb.asm', 'me.lucko.spark.lib.asm' relocate 'one.profiler', 'me.lucko.spark.lib.asyncprofiler' relocate 'me.lucko.bytesocks.client', 'me.lucko.spark.lib.bytesocks' relocate 'org.java_websocket', 'me.lucko.spark.lib.bytesocks.ws' project.applyExcludes(delegate) mergeServiceFiles() } artifacts { archives shadowJar shadow shadowJar }