Blood Magic

Blood Magic

94M Downloads

Opening a Sigil of Holding can affect state of contained sigils

FireJadian opened this issue ยท 1 comments

commented

Issue Description:

It seems like there's a problem with Sigil of Holding and updating its inventory with a Sigil of Transposition or a Sigil of Teleposition. In particular, each time the Sigil of Holding is closed, it will only remember the first update caused by those sigils. When it is next opened, it will revert its contents to that state.

The reproduction steps show the simplest case of this with a Transposition sigil: picking up a grass block, putting it down, and opening the Sigil of Holding. The first update, to "Transposition Sigil holding a grass block", is kept. It will persist through other actions with that sigil, other actions with sigils in the Sigil of Holding, closing Minecraft, etc. When the Sigil of Holding is opened again, the Transposition Sigil will be "holding a grass block" again, regardless of what it was holding prior.

This "update" covers all 5 slots of the Sigil of Holding. Example: I have a Sigil of Holding containing a Sigil of Transposition and a Sigil of Teleposition with no destination. I pick up a block with the Sigil of Transposition, then bind the Sigil of Teleposition to a Teleposer. When I open the Sigil of Holding, the Sigil of Teleposition is no longer has a destination.

Toggling a sigil (tested with Sigil of Suppression) does not trigger an update in this manner, but the state of these sigils will be remembered by an update. As a result, opening a Sigil of Holding
can deactivate or reactivate a toggleable sigil. This manner of toggling seems to function the same as toggling the sigil normally.

What happens:

Opening a Sigil of Holding can change the state of the sigils within

What you expected to happen:

For opening a Sigil of Holding to have no effect on the held sigils

Steps to reproduce:

  1. Obtain fresh Sigil of Holding and Sigil of Transposition
  2. Open Sigil of Holding, put in Sigil of Transposition
  3. Use Sigil of Transposition to pick up a grass block and put it back down
  4. Open Sigil of Holding, see that Sigil of Transposition is holding the grass block still
  5. Use Sigil of Transposition to put down the block and pick it back up
  6. Open Sigil of Holding, see that Sigil of Transposition is empty

Affected Versions (Do not use "latest"):

  • BloodMagic: 1.12.2-2.4.0-102
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2815
commented

That was one of the dumbest issues I've worked on in a long time. Let's just save inventory updates to one tag, but have the GUI save inventory modifications to some other nested tag. Wonderful!