//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.woverflow.loom" version "0.10.6" id "net.kyori.blossom" version "1.3.0" id "java" } version = mod_version group = "com.example" 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.woverflow.onecore.tweaker.OneCoreTweaker") property("onecore.mixin", "mixins.${mod_id}.json") } } runConfigs { client { ideConfigGenerated = true } } 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.woverflow.cc/' } } 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 'gg.essential:essential-1.8.9-forge:1933' compileOnly 'cc.woverflow:onecore:1.3.3' include ('cc.woverflow:onecore-tweaker:1.3.0') { transitive = false } compileOnly ('org.spongepowered:mixin:0.8.5-SNAPSHOT') } 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, 'TweakClass': 'cc.woverflow.onecore.tweaker.OneCoreTweaker', 'MixinConfigs': "mixins.${mod_id}.json", "TweakOrder": "0" ) }