Info: See attached screenshot for example set up. If an opaque, powered block is 2 spaces above a piston, the piston will also be powered. However, the piston is not updated. In the example, the lever can be toggled on and off without the piston extending, but if the lever is toggled on and then the piston is updated (ex. by placing any block next to it, such as on top of the cobblestone in the example) then the piston will extend. Likewise, toggling the lever off after the piston has extended will not cause the piston to retract, but forcing the piston to update again will then cause it to retract.
Observed: A powered block 2 spaces above a piston powers the piston but does not update it, causing confusing results.
Expected: A piston should be powered in the same way as other redstone components (ex. redstone lamps), and should therefore not be powered from blocks 2 spaces above them.
Details:
This applies to both regular and sticky pistons, but not other redstone components (ex. not an issue for redstone lamps).
The block in between the piston and the powered block doesn't matter (the glass block in the screenshot). This could be glass, air, water, or another opaque block.
The direction the piston faces in doesn't matter for recreating the bug (however, a piston facing up will retract on its own, since its arm is adjacent to the powered block and therefore updated normally).
The source of the power doesn't matter, as long as the block above the piston is directly powered (ex. the lever in the example could be a button, pressure plate, redstone circuit, etc)
Notes: I came across this issue while creating a contraption that involved 2 "layers" of pistons. Each layer could be toggled separately. However, as long as the upper layer of pistons was activated, the lower layer would be permanently extended. Some experimentation lead me to discover that the lower pistons in question were in fact being powered by the blocks 2 spaces above them, as described in this issue.
Related issues
Attachments
Comments



Ah, sorry about the duplicate. I searched for "piston" but was only looking for open/reopened/in-progress issues so I didn't find that one. I'll have to read through the hundreds of comments on MC-108 when I have time later so I can understand why it was resolved as "Works As Intended". Thanks for taking a look at my issue report!

Basically, it's commonly used as a feature (See BUD-switches). The devs kept it in.