buildscript { repositories { maven { name = "jitpack" url = "https://jitpack.io/" } maven { url = "https://maven.minecraftforge.net/" } maven { url = "https://repo.spongepowered.org/maven" } } dependencies { classpath "com.github.asbyth:ForgeGradle:8708bf3e01" classpath 'com.github.xcfrg:MixinGradle:0.6-SNAPSHOT' classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0' } } apply plugin: 'java' apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = "1.13" group= "com.thatgravyboat.skyblockhud" archivesBaseName = "SkyBlockHud" String mixinClassifier = "dep" minecraft { version = "1.8.9-11.15.1.2318-1.8.9" runDir = "run" mappings = "stable_22" } repositories { maven { url 'https://repo.spongepowered.org/maven/' } flatDir { dirs 'deps' } } dependencies { compile('org.spongepowered:mixin:0.7.11-SNAPSHOT') annotationProcessor('org.spongepowered:mixin:0.7.11-SNAPSHOT') } mixin { add sourceSets.main, "mixins.skyblockhud.refmap.json" } jar { manifest.attributes( 'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker', 'MixinConfigs': "mixins.skyblockhud.json", 'FMLCorePluginContainsFMLMod': true, "ForceLoadAsMod": true ) } shadowJar { dependencies { include(dependency('org.spongepowered:mixin:0.7.11-SNAPSHOT')) } exclude 'module-info.class' exclude 'dummyThing' exclude 'LICENSE.txt' classifier = mixinClassifier } reobf { shadowJar { mappingType = 'SEARGE' } } build.dependsOn(shadowJar) runClient.dependsOn(build) processResources { inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' expand 'version':project.version, 'mcversion':project.minecraft.version } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } rename '(.+_at.cfg)', 'META-INF/$1' } task moveResources { doLast { ant.move file: "${buildDir}/resources/main", todir: "${buildDir}/classes/java" } } moveResources.dependsOn processResources classes.dependsOn moveResources