World Border (Fabric)

World Border (Fabric)

261k Downloads

Collective breaks Botania's Corporea Index

Hubry opened this issue ยท 3 comments

commented

Information

Minecraft version: 1.18.1
Modloader: Fabric
Fabric loader version: 0.46.1+1.18
Environment: Singleplayer

Mod name: Collective
Mod version: 3.14
Tested with the modpack Benchmark II and with a minimal setup.

Description

Installing Collective (without any dependent mods!) with Botania (with dependencies Trinkets and Patchouli) will break the Corporea Index from Botania grabbing chat messages from nearby players, preventing them from being able to request items with chat messages.

This seems to be caused by this mixin:
https://github.com/ricksouth/serilum-mc-mods/blob/8e88a8888e24422e5e28c9d37596c3dd1418473e/sources-fabric/Collective%20(Fabric)/src/main/java/com/natamus/collective_fabric/fabric/mixin/ServerGamePacketListenerImplMixin.java#L43-L45
The event handler is provided with one component, but then the mixin compares the identity of the returned one with a different one, which means it always goes into its own handling.

I suspect that Beautified Chat Server will also break our functionality (consider moving this to use ModifyVariable, perhaps?), but Collective is a library mod so it probably shouldn't break much out of the box.

Originally reported as:

Crash report

N/A

commented

Thanks for opening the issue!

I've updated Collective (Fabric) to 3.15 which fixes the issue without any dependents installed. Unfortunately Beautified Chat does seem to cause the issue of the Corporea Index not catching the input.

I tried some stuff but was unable to get it working with it installed. I can try again later but let me know if you've got an idea. Appreciate it!

commented

Much appreciated. I can try changing the injection on our side to run before yours, I guess, but this is still better than the previous state.

commented

Thanks! I tried to use ModifyVariable but was unable to change the message after many tries. This is also why I changed from ModifyVariable to Inject in 1.16 > 1.17 I remember now.

If you can ModifyVariable code to work with the correct component I'd be very happy to change it into that as well ๐Ÿ˜‡