Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-89146

Pistons forget update when being reloaded



    • Type: Bug
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: Minecraft 1.8.8, Minecraft 15w38a, Minecraft 15w38b, Minecraft 1.9.4, Minecraft 16w21b, Minecraft 1.10, Minecraft 16w44a, Minecraft 1.11 Pre-Release 1, Minecraft 17w06a, Minecraft 1.12.2, Minecraft 1.13-pre1, Minecraft 1.13.1, 19w46b, 1.15.2, 20w06a, 20w07a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13b, 20w14a, 20w16a, 20w17a, 20w18a, 20w22a, 1.16 Pre-release 5, 1.16 Pre-release 7, 1.16.2, 1.16.3, 1.16.4, 20w45a, 21w03a, 1.16.5, 21w10a, 21w11a, 21w14a, 21w20a, 1.17 Pre-release 1, 1.17 Pre-release 3, 1.17 Pre-release 5, 1.17, 1.17.1 Release Candidate 1, 1.17.1
    • Fix Version/s: None
    • Confirmation Status:
    • Category:
    • Mojang Priority:


      When a piston is unloaded in the exact game tick he should extend or retract, he sometimes forgets to extend or retract after being reloaded.

      Video demonstrating the bug in 16w44a: https://www.youtube.com/watch?v=9bm5_fKPcDc

      According to the 1.10 code decompiled with MCP, pistons don´t extend or retract immediately when they´re updated and powered/unpowered, but they just schedule a block event, that gets processed later. Block Events get processed every tick. And only once the block events get processed the piston will extend/retract. However if the game is unloaded before the block events get processed, all scheduled block events get lost, because block events don´t get saved anywhere. Therefore, if the game is unloaded, pistons sometimes don´t extend or retract, even though they should.

      It should be mentioned, that before 1.9 pistons that forgot to retract didn´t just stay extended, but transformed into a state that looks like the one in this bug report MC-49981
      So while the bug that pistons get into a glitchy piston state when they forget to retract was resolved, the bug that pistons sometimes forget to retract has not been resolved yet.

      The situations depicted in the pictures below can occur if the game is unloaded in the exact moment the piston directly next to the lever finishes his extension.

      Code analysis and fix by Xcom6000 can be found in this comment.


          Issue Links



              Unassigned Unassigned
              Selacos Exa
              157 Vote for this issue
              56 Start watching this issue