buildscript { repositories { maven { // url = 'https://maven.cleanroommc.com' url = 'https://maven.minecraftforge.net' } maven { url = 'https://repo.spongepowered.org/maven' } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3.4' if (project.use_mixins.toBoolean()) { classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT' } } } apply plugin: 'net.minecraftforge.gradle.forge' if (project.use_mixins.toBoolean()) { 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' def args = [] if (project.use_coremod.toBoolean()) { args << '-Dfml.coreMods.load=' + coremod_plugin_class_name } if (project.use_mixins.toBoolean()) { args << '-Dmixin.hotSwap=true' args << '-Dmixin.checks.interfaces=true' args << '-Dmixin.debug.export=true' } clientJvmArgs.addAll(args) serverJvmArgs.addAll(args) } repositories { maven { url = 'https://maven.cleanroommc.com' } maven { url = 'https://repo.spongepowered.org/maven' } } dependencies { if (project.use_assetmover.toBoolean()) { deobfCompile 'com.cleanroommc:assetmover:0.2' } if (project.use_mixins.toBoolean()) { deobfCompile 'zone.rong:mixinbooter:5.0' } } 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' } if (project.use_access_transformer.toBoolean()) { rename '(.+_at.cfg)', 'META-INF/$1' // Access Transformers } } jar { manifest { def attribute_map = [:] if (project.use_coremod.toBoolean()) { attribute_map['FMLCorePlugin'] = project.coremod_plugin_class_name if (project.include_mod.toBoolean()) { attribute_map['FMLCorePluginContainsFMLMod'] = true attribute_map['ForceLoadAsMod'] = project.gradle.startParameter.taskNames[0] == "build" } } if (project.use_mixins.toBoolean()) { attribute_map['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker' } if (project.use_access_transformer.toBoolean()) { attribute_map['FMLAT'] = project.archives_base_name + '_at.cfg' } attributes(attribute_map) } }