Conflict with Axiom (Forge w/ Sinytra/Connector)
Tslat opened this issue ยท 2 comments
Bug Description
The game crashes when both Embeddium & Axiom are installed due to a mixin conflict when going into a world
This is on forge w/ Connector
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Callback method addDrawCommands(Lme/jellysquid/mods/sodium/client/gl/device/MultiDrawBatch;JIIII)Z in axiom.mixins.json:compat.MixinSodiumRegionChunkRenderer from mod axiom failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap axiom-refmap.json
Reproduction Steps
Install Axiom + Embeddium + Connector + Forgified Fabric API
Go into world
Log File
Can't share, sorry
This is a problem with Axiom's mixin; it uses local capture by ordinal rather than name, which fails if the corresponding method is changed. It was necessary for me to add an extra local to that method to implement faster translucency sorting. If they switch to capturing locals by name, the mixin should work on both Embeddium 0.3.19+ & Sodium, as I kept the names of the variables unchanged.
Closing as there isn't a straightforward way for me to fix this without potentially compromising performance. Ideally mods would request APIs rather than using mixins (although I understand that this isn't possible while supporting Sodium 0.5.8 with the same codebase). ๐