//file:noinspection UnnecessaryQualifiedReference //file:noinspection GroovyAssignabilityCheck plugins { id "dev.architectury.architectury-pack200" version "0.1.3" id 'org.jetbrains.kotlin.jvm' version '1.6.10' id "cc.polyfrost.loom" version "0.10.0.5" id "net.kyori.blossom" version "1.3.0" id "java" } version = mod_version group = "cc.woverflow" archivesBaseName = mod_name blossom { String className = "src/main/kotlin/cc/woverflow/chatting/Chatting.kt" replaceToken("@VER@", project.version, className) replaceToken("@NAME@", mod_name, className) replaceToken("@ID@", mod_id, className) } kotlin.jvmToolchain { languageVersion = JavaLanguageVersion.of(8) } compileJava.options.encoding = 'UTF-8' loom { launchConfigs { client { arg("--tweakClass", "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker") property("mixin.debug.export", "true") } } runConfigs { client { vmArgs.remove("-XstartOnFirstThread") } } forge { pack200Provider = new dev.architectury.pack200.java.Pack200Adapter() mixinConfig("mixins.${mod_id}.json") mixin.defaultRefmapName.set("mixins.${mod_id}.refmap.json") } } configurations { include implementation.extendsFrom(include) } repositories { maven { url 'https://repo.polyfrost.cc/releases'} } dependencies { minecraft("com.mojang:minecraft:1.8.9") mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9") forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9") compileOnly ('org.spongepowered:mixin:0.7.11-SNAPSHOT') compileOnly('cc.polyfrost:oneconfig-1.8.9-forge:0.2.0-alpha+') include('cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-beta+') modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0") } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", version inputs.property "name", mod_name inputs.property "id", mod_id filesMatching("mcmod.info") { expand( "id": mod_id, "name": mod_name, "version": version ) } filesMatching("mixins.${mod_id}.json") { expand("id": mod_id) } rename '(.+_at.cfg)', 'META-INF/$1' } sourceSets { dummy main { compileClasspath += dummy.output output.resourcesDir = java.classesDirectory } } jar { dependsOn configurations.include from(configurations.include.collect { it.isDirectory() ? it : zipTree(it) }) { def i = 0 filesMatching("META-INF/NOTICE*") { name = "$name.${i++}" } filesMatching("META-INF/LICENSE*") { name = "$name.${i++}" } filesMatching("META-INF/mods.toml") { name = "$name.${i++}" } filesMatching("LICENSE*") { name = "$name.${i++}" } } manifest.attributes( 'ModSide': 'CLIENT', 'ForceLoadAsMod': true, 'MixinConfigs': "mixins.${mod_id}.json", "TweakOrder": "0", "TweakClass": "cc.polyfrost.oneconfig.loader.stage0.LaunchWrapperTweaker" ) }