import dev.architectury.pack200.java.Pack200Adapter plugins { id 'idea' id 'java' id 'gg.essential.loom' version '0.10.0.+' id 'dev.architectury.architectury-pack200' version '0.1.3' id 'com.github.johnrengelman.shadow' version '7.1.2' id 'net.kyori.blossom' version '1.2.0' id 'maven-publish' } sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 compileJava.options.encoding = 'UTF-8' sourceSets { main { output.resourcesDir = java.classesDirectory } } loom { forge { pack200Provider = new Pack200Adapter() } } configurations { embed implementation.extendsFrom(embed) } blossom { replaceToken("@version@", project.pluginVersion) } repositories { mavenCentral() maven { url = "https://repo.sk1er.club/repository/maven-public/" } maven { url = "https://jitpack.io/" } maven { url = "https://repo.spongepowered.org/repository/maven-public/" } } dependencies { minecraft 'com.mojang:minecraft:1.8.9' mappings 'de.oceanlabs.mcp:mcp_stable:22-1.8.9' forge 'net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9' embed project(':spark-common') } jar { archiveClassifier.set("deobf") } shadowJar { archiveFileName.set("spark-forge189.jar") configurations = [project.configurations.embed] duplicatesStrategy = DuplicatesStrategy.EXCLUDE 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' relocate 'me.lucko.bytesocks.client', 'me.lucko.spark.lib.bytesocks' relocate 'com.neovisionaries.ws', 'me.lucko.spark.lib.websockets' exclude 'module-info.class' exclude 'META-INF/maven/**' exclude 'META-INF/proguard/**' } remapJar { archiveClassifier.set("USETHISONE") from shadowJar input.set(shadowJar.archiveFile) } artifacts { archives shadowJar shadow shadowJar } build.dependsOn(shadowJar) processResources { duplicatesStrategy = DuplicatesStrategy.EXCLUDE // this will ensure that this task is redone when the versions change. inputs.property "version", project.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version': project.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } from(file("LICENSE")) } publishing { publications { maven(MavenPublication) { artifactId = 'spark-forge189' groupId = project.group version = project.version artifact(tasks.shadowJar) { classifier = "devmod" } artifact(tasks.remapJar) { classifier = "mod" } } } }