diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index 4d83590a2..220c15962 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -20,6 +20,9 @@ dependencies { "common"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-common", configuration = "transformProductionFabric")) { isTransitive = false } + "common"(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } + shaded(project(path = ":platforms:mixin-lifecycle", configuration = "transformProductionFabric")) { isTransitive = false } + minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") diff --git a/platforms/mixin-common/README.md b/platforms/mixin-common/README.md index f92b8b043..0c411a1bf 100644 --- a/platforms/mixin-common/README.md +++ b/platforms/mixin-common/README.md @@ -1,4 +1,4 @@ # mixin-common -This project contains mixins shared between Forge & Fabric, as +This project contains mixins shared between Forge, Fabric and Quilt, as well as glue code. \ No newline at end of file diff --git a/platforms/mixin-lifecycle/README.md b/platforms/mixin-lifecycle/README.md new file mode 100644 index 000000000..6c2c62cba --- /dev/null +++ b/platforms/mixin-lifecycle/README.md @@ -0,0 +1,3 @@ +# mixin-lifecycle + +This project contains lifecycle mixins shared between Fabric and Quilt. \ No newline at end of file diff --git a/platforms/mixin-lifecycle/build.gradle.kts b/platforms/mixin-lifecycle/build.gradle.kts new file mode 100644 index 000000000..aa3a38fdb --- /dev/null +++ b/platforms/mixin-lifecycle/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("dev.architectury.loom") version Versions.Mod.architecuryLoom + id("architectury-plugin") version Versions.Mod.architectutyPlugin + id("io.github.juuxel.loom-quiltflower") version Versions.Mod.loomQuiltflower +} + +loom { + accessWidenerPath.set(project(":platforms:mixin-common").file("terra.accesswidener")) + + mixin { + defaultRefmapName.set("terra.lifecycle.refmap.json") + } +} + +dependencies { + shadedApi(project(":common:implementation:base")) + + modImplementation("net.fabricmc:fabric-loader:${Versions.Mod.fabricLoader}") + + compileOnly(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + + minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") + mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") +} + +architectury { + common("fabric", "quilt") + minecraft = Versions.Mod.minecraft +} + diff --git a/platforms/quilt/build.gradle.kts b/platforms/quilt/build.gradle.kts index 5bfcf8099..365fec3bd 100644 --- a/platforms/quilt/build.gradle.kts +++ b/platforms/quilt/build.gradle.kts @@ -15,6 +15,9 @@ dependencies { "common"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-common", configuration = "transformProductionQuilt")) { isTransitive = false } + "common"(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } + shaded(project(path = ":platforms:mixin-lifecycle", configuration = "transformProductionQuilt")) { isTransitive = false } + minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") @@ -23,7 +26,13 @@ dependencies { modApi("org.quiltmc.quilted-fabric-api:quilted-fabric-api:${Versions.Quilt.fabricApi}") - setOf("fabric-lifecycle-events-v1", "fabric-resource-loader-v0", "fabric-api-base", "fabric-command-api-v2", "fabric-networking-api-v1").forEach { apiModule -> + setOf( + "fabric-lifecycle-events-v1", + "fabric-resource-loader-v0", + "fabric-api-base", + "fabric-command-api-v2", + "fabric-networking-api-v1" + ).forEach { apiModule -> val module = fabricApi.module(apiModule, Versions.Fabric.fabricAPI) modImplementation(module) include(module)