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' } group = "me.djtheredstoner" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 compileJava.options.encoding = 'UTF-8' sourceSets { main { output.resourcesDir = java.outputDir } } loom { launchConfigs { client { property("fml.coreMods.load", "me.djtheredstoner.perspectivemod.forge.PerspectiveModTweaker") arg("--tweakClass", "gg.essential.loader.stage0.EssentialSetupTweaker") } } forge { pack200Provider = new Pack200Adapter() } } configurations { embed implementation.extendsFrom(embed) } 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 "gg.essential:loader-launchwrapper:1.1.3" implementation "gg.essential:essential-1.8.9-forge:4804+g97db1f45b" } jar { archiveClassifier.set("deobf") } shadowJar { archiveClassifier.set("shadow") duplicatesStrategy = DuplicatesStrategy.EXCLUDE configurations = [project.configurations.embed] manifest.attributes( 'FMLCorePluginContainsFMLMod': true, "ForceLoadAsMod": true, 'ModSide': 'CLIENT', "FMLCorePlugin": "me.djtheredstoner.perspectivemod.forge.PerspectiveModTweaker", "TweakClass": "gg.essential.loader.stage0.EssentialSetupTweaker" ) } remapJar { archiveClassifier.set("") from shadowJar input.set(shadowJar.archiveFile) } 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")) }