ViaVersion / ViaFabric

Client-side and server-side ViaVersion implementation for Fabric
https://viaversion.com/fabric
GNU General Public License v3.0
325 stars 38 forks source link

Possible incompatibly with the Essentials mod on 1.20 #255

Closed GrimPlayzs closed 10 months ago

GrimPlayzs commented 1 year ago

/viaversion dump Output

https://dump.viaversion.com/94f8b92235c27a183ac23fde953d066ae34cf186d0af1183e2d3bd59d062454e

Console Error

No response

Bug Description

Game crashes upon going to the server list with the Essentials mod on 1.20. This did not occur on 1.19.4

Steps to Reproduce

Install both the Essentials mod and ViaFabric on 1.20 Launch the game and go to the server list. Observe the crash.

Expected Behavior

The game should not crash with both mods working as intended.

Also, the crash log indicates it could be a GUI issue as both mods modify the server list screen with more buttons. I could be wrong though.

Additional Server Info

No response

Checklist

Kichura commented 1 year ago

Please verify if this issue is also present on fabric itself and not just quilt.

SkyTheNerd commented 1 year ago

I can verify that this issue persists on fabric.

lynrayy commented 1 year ago

Essentials is bad mod

Johni0702 commented 1 year ago

This is caused by ViaFabric Redirecting a method call of which Essential tries to ModifyArg one of the arguments. In general Redirect should be avoided because it's inherently incompatible with other mods. In this case, it seems trivial to replace with a ModifyArg (which not only allows different mods to modify different arguments of the same call, but even composes well when multiple mods target the exact same argument).

FlorianMichael commented 10 months ago

Fixed in https://github.com/ViaVersion/ViaFabric/commit/43b89472d34b84ade88af1c05e8008d8c916e4b9#diff-a0694a602635b9f3b46c233e4f6726346d3207b9dacf85737354f826b213b8a7