2022-05-31 10:50:46 -04:00
|
|
|
val minecraftVersion: String by project
|
|
|
|
val fabricLoaderVersion: String by project
|
2023-02-01 14:43:30 -05:00
|
|
|
val fabricApiVersion: String by project
|
|
|
|
val fabricRecipeViewer: String by project
|
2024-08-22 09:06:58 -04:00
|
|
|
val enableRuntimeRecipeViewer: String by project
|
2022-09-16 14:13:01 -04:00
|
|
|
val jeiVersion: String by project
|
2023-07-28 18:59:02 -04:00
|
|
|
val reiVersion: String by project
|
2024-08-22 09:06:58 -04:00
|
|
|
val emiVersion: String by project
|
|
|
|
|
|
|
|
val common by configurations
|
|
|
|
val shadowCommon by configurations
|
2022-05-31 10:50:46 -04:00
|
|
|
|
2022-09-24 14:05:47 -04:00
|
|
|
plugins {
|
2023-08-05 18:36:18 -04:00
|
|
|
id("com.github.johnrengelman.shadow") version "8.1.1"
|
2022-05-31 10:50:46 -04:00
|
|
|
}
|
|
|
|
|
2023-02-01 14:43:30 -05:00
|
|
|
architectury {
|
|
|
|
platformSetupLoomIde()
|
|
|
|
fabric()
|
2022-05-31 10:50:46 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
loom {
|
2023-07-28 18:59:02 -04:00
|
|
|
if (project.findProperty("enableAccessWidener") == "true") { // optional property for `gradle.properties`
|
2023-02-01 14:43:30 -05:00
|
|
|
accessWidenerPath.set(project(":Common").loom.accessWidenerPath)
|
|
|
|
println("Access widener enabled for project ${project.name}. Access widener path: ${loom.accessWidenerPath.get()}")
|
2022-09-24 14:05:47 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2023-06-14 05:48:49 -04:00
|
|
|
// loader
|
2022-09-24 14:05:47 -04:00
|
|
|
modImplementation("net.fabricmc:fabric-loader:$fabricLoaderVersion")
|
2023-02-01 14:43:30 -05:00
|
|
|
modApi("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion+$minecraftVersion")
|
|
|
|
|
2023-06-14 05:48:49 -04:00
|
|
|
// common module
|
2023-02-01 14:43:30 -05:00
|
|
|
common(project(":Common", "namedElements")) { isTransitive = false }
|
|
|
|
shadowCommon(project(":Common", "transformProductionFabric")) { isTransitive = false }
|
2024-08-22 09:06:58 -04:00
|
|
|
testImplementation(project(":Common", "namedElements"))
|
2022-09-24 14:05:47 -04:00
|
|
|
|
2024-08-22 09:06:58 -04:00
|
|
|
// compile time
|
2023-07-28 19:43:23 -04:00
|
|
|
modCompileOnly("mezz.jei:jei-$minecraftVersion-fabric-api:$jeiVersion") // required for common jei plugin
|
2022-09-27 12:10:51 -04:00
|
|
|
modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:$reiVersion") // required for common rei plugin
|
2024-08-22 17:32:19 -04:00
|
|
|
modCompileOnly("dev.emi:emi-fabric:$emiVersion+1.21:api") // required for common emi plugin TODO: replace on EMI release
|
2023-06-14 05:48:49 -04:00
|
|
|
|
2024-08-22 09:06:58 -04:00
|
|
|
// runtime
|
|
|
|
if (enableRuntimeRecipeViewer == "true") {
|
|
|
|
modLocalRuntime(
|
|
|
|
when (fabricRecipeViewer) {
|
|
|
|
"jei" -> "mezz.jei:jei-$minecraftVersion-fabric:$jeiVersion"
|
|
|
|
"rei" -> "me.shedaniel:RoughlyEnoughItems-fabric:$reiVersion"
|
2024-08-22 17:32:19 -04:00
|
|
|
"emi" -> "dev.emi:emi-fabric:$emiVersion+1.21" // TODO: replace on EMI release
|
2024-08-22 09:06:58 -04:00
|
|
|
else -> throw GradleException("Invalid fabricRecipeViewer value: $fabricRecipeViewer")
|
|
|
|
}
|
|
|
|
)
|
|
|
|
}
|
2023-08-05 18:36:18 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* force the fabric loader and api versions that are defined in the project
|
|
|
|
* some mods ship another version which crashes the runtime
|
|
|
|
*/
|
|
|
|
configurations.all {
|
|
|
|
resolutionStrategy {
|
|
|
|
force("net.fabricmc:fabric-loader:$fabricLoaderVersion")
|
|
|
|
force("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion+$minecraftVersion")
|
2022-09-24 14:05:47 -04:00
|
|
|
}
|
2022-05-31 10:50:46 -04:00
|
|
|
}
|