102 lines
3.7 KiB
Kotlin
102 lines
3.7 KiB
Kotlin
plugins {
|
|
id("java-library")
|
|
id("idea")
|
|
}
|
|
|
|
version = "${loader}-${commonMod.version}+mc${stonecutterBuild.current.version}"
|
|
|
|
base {
|
|
archivesName = commonMod.id
|
|
}
|
|
|
|
java {
|
|
toolchain.languageVersion = JavaLanguageVersion.of(commonProject.prop("java.version")!!)
|
|
// withSourcesJar()
|
|
// withJavadocJar()
|
|
}
|
|
|
|
repositories {
|
|
maven("https://libraries.minecraft.net") { name = "Mojang" }
|
|
mavenCentral()
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven("https://repo.spongepowered.org/repository/maven-public") { name = "Sponge" }
|
|
}
|
|
filter { includeGroupAndSubgroups("org.spongepowered") }
|
|
}
|
|
exclusiveContent {
|
|
forRepositories(
|
|
maven("https://maven.parchmentmc.org") { name = "ParchmentMC" },
|
|
maven("https://maven.neoforged.net/releases") { name = "NeoForge" }
|
|
)
|
|
filter { includeGroup("org.parchmentmc.data") }
|
|
}
|
|
maven("https://maven.quiltmc.org/repository/release/") { name = "QuiltMC" }
|
|
maven("https://maven.fabricmc.net/") { name = "FabricMC" }
|
|
maven("https://maven.neoforged.net/releases") { name = "NeoForge" }
|
|
maven("https://maven.minecraftforge.net") { name = "MinecraftForge" }
|
|
}
|
|
|
|
tasks {
|
|
processResources {
|
|
val clothConfigVersion = when {
|
|
stonecutterBuild.current.version.startsWith("1.20") ->
|
|
commonMod.propOrNull("cloth_config_version_1_20_1")
|
|
stonecutterBuild.current.version.startsWith("1.21") ->
|
|
commonMod.propOrNull("cloth_config_version_1_21_1")
|
|
else -> null
|
|
}
|
|
|
|
val expandProps = mapOf(
|
|
"java_version" to commonMod.propOrNull("java.version"),
|
|
"version" to commonMod.version,
|
|
"group" to commonMod.group,
|
|
"mod_name" to commonMod.name,
|
|
"mod_author" to commonMod.author,
|
|
"mod_id" to commonMod.id,
|
|
"license" to commonMod.license,
|
|
"description" to commonMod.description,
|
|
"credits" to commonMod.credits,
|
|
"minecraft_version" to commonMod.propOrNull("minecraft_version"),
|
|
"minecraft_version_range" to commonMod.propOrNull("minecraft_version_range"),
|
|
"fabric_api_version" to commonMod.propOrNull("fabric_api_version"),
|
|
"fabric_loader_version" to commonMod.propOrNull("fabric_loader_version"),
|
|
"neoforge_version" to commonMod.propOrNull("neoforge_version"),
|
|
"neoforge_version_range" to commonMod.propOrNull("neoforge_version_range"),
|
|
"neoforge_loader_version_range" to commonMod.propOrNull("neoforge_loader_version_range"),
|
|
"minecraftforge_version" to commonMod.propOrNull("minecraftforge_version"),
|
|
"minecraftforge_version_range" to commonMod.propOrNull("minecraftforge_version_range"),
|
|
"minecraftforge_eventbus_validator_version" to
|
|
commonMod.propOrNull("minecraftforge_eventbus_validator_version"),
|
|
"quilted_fabric_api_version" to commonMod.propOrNull("quilted_fabric_api_version"),
|
|
"quilt_loader_version" to commonMod.propOrNull("quilt_loader_version"),
|
|
|
|
"architectury_version" to commonMod.propOrNull("architectury_version"),
|
|
"geckolib_version" to commonMod.propOrNull("geckolib_version"),
|
|
"modmenu_version" to commonMod.propOrNull("modmenu_version"),
|
|
"jei_version" to commonMod.propOrNull("jei_version"),
|
|
"cloth_config_version_1_20_1" to commonMod.propOrNull("cloth_config_version_1_20_1"),
|
|
"cloth_config_version_1_21_1" to commonMod.propOrNull("cloth_config_version_1_21_1"),
|
|
|
|
// add this:
|
|
"cloth_config_version" to clothConfigVersion,
|
|
).filterValues { it?.isNotEmpty() == true }.mapValues { (_, v) -> v!! }
|
|
|
|
val jsonExpandProps = expandProps.mapValues { (_, v) -> v.replace("\n", "\\\\n") }
|
|
|
|
filesMatching(listOf("META-INF/mods.toml", "META-INF/neoforge.mods.toml")) {
|
|
expand(expandProps)
|
|
}
|
|
|
|
filesMatching(listOf("pack.mcmeta", "fabric.mod.json", "quilt.mod.json", "*.mixins.json")) {
|
|
expand(jsonExpandProps)
|
|
}
|
|
|
|
inputs.properties(expandProps)
|
|
}
|
|
}
|
|
|
|
tasks.named("processResources") {
|
|
dependsOn(":common:${commonMod.propOrNull("minecraft_version")}:stonecutterGenerate")
|
|
}
|