Pistons that are powered and cannot push forward (because of the amount of blocks in front of the piston or because another piston is pushing the opposite direction) do not extend when they gain the ability to push forward (when the number of blocks is less than the maximum allowed or the opposing piston attracts). These bugged pistons will then extend if any block update is made (placing/removing blocks, extension of an adjacent piston, etc.).
See the attached world file. In the example, there are two sets of pistons: one with two pistons pushing against each other in opposite directions with 1 space between them, and one with 3 blocks between them. If you remove the power from the extended piston in the first set, the powered piston on the other side will extend (because the retraction of the first piston updates the second piston).
In the next example, where there are blocks between the two pistons, the first piston's retraction does not update the second piston and thus the second piston does not retract regardless of it being powered.
Linked issues
is duplicated by 6
Attachments
Comments 5
This is for technical reasons. If pistons had to constantly check (when they had power) if they could extend, there would be an enormous amount of lag. This is the reason for the block update system. If a block's updates had were carried by adjacent blocks, every removal or placement of block would update the entire world, causing the same lag issues.
But that does not really make sense. In this (http://youtu.be/bYwzd62cLSw) video by Etho, he shows a hopper timer build in one of the first 1.5 Snapshots. If you build it now in the 1.5 Release, it doesn't work anymore because of this bug.
Agreed with Joris. I used to use that timer, and then had to modify it to make it work correctly (the old timer didn't make it lag any more than it does now, so I believe it is bug-related rather than technicality-related).
Confirmed.