Mojira Archive
MC-233420

Moving blocks update order is HashMap based, causing unreliable behavior

The Bug

observers reading blocks getting pulled are locational, meaning the update order from observers is not reliable in specific cases. Moving over the setup in the attached image with /say 1, say 2, and say 3 in the command blocks.

Steps to Reproduce

  • Build the setup shown in the image.
  • Set the command blocks to /say 1, /say 2, and /say 3.
  • Activate the piston and note the order that the numbers are said.
  • Test in multiple locations and note the differences.

Observed Behavior

The order of numbers differs based on location, this is due to the piston code that reads from a hash map when removing leftover blocks after creating moving blocks.

Expected Behavior

The order would always be the same, thus being predicable and reliable.

Unresolved

Jamie Kazemier

2021-07-30, 05:40 PM

2023-08-22, 12:35 PM

18

11

Community Consensus

Normal

Platform

Redstone

1.17.1, 1.18.1

-