Mixin icon indicating copy to clipboard operation
Mixin copied to clipboard

Loader 0.12.12 fails to apply mixin in an installation where 0.11.1 applied correctly

Open altrisi opened this issue 3 years ago • 4 comments

Today I tried to update all my fabric installations to loader 0.12.12 (no specific reason), and when trying to update a 1.16.5 installation that worked correctly using 0.11.1, loader 0.12.12 fails to apply a mixin.

The crash report is the following: https://paste.ee/p/XkImm.

The mixin in question is: https://github.com/TISUnion/Carpet-TIS-Addition/blob/v1.20.0/src/main/java/carpettisaddition/mixins/command/lifetime/spawning/SpawnHelperMixin.java. In case it's important, the comment in the mixin is referring to the one of the redirects in the following carpet mixin (I'm not good enough at mixin or at the codebase to know which one specifically): https://github.com/gnembon/fabric-carpet/blob/1.16.5/src/main/java/carpet/mixins/SpawnHelperMixin.java.

Feel free to ask for more information.

altrisi avatar Jan 03 '22 21:01 altrisi

It looks like the ModifyArg is now seeing the descriptor of the Redirect target method instead of the original one.

sfPlayer1 avatar Jan 04 '22 06:01 sfPlayer1

Does the behavior change if you run with the jvm arg -Dfabric.debug.loadLate=carpet?

sfPlayer1 avatar Jan 04 '22 06:01 sfPlayer1

Yes, with that jvm arg the game loads and joins a world without crashes or other exceptions.

altrisi avatar Jan 04 '22 10:01 altrisi

Thanks for the info, Loader 0.12 changes mod load order (by mod id in production instead of impl defined), which causes the mixin to fail. https://github.com/SpongePowered/Mixin/issues/544 is the same issue for upstream.

sfPlayer1 avatar Jan 04 '22 10:01 sfPlayer1