mojira.dev
MC-123466

Scheduled block updates are lost when upgrading a world from 1.12.2

To reproduce

  1. Create a world in 1.12.2

  2. Place a line of repeaters, maybe 10 long, and a button to activate it

  3. Press the button

  4. Pause the game when the line of repeaters is halfway activated

  5. Save and quit to title

  6. Open the world in 17w50a
    → The repeater line is stuck in the middle

Code analysis

Based on 17w50a decompiled using CFR 0_119

It looks like the method b(fm) of the static inner class vt.b tries to upgrade the TileTicks of a chunk based on the block at the location of the tile tick (see MC-123692). The position is encoded to y << 8 | z << 4 | x and passed to the method vt.b.a(int). It appears the person who write this assumed the position is an offset in the chunk, but it is the position in the world. This means any scheduled update not inside (0, 0, 0) → (15, 15, 15) (all values inclusive) can be lost.

Linked issues

Comments 0

No comments.

[Mod] redstonehelper

Fry

Confirmed

TileTicks, block-update, upgrade

Minecraft 17w50a

Minecraft 18w20a

Retrieved