-
Notifications
You must be signed in to change notification settings - Fork 8
Description
I recently added Hephaestus to a modpack with Amarite and after doing so, it was discovered that Amarite's health bar effect was no longer working and found out that Porting Lib's renderHealth mixin was called before Amarite's mixin
and if any of the onOverlayRender handlers return true, it cancels the method execution and upon checking Mantle's code, one of the callbacks it registers, specifically ExtraHeartRenderHandler#renderHealthbar returns true always unless so there are a few different ways to do this, we could have it return false although.... looks as though given the order in which they are registered, it returns true so renderOffhandAttackIndicator is not run unless ExtraHeartRenderHandler#renderHealthbar returns false or we could lower the priority of the mixin by increasing the order/priority from 1000 to something higher (higher is lower priority) so other normal mixins get the chance to run (although with this solution, seems more sane to upstream that to porting lib or have porting lib change the behavior to not cancel the method?). Not really sure the best solution right now, in the short term, I can just increase the priority of Amarite but this doesn't seem like a desirable solution especially as any other mods that listen on things porting lib also does (assuming all the porting lib callbacks work the same?) could have issues (like craftedcore#shouldRenderHealth mixin is also run after porting lib's mixin, spectrum#showDivinityHardcoreHearts also is after porting lib's mixin, etc.)
