buildscript { repositories { maven { url = "https://maven.minecraftforge.net" } mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true } } plugins { id 'com.github.johnrengelman.shadow' version '7.0.0' } apply plugin: 'net.minecraftforge.gradle' tasks.withType(JavaCompile) { // override, compile targeting J17 options.release = 17 } minecraft { mappings channel: 'official', version: '1.18.1' accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') } configurations { shade implementation.extendsFrom shade } dependencies { minecraft 'net.minecraftforge:forge:1.18.1-39.0.8' shade project(':spark-common') } processResources { from(sourceSets.main.resources.srcDirs) { include 'META-INF/mods.toml' expand ( 'pluginVersion': project.pluginVersion, 'pluginDescription': project.pluginDescription ) } from(sourceSets.main.resources.srcDirs) { exclude 'META-INF/mods.toml' } } shadowJar { archiveName = 'spark-forge.jar' configurations = [project.configurations.shade] relocate 'okio', 'me.lucko.spark.lib.okio' relocate 'okhttp3', 'me.lucko.spark.lib.okhttp3' 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 'org.tukaani.xz', 'me.lucko.spark.lib.xz' 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' exclude 'module-info.class' exclude 'META-INF/maven/**' exclude 'META-INF/proguard/**' } artifacts { archives shadowJar shadow shadowJar } reobf { shadowJar { dependsOn createMcpToSrg mappings = createMcpToSrg.outputs.files.singleFile } }