Fuzss / puzzleslib

Why's it called Puzzles you ask? That's the puzzle!
https://www.curseforge.com/minecraft/mc-mods/puzzles-lib
Mozilla Public License 2.0
26 stars 9 forks source link

[Bug]: mod incompatibility with Moonrise (optimization) #138

Open potato24modj opened 1 month ago

potato24modj commented 1 month ago

Mod Loader (Required)

Fabric

Minecraft Version(s) (Required)

1.21.1

Mod Version(s) (Required)

v21.1.18-1.21.1-Fabric

Other Mods Involved (Required)

Yes

Notes (Required)

latest fabric / mc / loader / mods versions, tested with v21.1.15 through v21.1.18 of "Puzzles Lib"

MC launch error when using "Puzzles Lib" -- breaks an optimization mod, similar to C2ME/Starlight/Paper, called "Moonrise"

tested using only 2 mods

  1. Moonrise
  2. Overflowing Bars
    • installs "Forge Config API Port" and "Puzzles Lib"

only enabling Forge Config API Port works, but Puzzles causes an error -- not sure as to why or how they overlap/crash

https://modrinth.com/mod/moonrise-opt https://modrinth.com/mod/puzzles-lib

latest.log (Required)

https://gist.github.com/potato24modj/a79dc9d43d3ade63048a0a8ccc92d479#file-gistfile1-txt

Fuzss commented 1 month ago

https://github.com/Tuinity/Moonrise/blob/2acfc6a68e821811ef64f7ed537870ef0f24e2e5/src/main/java/ca/spottedleaf/moonrise/mixin/collisions/ExplosionMixin.java#L350

They shouldn't be using @Overwrite there. Just have an @Inject there that is cancelled. The Puzzles Lib event that is firing there is maybe used in just a single one of my mods, would be a pity for all mods using Puzzles Lib to not be usable because of it.

Fuzss commented 1 month ago

https://github.com/Tuinity/Moonrise/issues/51

jpenilla commented 1 month ago

While using a cancellable inject instead of an overwrite would allow the mods to load together, it would result in the Puzzles Lib event not being called and also make noticing these issues harder. Moonrise 0.1.0-beta.5 includes its own explosion event that you could use to invoke the Puzzles Lib event: https://github.com/Tuinity/Moonrise/pull/52 Then use your IMixinConfigPlugin to disable the conflicting Mixin when Moonrise is present. Moonrise is available as a dependency through Curse Maven.