buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') { changing = true } } } apply plugin: 'forge' apply plugin: 'java' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 // define the properties file ext.configFile = file "build.properties" configFile.withReader { // read config. it shall from now on be referenced as simply config or as project.config def prop = new Properties() prop.load(it) project.ext.config = new ConfigSlurper().parse prop } version=config.mod.version group= "modtweaker" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "ModTweaker2" minecraft { version = "${config.minecraft.version}-${config.forge.version}" runDir = "eclipse" replace "@modVersion@", config.mod.version } repositories { maven { name = "forestry" url = "https://maven.ic2.player.to/" metadataSources { artifact() } } } dependencies { implementation "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:api" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", config.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':config.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } task deobfJar(type: Jar) { from sourceSets.main.output classifier = 'deobf' } tasks.build.dependsOn deobfJar