import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform apply plugin: 'java' apply plugin: 'application' group = 'minecraft' version = 'a1.1.2_01' OperatingSystem os = DefaultNativePlatform.currentOperatingSystem compileJava { sourceCompatibility = targetCompatibility = 1.8 options.encoding = 'UTF-8' } application { mainClassName = 'net.minecraft.client.Minecraft' } run { workingDir = new File(buildDir, 'run') if (!workingDir.exists()) { workingDir.mkdir() } systemProperty 'java.library.path', file("$buildDir/natives") } repositories { flatDir { dirs '../libs' } } dependencies { compile name: 'org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0' compile name: 'org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0' compile name: 'net/java/jinput/jinput/2.0.5/jinput-2.0.5' compile name: 'net/java/jutils/jutils/1.0.0/jutils-1.0.0' compile name: 'paulscode' if (os.isWindows()) { compile name: 'org/lwjgl/lwjgl/lwjgl-platform/2.9.0/lwjgl-platform-2.9.0-natives-windows' compile name: 'net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows' } else { compile name: 'org/lwjgl/lwjgl/lwjgl-platform/2.9.0/lwjgl-platform-2.9.0-natives-linux' compile name: 'net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux' } } tasks.register('copyNatives').configure { doLast { def classifier def suffix if (os.isWindows()) { classifier = 'natives-windows' suffix = '-natives-windows' } else { classifier = 'natives-linux' suffix = '-natives-linux' } copy { def resolvedArtifacts = configurations.compile.resolvedConfiguration.resolvedArtifacts def matches = resolvedArtifacts.findAll {it.classifier == classifier || it.name.endsWith(suffix)} from matches.collect { it.file }.collect { zipTree(it).matching { exclude 'META-INF/**' } } into "$buildDir/natives" } } }