Skip to content

ExtraHeartRenderHandler#renderHealthbar causes other renderHealthbar mixins to not execute #5

@JordanPlayz158

Description

@JordanPlayz158

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
Image showing the decompiled code of class_329 (InGameHud) explaining Porting Lib used to be before Amarite

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions