Mojira Archive
MCM-586

Item frames containing lang-renamed items in ticking area change data after relog

Partner Rank: 3

Verification builds: Beta 1.11.0.9

Summary: When an item renamed with a language file is placed in an item frame in a ticking area, the item frame data changes after a relog to the point that /testforblocks rejects a comparison with an identical item frame.

Use case: In a few existing maps and at least one upcoming, there is a mechanic to place a certain item in an item frame. In order to determine when the player has done so, we use /testforblocks with a template. However this bug causes the mechanic to break after saving the map. See notes.

Repro Steps:

  1. Download and enter the attached world.
  2. Open the chest. The salmon has been renamed using a simple resource pack, the pufferfish has not.
  3. Place the pufferfish in the two item frames to the left. The concrete block should be green indicating they match.
  4. Place the salmon in the two item frames to the right. The concrete block should be green as well.
  5. Close and reopen the world.
  6. Remove and replace one of the pufferfish. The concrete should turn red, then back to green.
  7. Remove and replace one of the salmon.

Expected Results: The concrete should turn green indicating the frames match.

Observed Results: The concrete remains red indicating the /testforblocks command comparing the two item frames failed, despite them being identical and an identical setup working for the pufferfish.

Screenshots/Videos attached: Yes, video of me performing the repro steps can be found here: https://streamable.com/77svg

Notes:
While creating the minimum-repro world, I did not encounter the issue until I made the ticking area. While it could be considered a workaround for us to simply put the template item frames outside of a ticking area, I still think it best to report this in case that is not entirely safe. If the workaround isn't safe, I would rank this higher.

Investigating with an NBT editor reveals a CustomName flag present in the item frame data. Erroneously it is set to "Raw Salmon" for the salmon. If an item frame is saved outside of a ticking area, it is properly set to "RENAMED ITEM." This is also the case for an item placed during gametime. To my understanding this disparity is the cause of the problem.

Fixed

[Mod] tryashtar

2019-04-08, 09:03 AM

2019-05-15, 12:17 AM

2019-05-15, 12:17 AM

1

2

Future Release

-