Embeddium

Embeddium

37M Downloads

Conflict with Axiom (Forge w/ Sinytra/Connector)

Tslat opened this issue ยท 2 comments

commented

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

commented

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). ๐Ÿ™ƒ

commented

Thanks :)