MerchantPug / apugli

An extension to Apoli for certain mods' use.
MIT License
5 stars 4 forks source link

Elytra isn't being rendered (Forge 1.19.2) #50

Closed MetaflameDragon closed 1 year ago

MetaflameDragon commented 1 year ago

Elytra equipped on the player isn't being rendered (as well as on armor stands). I have no special origins or powers active (that is, I have the origins:human origin selected).

MC Version: 1.19.2 Forge

This occurs in the latest version (2.5.1), but I traced the behavior back to 2.4.4. Apugli 2.4.3 renders the Elytra correctly.

This happens even with no unrelated mods installed. My installation consists of Apugli, Caelus 1.19.2-3.0.0.6, and Origins Forge 1.19.2-1.7.1.2.

As a wild guess, this could possibly be related to #40 and the related fix in https://github.com/MerchantPug/apugli/commit/e88be8117248ec59b659477bf4bd07fd770254e5? Funny how that version specifically fixed Fabric but broke Forge.

MetaflameDragon commented 1 year ago

I think I managed to zero in on the issue: My best guess is the usage of allMatch(). The Fabric patch used noneMatch(), which returns true for an empty stream - however, allMatch() in the Forge patch also returns true for an empty stream. This means that if the player does not have any powers that modify equipped item rendering (apugli:modify_equipped_item_render) for the chest slot, the return value will be set to false and the elytra will not render.

I applied a quick dummy test power onto the player, which tries to render air on the player's chest without overriding, and the Elytra began rendering.

{
  "name": "Test power",
  "type": "apugli:modify_equipped_item_render",
  "slot": "chest",
  "stack": {
    "item": "minecraft:air"
  }
}
MerchantPug commented 1 year ago

Thanks for looking into this, I'll probably separate the classes into loader specifics when I can.

I'll fix this at some point.

MetaflameDragon commented 1 year ago

It's luckily non-critical because it has a hacky fix. If I find some spare time, I might drop a PR (once I learn how to set up a local Forge modding environment).

MerchantPug commented 1 year ago

I've implemented a fix for next update, thanks for explaining the issue to me so thoroughly.

MetaflameDragon commented 1 year ago

Wonderful! Also, thank you for maintaining Origins Forge and this useful Apoli extension!