The Meaning of Life, the Universe, and Everything.
Join Date:
1/5/2011
Posts:
55
Member Details
Seems like placing *any* block adjacent to the piston at any point in time at all causes the signal that doesn't actually touch the piston in any way to trigger the piston. This happens even when I remove the block on top of the piston. After this bug starts, it doesn't revert to not triggering the piston that's nowhere near the signal until I break the signal that's causing issues.
This is making it extremely difficult for me to design my slightly-more-compact-than-usual TNT shotgun cannon.
This is normal behavior. Pistons can be activated by anything that would activate a mechanism component in the block above the piston, even if there is no mechanism component there (even if the block above the component is air or a transparent block). Another way to look at it is that pistons have an activation "shape" similar to doors. Anything that activates the top of a door also activates the bottom of the door, and anything that activates the space above a piston also activates the piston. This method of activation is known as "quasi-connectivity" …
In your case, the redstone dust powers the block beneath it, that block would activate a mechanism component in the space above the piston (for instance if there was a redstone lamp above the piston, that powered block would activate it), so the piston should activate. The piston doesn't immediately know it should activate because redstone dust only updates other components two blocks away and the piston is three blocks away from the dust. So it doesn't activate until it gets updated by placing a block next to it.
No, pretty sure vanilla pistons have always had this.
To retract the piston, both activations need to be removed, since both are valid ways to keep the piston activated. Consider moving the piston down one space and have it push a non-solid block (glass, top slab, glowstone) with sand on top of that.
That link I gave in the post above describes some ways to move signals over pistons without activating them.
Seems like placing *any* block adjacent to the piston at any point in time at all causes the signal that doesn't actually touch the piston in any way to trigger the piston. This happens even when I remove the block on top of the piston. After this bug starts, it doesn't revert to not triggering the piston that's nowhere near the signal until I break the signal that's causing issues.
This is making it extremely difficult for me to design my slightly-more-compact-than-usual TNT shotgun cannon.
Any suggestions?
In your case, the redstone dust powers the block beneath it, that block would activate a mechanism component in the space above the piston (for instance if there was a redstone lamp above the piston, that powered block would activate it), so the piston should activate. The piston doesn't immediately know it should activate because redstone dust only updates other components two blocks away and the piston is three blocks away from the dust. So it doesn't activate until it gets updated by placing a block next to it.
Is there some way to force the piston to retract again when the signal that's going *directly* to it disappears?
To retract the piston, both activations need to be removed, since both are valid ways to keep the piston activated. Consider moving the piston down one space and have it push a non-solid block (glass, top slab, glowstone) with sand on top of that.
That link I gave in the post above describes some ways to move signals over pistons without activating them.
Or maybe just use a different AND gate:
Tried a torch-based AND gate, but the signal delay prevented it from relaying a rapid pulse.
Ended up just turning it on its side with a sticky piston, since it seems it only works when the triggering signal is *above* the piston...