plugins { id "java" id "com.github.johnrengelman.shadow" version "6.1.0" id "net.minecraftforge.gradle.forge" version "ddb1eb0" id "org.jetbrains.kotlin.jvm" version "1.5.31" } version = "1.0" group = "tech.thatgravyboat" archivesBaseName = "RewardClaim" sourceCompatibility = targetCompatibility = 1.8 compileJava.options.encoding = 'UTF-8' minecraft { version = "1.8.9-11.15.1.2318-1.8.9" runDir = "run" mappings = "stable_22" makeObfSourceJar = false } configurations { include implementation.extendsFrom(include) } repositories { mavenCentral() maven { url "https://repo.sk1er.club/repository/maven-public" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url 'https://repo.spongepowered.org/maven' } maven { url 'https://jitpack.io' } } dependencies { include 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21' include "gg.essential:loader-launchwrapper:1.1.1" implementation "gg.essential:essential-1.8.9-forge:1457" } /** * This task simply replaces the `${version}` and `${mcversion}` properties in the mcmod.info with the data from Gradle */ 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, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } /** * This task simply moves resources so they can be accessed at runtime, Forge is quite weird isn't it */ task moveResources { doLast { ant.move file: "${buildDir}/resources/main", todir: "${buildDir}/classes/java" } } moveResources.dependsOn processResources classes.dependsOn moveResources tasks.reobfJar.dependsOn(tasks.shadowJar) shadowJar { archiveClassifier.set('') configurations = [project.configurations.include] duplicatesStrategy DuplicatesStrategy.EXCLUDE } compileKotlin { kotlinOptions { jvmTarget = "1.8" freeCompilerArgs = ['-Xjvm-default=enable'] } } compileTestKotlin { kotlinOptions { jvmTarget = "1.8" } }