diff --git a/README.md b/README.md index 719a0f4a..e3741f06 100644 --- a/README.md +++ b/README.md @@ -12,5 +12,13 @@ patches. Listed below are notable patches: - Random ticking optimisations - [Starlight](https://github.com/PaperMC/Starlight/) +## Mod Compatibility +| Mod | Compatibility | +|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| FerriteCore |
📝 requires config changesIn `config/ferritecore-mixin.toml`:
Set `replaceNeighborLookup` and `replacePropertyMap` to `false`
| +| ModernFix |
📝 requires config changesIn `config/modernfix-mixins.properties`:
Add `mixin.bugfix.paper_chunk_patches=false`
| +| Lithium | ❌ incompatible | +| C2ME | ❌ incompatible | + ## Contact [Discord](https://discord.gg/tuinity) diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index 1c657985..68097c67 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -28,6 +28,28 @@ versionRange = "[1.21,1.21.2)" ordering = "NONE" side = "BOTH" +[[dependencies.moonrise]] +modId = "starlight" +type = "incompatible" + +[[dependencies.moonrise]] +modId = "lithium" +type = "incompatible" + +[[dependencies.moonrise]] +# unofficial lithium port +modId = "canary" +type = "incompatible" + +[[dependencies.moonrise]] +# unofficial lithium port +modId = "radium" +type = "incompatible" + +[[dependencies.moonrise]] +modId = "c2me" +type = "incompatible" + [[mixins]] config = "moonrise.mixins.json" diff --git a/src/main/java/ca/spottedleaf/moonrise/mixin/blockstate_propertyaccess/StateHolderMixin.java b/src/main/java/ca/spottedleaf/moonrise/mixin/blockstate_propertyaccess/StateHolderMixin.java index 6baa5176..c8377b84 100644 --- a/src/main/java/ca/spottedleaf/moonrise/mixin/blockstate_propertyaccess/StateHolderMixin.java +++ b/src/main/java/ca/spottedleaf/moonrise/mixin/blockstate_propertyaccess/StateHolderMixin.java @@ -65,6 +65,8 @@ private void init(final CallbackInfo ci) { ) ) private void loadTable(final Map, Comparable>, S> map, final CallbackInfo ci) { + // Uses #entrySet() instead of #values() for ModernFix compat (until when/if they implement #values() on their map) (also in ZCRST#loadInTable) + if (this.optimisedTable.isLoaded()) { ci.cancel(); return; @@ -72,7 +74,8 @@ private void loadTable(final Map, Comparable>, S> map, final this.optimisedTable.loadInTable(map); // de-duplicate the tables - for (final S value : map.values()) { + for (final Map.Entry, Comparable>, S> entry : map.entrySet()) { + final S value = entry.getValue(); ((StateHolderMixin)(Object)(StateHolder)value).optimisedTable = this.optimisedTable; } diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/blockstate_propertyaccess/util/ZeroCollidingReferenceStateTable.java b/src/main/java/ca/spottedleaf/moonrise/patches/blockstate_propertyaccess/util/ZeroCollidingReferenceStateTable.java index 1660f7bd..f5611fe5 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/blockstate_propertyaccess/util/ZeroCollidingReferenceStateTable.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/blockstate_propertyaccess/util/ZeroCollidingReferenceStateTable.java @@ -78,7 +78,8 @@ public void loadInTable(final Map, Comparable>, S> universe) this.lookup = (S[])new StateHolder[universe.size()]; - for (final S value : universe.values()) { + for (final Map.Entry, Comparable>, S> entry : universe.entrySet()) { + final S value = entry.getValue(); if (value == null) { continue; }