diff options
98 files changed, 1628 insertions, 967 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index 1f20571..944612c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,25 +1,22 @@ -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import gg.essential.gradle.multiversion.StripReferencesTransform.Companion.registerStripReferencesAttribute import gg.essential.gradle.util.RelocationTransform.Companion.registerRelocationAttribute -import gg.essential.gradle.util.noServerRunConfigs import gg.essential.gradle.util.prebundle -import net.fabricmc.loom.task.RemapSourcesJarTask plugins { - kotlin("jvm") - id("gg.essential.multi-version") + kotlin("jvm") version "1.6.21" id("gg.essential.defaults.repo") id("gg.essential.defaults.java") - id("gg.essential.defaults.loom") - id("com.github.johnrengelman.shadow") id("net.kyori.blossom") version "1.3.0" - id("io.github.juuxel.loom-quiltflower-mini") - id("org.jetbrains.dokka") version "1.6.21" id("maven-publish") id("signing") java } +kotlin.jvmToolchain { + (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(8)) +} + java { withSourcesJar() } @@ -28,10 +25,6 @@ val mod_name: String by project val mod_version: String by project val mod_id: String by project -preprocess { - vars.put("MODERN", if (project.platform.mcMinor >= 16) 1 else 0) -} - blossom { replaceToken("@VER@", mod_version) replaceToken("@NAME@", mod_name) @@ -40,25 +33,6 @@ blossom { version = mod_version group = "cc.polyfrost" -base { - archivesName.set("$mod_id-$platform") -} -loom { - noServerRunConfigs() - if (project.platform.isLegacyForge) { - launchConfigs.named("client") { - arg("--tweakClass", "cc.polyfrost.oneconfig.internal.plugin.asm.OneConfigTweaker") - property("mixin.debug.export", "true") - property("debugBytecode", "true") - } - } - if (project.platform.isForge) { - forge { - mixinConfig("mixins.${mod_id}.json") - } - } - mixin.defaultRefmapName.set("mixins.${mod_id}.refmap.json") -} repositories { maven("https://repo.polyfrost.cc/releases") @@ -90,12 +64,29 @@ sourceSets { } } +val common = registerStripReferencesAttribute("common") { + excludes.add("net.minecraft") + excludes.add("net.minecraftforge") +} + dependencies { - compileOnly("gg.essential:vigilance-$platform:222") { + + compileOnly("com.google.code.gson:gson:2.2.4") + compileOnly("commons-io:commons-io:2.4") + compileOnly("com.google.guava:guava:17.0") + compileOnly("org.lwjgl:lwjgl-opengl:3.3.1") + compileOnly("org.apache.logging.log4j:log4j-core:2.0-beta9") + compileOnly("org.apache.logging.log4j:log4j-api:2.0-beta9") + compileOnly("org.ow2.asm:asm-debug-all:5.0.3") + compileOnly("org.apache.commons:commons-lang3:3.3.2") + + compileOnly("gg.essential:vigilance-1.8.9-forge:222") { + attributes { attribute(common, true) } isTransitive = false } - shadeRelocated("gg.essential:universalcraft-$platform:211") { + shadeRelocated("gg.essential:universalcraft-1.8.9-forge:211") { + attributes { attribute(common, true) } isTransitive = false } @@ -130,197 +121,29 @@ dependencies { shade("cc.polyfrost:lwjgl:1.0.0-alpha1") shadeNoPom(prebundle(shadeRelocated)) - dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.6.21") - configurations.named(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME) { extendsFrom(shadeNoPom) } configurations.named(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME) { extendsFrom(shadeNoPom) } } -tasks.processResources { - inputs.property("id", mod_id) - inputs.property("name", mod_name) - val java = if (project.platform.mcMinor >= 18) { - 17 - } else { - if (project.platform.mcMinor == 17) 16 else 8 - } - val compatLevel = "JAVA_${java}" - inputs.property("java", java) - inputs.property("java_level", compatLevel) - inputs.property("version", mod_version) - inputs.property("mcVersionStr", project.platform.mcVersionStr) - filesMatching(listOf("mcmod.info", "mixins.${mod_id}.json", "mods.toml")) { - expand( - mapOf( - "id" to mod_id, - "name" to mod_name, - "java" to java, - "java_level" to compatLevel, - "version" to mod_version, - "mcVersionStr" to project.platform.mcVersionStr - ) - ) - } - filesMatching("fabric.mod.json") { - expand( - mapOf( - "id" to mod_id, - "name" to mod_name, - "java" to java, - "java_level" to compatLevel, - "version" to mod_version, - "mcVersionStr" to project.platform.mcVersionStr.substringBeforeLast(".") + ".x" - ) - ) - } -} - tasks { withType(Jar::class.java) { - if (project.platform.isFabric) { - exclude("mcmod.info", "mods.toml") - |
