buildscript { repositories { jcenter() maven { name 'forge' url 'http://files.minecraftforge.net/maven' } maven { name = 'sponge' url = 'https://repo.spongepowered.org/maven' } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT' classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4' } } plugins { id 'org.ajoberstar.grgit' version '1.7.2' } apply plugin: 'net.minecraftforge.gradle.liteloader' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' ext { revision = grgit.log().size() hash = grgit.head().abbreviatedId if (file('.git/shallow').exists()) { // don't clone with --depth revision = -1 hash += " shallow" } } if (project.release != 'RELEASE') { version += "-${project.release}" } if (project.release == 'SNAPSHOT') { version += "-${project.revision}-${project.hash}" } group = project.group description = project.displayname targetCompatibility = 1.8 sourceCompatibility = 1.8 minecraft { version = project.minecraft_version mappings = project.mappings_version runDir = 'run' replace '@VERSION@', project.version } sourceSets { hdskins { compileClasspath += main.compileClasspath ext.refMap = 'hdskins.mixin.refmap.json' } main { compileClasspath += hdskins.output ext.refMap = 'minelp.mixin.refmap.json' } } dependencies { // use the same version as httpclient compile('org.apache.httpcomponents:httpmime:4.3.2') { transitive = false } } manifest { attributes 'Implementation-Version': "${project.version} (git-${project.hash})" } litemod.json { mcversion = project.minecraft_version displayName = project.displayname author = project.authors revision = project.revision description = project.description description.minelittlepony = project.description_mlp description.hdskinsmod = project.description_hd mixinConfigs += [ 'minelp.mixin.json', 'hdskins.mixin.json' ] } afterEvaluate { file('build.number').delete() } jar { from sourceSets.hdskins.output from litemod classifier 'base' extension 'jar' } archivesBasename = "mod-${project.name.toLowerCase()}" shadowJar { extension 'litemod' classifier "mc$minecraft.version" from sourceSets.hdskins.output from litemod dependencies { exclude dependency('deobf.com.mumfrey:liteloader:') exclude dependency('deobf.org.ow2.asm:') exclude 'META-INF/**' } relocate 'org.apache.http.entity.mime', 'com.voxelmodpack.repack.org.apache.http.entity.mime' exclude 'dummyThing' } sourceJar { // add hdskins sources from sourceSets.hdskins.allSource } task srgJar(type: Jar) { from sourceSets.main.output from sourceSets.hdskins.output from litemod classifier "mc$minecraft.version-srg" } task skinZip(type: Zip) { from fileTree('skins') baseName 'Pony Skin Resources' version 'v1' } artifacts { archives shadowJar } reobf { srgJar { mappingType = 'SEARGE' } shadowJar{} } mixin { defaultObfuscationEnv notch } // windows only task deploy(type: Copy, dependsOn: build) { from jar.archivePath into file("$System.env.APPDATA/.minecraft/mods") }