Balm (Fabric Edition)

Balm (Fabric Edition)

21M Downloads

[Quilt] FabricCropBlockMixin fails, if another mod mixins into CropBlock

SplendidAlakey opened this issue ยท 6 comments

commented

Minecraft Version

1.19.2

Mod Loader

Quilt

Mod Loader Version

0.17.x and 0.18.x

Mod Version

4.5.2+0

Describe the Issue

FabricCropBlockMixin fails on launch, when another mod does its own mixin into CropBlock. For example Terrestria and ShetiPhianCore.

Initially, I believed, that the crash only happens on Quilt, but #38 seems to indicate, that Forge is also affected. In which case Fabric is the only modloader, that doesn't crash under the same circumstances.

Logs

Logs for Terrestria: https://gist.github.com/SplendidAlakey/dde2c2bdf95113aa01eb866725e0ee53
And for ShetiPhianCore: https://gist.github.com/SplendidAlakey/5b7c923fa2a882b124815df332cc84f3

commented

No way to work around this? So many nice mods depend on Balm.

commented

Here are my logs with Not Enough Crashes to deobfuscate stack traces https://mclo.gs/PFhGwnW

commented

If this happens only on Quilt and not on Fabric, it should be reported to Quilt. I can't see anything obvious that would be causing this in either of the three code bases.

commented

Awesome, thanks for looking into it!

commented

The Forge issue #38 is most likely unrelated as it appears to be a mappings issue that only happens in dev envs (and has magically resolved itself in the past #32), whereas this one is an injection failure on a different Mixin that happens at runtime too.

commented

I was just talking to another dev over at Quilt's Discord about it. According to them, it's not your mod's fault. Both ShetiPhianCore and Terrestria (or, rather a library called Terraform) use redirects in its CropBlock mixins, which in turn kills any other mod, that does the same, including each other. I asked them to tell the devs of both mods about it and how to alleviate the issue, so, hopefully, it will be fixed on their sides.

As to why it doesn't happen on Fabric - apparently Fabric allows more freedom in such cases, so it's also up to Quilt to consider implementing the same or similar functionality.

I'll leave this issue open for visibility, unless you wish to close it.

Edit: TerraformersMC/Terrestria#278 (comment)