Zenith

Zenith

3M Downloads

Update from 1.1.10 to 1.2.1 loading world crash

Starior opened this issue · 2 comments

commented
commented

Looks to be a conflict with Extra RPG Attributes.
Basically:

  • Zenith, to check LootCategories for heavy weapons, creates some dummy entities to check canDisableShield (there really doesn't seem to be a better way to do this) - it equips them with items and calls setItemInHand
  • This calls onEquipItem, where ExtraRPGAttributes injects to call getAttributeModifiers to check if they should delay reabsorption
  • Fabric API's ModifyItemAttributeModifiersCallback hooks into getAttributeModifiers
  • (The change in this update): Zenith uses the ModifyItemAttributeModifiersCallback to add gem modifiers, in which it tries to reevaluate LootCategories to determine how to apply them

I suggested a workaround to the developer of Extra RPG Attributes for onEquipStackAbsorption to cancel early and not call getAttributeModifiers if triggered from itself (using a ThreadLocal), maybe that's enough or maybe something here is Cursed ™️

commented

The Extra RPG Attributes dev said they’ll look into implementing the ThreadLocal failsafe

For now, there’s a somewhat serviceable workaround depending on your modlist. Using

  • Zenith
  • Zephyr
  • Extra RPG Attributes
  • Better Combat

Will prevent this crash, as this original check for heavy weapons is bypassed entirely.