architectury { platformSetupLoomIde(); forge() }
repositories {
    maven(url = "https://thedarkcolour.github.io/KotlinForForge/")
}

dependencies {
    forge("net.minecraftforge:forge:${rootProject.architectury.minecraft}-${rootProject.property("forge_version")}.+")
    implementation("thedarkcolour:kotlinforforge:${rootProject.property("kotlinforforge")}")
    modApi("me.shedaniel.cloth:cloth-config-forge:${rootProject.property("clothconfig_version")}")
    implementation(project(path = ":common")) { isTransitive = false }
    add("developmentForge", project(path = ":common")) { isTransitive = false }
    shadowC(project(path = ":common", configuration = "transformProductionForge")) { isTransitive = false }
}; loom {
    useFabricMixin = true
    if (JavaVersion.current().isJava9Compatible) {
        runs {
            val args: MutableList<String> = mutableListOf("-Dfml.earlyprogresswindow=false")
            args += if (JavaVersion.current() < JavaVersion.VERSION_17) {
                listOf("--add-exports java.base/sun.security.util=ALL-UNNAMED", "--add-opens java.base/java.util.jar=ALL-UNNAMED")
            } else listOf("--illegal-access=permit")
            this.forEach {
                it.vmArgs(args)
            }
        }
    }
}