How to Push Powerful Blocks in Minecraft with Piston Machines
Of course, pistons in Minecraft don’t have to be used solely for output — you can actually use them as integral components in your circuits. For example, if redstone runs up the side of a block, you can break the connection by pushing a block in its path. However, there are a couple blocks that are particularly useful when pushed around by pistons.
Moving redstone blocks
The redstone block is the only device that can power adjacent mechanisms and be pushed by a piston without breaking. This makes it an incredibly dynamic concept, because it can be moved about to provide power to different parts of a circuit. Also note that, because of how pistons are powered, a piston can hold a redstone block directly in front of its arm without being powered by it.
The one on the left is a simple machine that alternates between powering the redstone dust and the redstone repeater, showing the ability of a simple movable redstone block. Though the one on the right is less practical, it shows how redstone blocks can create chain reactions to produce completely physical machines (applying only tangible blocks).
Thus, if you want your redstone circuit to be a bit more dynamic, use pistons to move around the power source.
For a simple application of this theory, simply place a redstone block in front of a sticky piston. This strategy lets you move a single power source between two different positions with a simple input, such as a lever. However, it doesn’t work if the redstone block is above the piston — because of how pistons are powered, the piston cannot retract after pushing the redstone block upward. See an example of how to make a hidden door with sticky pistons and redstone.
Moving other pistons
When a piston’s arm isn’t extended, it can itself be pushed by another piston. This greatly improves the capability of piston machines, allowing them to combine in modular patterns.
For example, you can see a design below for pushing something twice the length that a normal piston can. Much like pushing redstone blocks, this concept can make circuits much more dynamic and structurally interesting.
Essentially, the repeater at the top can power the top piston only after the bottom one has pushed it upward. Thus, the two repeaters next to the pistons are timed such that
Whenever the lever is activated, the bottom piston pushes the top piston into the powered top repeater, causing the top piston to extend as well.
When the lever is deactivated, the top piston retracts first, and then the bottom piston pulls it backward.
As long as you make sure that a piston is retracted before you move it with another piston, you can chain together pistons in any orientation and any arrangement.
You can design a chain of sticky pistons that extends several blocks forward and then retracts to its original position. However, if you do this, you must make the pistons retract in the reverse order in which they were extended. This is because a piston cannot push or pull an already extended piston, so each piston must retract before the one behind it.