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 | ✅ compatible
Lithium 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 | ✅ compatible
Radium 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 changes
In `config/ferritecore-mixin.toml`:
Set `replaceNeighborLookup` and `replacePropertyMap` to `false` |
| C2ME | ❌ incompatible
C2ME 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