diff --git a/README.md b/README.md index 4364f1ea..02975e24 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,6 @@ patches. Listed below are notable patches: | Mod | Status | |-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Lithium |
✅ compatibleLithium optimises many of the same parts of the game as Moonrise, for example the chunk system. Moonrise will automatically disable conflicting parts of Lithium. This mechanism needs to be manually validated for each Moonrise and Lithium release.
| -| Radium |
✅ compatibleRadium is an unofficial port of Lithium to NeoForge. Radium will automatically disable conflicting parts of itself when Moonrise is present. Any compatibility issues should be reported to Radium first.
| | FerriteCore |
📝 requires config changesIn `config/ferritecore-mixin.toml`:
Set `replaceNeighborLookup` and `replacePropertyMap` to `false`
| | C2ME |
❌ incompatibleC2ME is based around modifications to the chunk system, which Moonrise replaces wholesale. This makes them fundamentally incompatible.
| diff --git a/build.gradle b/build.gradle index 20539956..931402cc 100644 --- a/build.gradle +++ b/build.gradle @@ -126,6 +126,31 @@ subprojects { minecraftVersions = supportedMcVersions } } + + // Setup a run with lithium for compatibility testing + sourceSets.create("lithium") + configurations.create("lithium") + loom { + createRemapConfigurations(sourceSets.lithium) + runs { + register("lithiumClient") { + client() + property "mixin.debug", "true" + } + } + } + tasks.named("runLithiumClient", net.fabricmc.loom.task.RunGameTask.class) { + getClasspath().from(configurations.modRuntimeClasspathLithiumMapped) + } + dependencies { + String coordinates = "maven.modrinth:lithium:" + if (getProject().name == "Moonrise-NeoForge") { + coordinates += rootProject.neo_lithium_version + } else { + coordinates += rootProject.fabric_lithium_version + } + modLithiumRuntimeOnly coordinates + } } loom.runs.all { diff --git a/fabric/build.gradle b/fabric/build.gradle index 417dbbf8..86b19958 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -63,22 +63,3 @@ publishMods { ) } } - -// Setup a run with lithium for compatibility testing -sourceSets.create("lithium") -configurations.create("lithium") -loom { - createRemapConfigurations(sourceSets.lithium) - runs { - register("lithiumClient") { - client() - property "mixin.debug", "true" - } - } -} -tasks.named("runLithiumClient", net.fabricmc.loom.task.RunGameTask.class) { - getClasspath().from(configurations.modRuntimeClasspathLithiumMapped) -} -dependencies { - modLithiumRuntimeOnly "maven.modrinth:lithium:${rootProject.lithium_version}" -} diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 787b13ef..be2bb4aa 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -41,34 +41,34 @@ }, "custom": { "lithium:options": { + "mixin.ai.poi": false, + "mixin.alloc.chunk_ticking": false, + "mixin.alloc.deep_passengers": false, + "mixin.alloc.entity_tracker": false, + "mixin.block.flatten_states": false, + "mixin.chunk.entity_class_groups": false, + "mixin.chunk.no_validation": false, "mixin.collections.chunk_tickets": false, "mixin.collections.entity_ticking": false, - "mixin.world.temperature_cache": false, - "mixin.world.block_entity_ticking": false, - "mixin.world.chunk_access": false, - "mixin.world.tick_scheduler": false, - "mixin.world.explosions.block_raycast": false, - "mixin.world.explosions.cache_exposure": false, - "mixin.block.flatten_states": false, - "mixin.math.fast_util": false, + "mixin.entity.collisions.intersection": false, + "mixin.entity.collisions.movement": false, + "mixin.entity.collisions.unpushable_cramming": false, + "mixin.entity.replace_entitytype_predicates": false, "mixin.math.fast_blockpos": false, + "mixin.math.fast_util": false, "mixin.minimal_nonvanilla.collisions.empty_space": false, "mixin.minimal_nonvanilla.world.expiring_chunk_tickets": false, - "mixin.alloc.deep_passengers": false, - "mixin.alloc.chunk_ticking": false, - "mixin.alloc.entity_tracker": false, "mixin.shapes.blockstate_cache": false, - "mixin.shapes.specialized_shapes": false, "mixin.shapes.optimized_matching": false, - "mixin.ai.poi": false, - "mixin.chunk.no_validation": false, - "mixin.chunk.entity_class_groups": false, + "mixin.shapes.specialized_shapes": false, "mixin.util.block_tracking": false, "mixin.util.entity_movement_tracking": false, - "mixin.entity.replace_entitytype_predicates": false, - "mixin.entity.collisions.intersection": false, - "mixin.entity.collisions.movement": false, - "mixin.entity.collisions.unpushable_cramming": false + "mixin.world.block_entity_ticking": false, + "mixin.world.chunk_access": false, + "mixin.world.explosions.block_raycast": false, + "mixin.world.explosions.cache_exposure": false, + "mixin.world.temperature_cache": false, + "mixin.world.tick_scheduler": false } } } diff --git a/gradle.properties b/gradle.properties index bb2076d6..1efe1ff7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,9 @@ neoforge_version=21.1.62 snakeyaml_version=2.2 concurrentutil_version=0.0.2-SNAPSHOT cloth_version=15.0.128 -lithium_version=mc1.21.1-0.13.1 +# version ids from modrinth +fabric_lithium_version=mc1.21.1-0.14.0-beta.1 +neo_lithium_version=BrMIoIMv # Mod Properties mod_version=0.1.0-SNAPSHOT maven_group=ca.spottedleaf.moonrise diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index f246f897..c01dfd7f 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -36,10 +36,6 @@ type = "incompatible" modId = "starlight" type = "incompatible" -[[dependencies.moonrise]] -modId = "lithium" -type = "incompatible" - [[dependencies.moonrise]] # unofficial lithium port modId = "canary" @@ -54,3 +50,33 @@ config = "moonrise.mixins.json" [[mixins]] config = "moonrise-neoforge.mixins.json" + +[mods."lithium:options"] +"mixin.ai.poi" = false +"mixin.alloc.chunk_ticking" = false +"mixin.alloc.deep_passengers" = false +"mixin.alloc.entity_tracker" = false +"mixin.block.flatten_states" = false +"mixin.chunk.entity_class_groups" = false +"mixin.chunk.no_validation" = false +"mixin.collections.chunk_tickets" = false +"mixin.collections.entity_ticking" = false +"mixin.entity.collisions.intersection" = false +"mixin.entity.collisions.movement" = false +"mixin.entity.collisions.unpushable_cramming" = false +"mixin.entity.replace_entitytype_predicates" = false +"mixin.math.fast_blockpos" = false +"mixin.math.fast_util" = false +"mixin.minimal_nonvanilla.collisions.empty_space" = false +"mixin.minimal_nonvanilla.world.expiring_chunk_tickets" = false +"mixin.shapes.blockstate_cache" = false +"mixin.shapes.optimized_matching" = false +"mixin.shapes.specialized_shapes" = false +"mixin.util.block_tracking" = false +"mixin.util.entity_movement_tracking" = false +"mixin.world.block_entity_ticking" = false +"mixin.world.chunk_access" = false +"mixin.world.explosions.block_raycast" = false +"mixin.world.explosions.cache_exposure" = false +"mixin.world.temperature_cache" = false +"mixin.world.tick_scheduler" = false