buildscript { repositories { jcenter() maven { url = 'https://maven.cleanroommc.com' } maven { url = 'https://repo.spongepowered.org/maven' } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3.4' if (project.use_mixins) { classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT' } } } apply plugin: 'net.minecraftforge.gradle.forge' if (project.use_mixins) { apply plugin: 'org.spongepowered.mixin' } version = project.mod_version group = project.maven_group archivesBaseName = project.archives_base_name sourceCompatibility = targetCompatibility = '1.8' compileJava { sourceCompatibility = targetCompatibility = '1.8' } configurations { embed implementation.extendsFrom(embed) } minecraft { version = '1.12.2-14.23.5.2847' runDir = 'run' mappings = 'stable_39' } repositories { maven { url = 'https://maven.cleanroommc.com' } maven { url = 'https://repo.spongepowered.org/maven' } } dependencies { if (project.use_assetmover) { deobfCompile 'com.cleanroommc:assetmover:0.2' } if (project.use_mixins) { embed ('org.spongepowered:mixin:0.8.3') { exclude module: 'asm-commons' exclude module: 'asm-tree' exclude module: 'launchwrapper' exclude module: 'guava' exclude module: 'log4j-core' exclude module: 'gson' exclude module: 'commons-io' } annotationProcessor 'org.spongepowered:mixin:0.8.3:processor' } } sourceSets { main { ext.refMap = 'mixins.' + archives_base_name + '.refmap.json' } } processResources { // this will ensure that this task is redone when the versions change. inputs.property 'version', project.version inputs.property 'mcversion', project.minecraft.version // 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 except the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } rename '(.+_at.cfg)', 'META-INF/$1' // Access Transformers } jar { manifest { def attribute_map = [:] if (project.use_coremod) { attribute_map['FMLCorePlugin'] = project.coremod_plugin_class_name } if (project.use_mixins) { attribute_map['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker' } attributes(attribute_map) } if (project.use_mixins && project.pack_mixins_in_jar) { from (configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }) { exclude 'LICENSE.txt', 'module-info.class', 'META-INF/*' } } }