plugins { id 'io.github.goooler.shadow' version '8.1.7' id 'net.neoforged.gradle.userdev' version '7.0.142' } tasks.withType(JavaCompile).configureEach { // override, compile targeting J21 options.release = 21 } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } minecraft { accessTransformers { file('src/main/resources/META-INF/accesstransformer.cfg') } } configurations { shade implementation.extendsFrom shade } dependencies { implementation "net.neoforged:neoforge:21.0.10-beta" 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.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' exclude 'module-info.class' exclude 'META-INF/maven/**' exclude 'META-INF/proguard/**' exclude '**/*.proto' exclude '**/*.proto.bin' } artifacts { archives shadowJar shadow shadowJar }