buildscript { repositories { //new forge repository maven { url "https://maven.minecraftforge.net" } maven { url 'https://repo.spongepowered.org/maven'} mavenCentral() } dependencies { classpath "net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT" classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT' } } plugins { id "java" id "com.github.johnrengelman.shadow" version "2.0.4" } apply plugin: 'net.minecraftforge.gradle.tweaker-client' apply plugin: 'org.spongepowered.mixin' version = "1.0.0" group = "gq.malwarefight.nosession" archivesBaseName = "nosession" compileJava.sourceCompatibility = compileJava.targetCompatibility = 1.8 compileJava.options.encoding = "UTF-8" minecraft { version = "1.8.9" runDir = "run" mappings = "stable_22" //mappings for 1.8.9 makeObfSourceJar = false //disable creation of sources jar tweakClass = 'gq.malwarefight.nosession.mixin.InitialTweaker' } configurations { shade compile.extendsFrom(shade) } repositories { maven { url 'https://repo.spongepowered.org/maven/' } maven { url 'https://maven.minecraftforge.net/' } mavenCentral() } dependencies { shade('org.spongepowered:mixin:0.7.10-SNAPSHOT') { exclude module: 'launchwrapper' exclude module: 'guava' exclude module: 'gson' exclude module: 'commons-io' exclude module: 'log4j-core' } } processResources { //replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include "mcmod.info" //replace version and mcversion expand "version":project.version, "mcversion":project.minecraft.version } //copy everything else, that"s not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude "mcmod.info" } rename '(.+_at.cfg)', 'META-INF/$1' } shadowJar { dependencies {} configurations = [project.configurations.shade] duplicatesStrategy DuplicatesStrategy.EXCLUDE //prevent duplicates classifier "" //prevent creation of unshadowed jar } reobf { //reobfuscate the shadowed jar shadowJar {} } jar { manifest { attributes "ForceLoadAsMod": true, "TweakOrder": 0, "ModSide": "CLIENT", 'FMLCorePluginContainsFMLMod': true, 'TweakClass': 'gq.malwarefight.nosession.mixin.InitialTweaker', 'MixinConfigs': 'mixins.nosession.json' } } sourceSets { main { ext.refMap = "mixins.nosession.refmap.json" } }