buildscript { ext.kotlin_version = '1.7.10' repositories { maven { name = 'jitpack' url = 'https://jitpack.io/' } maven { url = 'https://maven.minecraftforge.net/' } maven { url = 'https://repo.spongepowered.org/maven' } mavenCentral() } dependencies { classpath 'com.github.asbyth:ForgeGradle:8708bf3e01' classpath 'com.github.xcfrg:MixinGradle:0.6-SNAPSHOT' classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '0.6' group= 'at.lorenz.mod' archivesBaseName = 'LorenzMod' String mixinClassifier = 'dep' minecraft { version = '1.8.9-11.15.1.2318-1.8.9' runDir = 'run' mappings = 'stable_22' } repositories { maven { url 'https://repo.spongepowered.org/maven/' } flatDir { dirs 'deps' } mavenCentral() } dependencies { compile('org.spongepowered:mixin:0.7.11-SNAPSHOT') annotationProcessor('org.spongepowered:mixin:0.7.11-SNAPSHOT') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } compileJava { [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' } mixin { add sourceSets.main, 'mixins.lorenzmod.refmap.json' } jar { manifest.attributes( 'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker', 'MixinConfigs': 'mixins.lorenzmod.json', 'FMLCorePluginContainsFMLMod': true, 'ForceLoadAsMod': true ) } shadowJar { dependencies { include('org.spongepowered:mixin:0.7.11-SNAPSHOT') } exclude 'module-info.class' exclude 'dummyThing' exclude 'LICENSE.txt' archiveClassifier.set(mixinClassifier) } reobf { shadowJar { mappingType = 'SEARGE' } } build.dependsOn(shadowJar) runClient.dependsOn(build) processResources { inputs.property 'version', project.version inputs.property 'mcversion', project.minecraft.version from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' expand 'version':project.version, 'mcversion':project.minecraft.version } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } rename '(.+_at.cfg)', 'META-INF/$1' } task moveResources { doLast { ant.move file: "${buildDir}/resources/main", todir: "${buildDir}/classes/java" } } moveResources.dependsOn processResources classes.dependsOn moveResources compileKotlin { kotlinOptions { jvmTarget = "1.8" } } compileTestKotlin { kotlinOptions { jvmTarget = "1.8" } }