Spirit

Spirit

11M Downloads

[Bug]: Completely filled crude soul crystal cannot supply arrows for soul steel bow

Caointeach opened this issue ยท 0 comments

commented

Bug Description

Crude soul crystals work with soul steel bows until the crystal is completely full, at which point the bow can no longer be drawn and fired.

I suspected this was because getCrudeSoulCrystal checks canCrystalAcceptSoul. On the assumption that mustContainSouls is only true when souls are being expended, I tried the following change, and it seems to work.

$ diff SoulUtils.java.bak SoulUtils.java
181c181
<             if (!SoulUtils.canCrystalAcceptSoul(currentItem, null)) continue;
---
>             if (!SoulUtils.canCrystalAcceptSoul(currentItem, null) && !mustContainSouls) continue;

Regular soul crystals don't have this problem as getSoulCrystal skips canCrystalAcceptSoul due to the victim argument being null.

How to Reproduce?

  1. Obtain a crude soul crystal and soul steel bow in survival mode.
  2. Kill enough mobs that the crystal is full.
  3. While having no other soul crystals in inventory, attempt to nock an arrow with bow.

Expected Behavior

No response

Version

2.2.3

Mod Loader Version

1.19.2

Mod Loader

Forge

Logs or additional context

No response