Piston

Pistons are blocks capable of pushing most blocks, depending on the direction they are facing.

Sticky Pistons are similar to the Piston; the difference is that it can pull blocks as well as push them.

When extending, sticky pistons act exactly as regular pistons, pushing up to 12 blocks. When retracting, sticky pistons will pull along the block immediately in front of it. Obsidian, bedrock, all blocks with tile entities, and extended pistons cannot be pulled, just as they cannot be pushed.

It is possible for the block that is “stuck” to a sticky piston to be pushed aside by another piston, and sticky pistons cannot hold sand and gravel horizontally against gravity; the stickiness is only in effect during the retraction of the piston.

Naturally generated
Three sticky pistons generate as part of each jungle temple.

Functionality

 * Pistons always face the player when placed.
 * Pistons are redstone powered. When powered, their wooden surface extends outwards by 1 block, pushing up to a maximum of 12 blocks.
 * When going back to the unpowered state, the regular piston does not pull any block back (Blocks affected by gravity still fall back down).
 * Its wooden surface can also push players, mobs and other entities on the floor by 1 block if they are in the way. However, if there is no space for the player/mob/entity to be pushed, the extended piston head will just pass through them without harm(unless the block the player is being pushed towards is a staircase/slab). The piston can still push a mob or player off a one block wide walkway, which can be coupled with a pressure plate for a fairly effective trap.
 * The extended piston head is considered solid and transparent (just like glass). If a piston head extends into a player/mob this way, they will not suffocate, and the player/mob can move out of it but not back into it.
 * Similarly, if a block pushed by a piston is pushed into a player/mob, the player/mob will get pushed if there is space. If there is no space, the block will start to occupy the same space as the player/mob and cause suffocation if the block is opaque.
 * When blocks are pushed by a piston, they are momentarily non-solid and cause any players/items on the moving block to fall through the moving block.
 * Pistons can be used to toggle fluid flows like a floodgate by extending into or retracting from the space where the fluid would flow through.
 * Pistons can push boats and minecarts. Note that if the minecart is on a rail, the rail will also get pushed if there is space. If there is no space, or it is pushed over an edge, the rail will turn into a drop.
 * (Upcoming) When placed face-up piston with a Slime block on in extends, it will bounce up any entity on it.

Pushing Blocks

 * Some blocks cannot be pushed by Pistons and the piston head will not extend:
 * Obsidian, bedrock, End portals, Nether portals, and anvils to avoid abuse.
 * Blocks with extra data (tile entities) attached - note blocks, chests, furnaces, jukeboxes, dispensers, hoppers, monster spawners, brewing stands, enchantment tables, Beds, Signs, command blocks, and End portal frame blocks.
 * Pistons will not push blocks into the Void or the top of the map.
 * Extended (activated) pistons (both sticky and normal).
 * Cactus, pumpkins, jack-o-lanterns, sugar cane, and dragon eggs are turned into drops when pushed. (If trying to create extendable/retractable lighting, you can use glowstone instead. See also: Redstone Lamp.)
 * Melons will turn into slices if pushed by a piston.
 * Cobwebs will turn into string if pushed by a piston.
 * Pistons cannot push water or lava, only obstruct it. A piston head extending into a water or lava source block will destroy the source block. Note that when a piston retracts, adjacent water tiles will recreate the source block that was there. This does not work with lava.
 * Pistons cannot push most blocks that are "attached to a block” such as levers, torches, redstone, signs, etc. They will be detached and drop as an item. Exceptions include:
 * Trapdoors, as long as their hinged side remains attached to a solid block in their new position.
 * Rails (and powered rails, detector rails) as long as they remain on top of a solid block in their new position. Rails will re-orient themselves after being pushed just as they do when placed manually.
 * Carpet
 * Blocks that are attached to pushed blocks will be broken off; for example, torches can't be placed on a "self-repairing" stone or cobblestone structure.
 * Pistons cannot push a chain of blocks more than 12 blocks long. They will simply not extend.

Powering Pistons

 * When using Redstone Dust to power a piston, you MUST have the redstone trail lead directly into the piston; simply placing the redstone next to the piston won't work. You may have to curve the redstone trail away so that the piston will actually activate.
 * Pistons can be powered horizontally through single blocks by way of either redstone or repeaters.
 * Pistons can be powered by a redstone torch directly adjacent to them (above, below, or to the side).
 * Pistons can be powered by a redstone torch from below when said torch would power the block the pistons are resting on (just like powered rails).
 * Pistons can be powered by any powered block directly adjacent to them.
 * Pistons can be powered by any powered block one block above and to the side. However, the piston won't recompute its state unless a block directly next to it is changed. An adjacent piston retracting causes a recompute, but an adjacent piston extending doesn't.
 * Both redstone dust and repeaters will power the piston directly in front of it as well as a second piston below this piston (see picture below). This allows a wall made completely of pistons to be constructed. Redstone dust will also power the block beneath itself which in turn will power the third piston below the first two, but due to the bug mentioned above it won't recompute its state.
 * When toggled between on and off rapidly with a gravity affected block (such as sand) above it, a piston will eventually break the block, which can be picked up as a resource. However, gravel will never break into flint.
 * A repeater cannot transfer power through a piston.
 * An upwards-facing piston can't be powered by the block above it (that is, where it will push), but once it is extended, it can be powered by the block above its extended shaft. Consider an upward facing piston which gets a Block of Redstone placed atop it.  The piston will not extend immediately, but if it is triggered some other way, it will not retract, because the Redstone Block will power it through the shaft.

Common Usage

 * Pistons can be used to make semi automatic stone-making machines.
 * Pistons are commonly used to push/pull blocks to simulate opening and closing doors, gates and to create traps.
 * Pistons can be used to make self-repairing bridges by using cobblestone from a cobblestone generator, or stone from a stone generator. The same principle can be used to make a self-repairing house.
 * When used in conjunction with redstone repeaters, one can create virtually any logic gate without the use of Redstone torches, bypassing the "burnout" speed limit.
 * Pistons can be used to make traps, as pushing a block into a player will suffocate him/her. Their advantage is that they are easily resetable, and are very subtle.
 * Pistons can be used to move blocks like glass or ice that cannot be picked up.
 * Pistons can be used for semi-automated farming. Using a sticky piston with a dirt block or similar solid block attached, the piston is capable of pushing wheat or sugarcane off soil- the blocks will subsequently turn it into their respective items. Then replant manually.
 * Pistons can be used to build downward from a platform in the air by placing it on a block above you, and pushing blocks downward into place.
 * Pistons can be used to build opening and closing windows.
 * Pistons can be used to build an elevator of arbitrary height.
 * Instead of placing the pistons like a circular stairway around a central shaft, they can be placed like a regular stairway in a linear fashion as well, creating an escalator. The principle is still the same, you have a horizontal piston for each vertical one, that pushes the player onto the next higher piston.
 * They are often used as tables.

Tutorials
For potential uses of pistons, including secret entrances, doors and elevators, view the tutorial page.

Trivia

 * In the future, sticky pistons may also be used for pushing Spike Blocks instead of having a spiky piston.
 * If a piston pushes a gravity-affected block over a hole, the block will fall, even if attached to a sticky piston.
 * Pistons cannot be used to 'crush' players or mobs against walls. A piston will simply pass through them if this is attempted. However, blocks being pushed by piston will crush players and mobs and suffocate them, making it useful for traps.
 * If attached from up above, pistons may be able to push blocks downwards and suffocate the player or mobs.
 * Pistons can be placed near cacti so that when they are activated, and if the pushing end is adjacent to the base of a cactus, the cactus will break.
 * Pistons will break leaves when pushed.
 * If you push a burning block, the block will be put out. If you push a row of burning blocks, they will all stay on fire except for the farthest one.
 * Pistons can be used to create logic gates. These may be more space efficient than standard gates and clocks created from them can also operate at much higher speeds without burning out.
 * Pistons may also be used the same way one-way or minecart-only soul sand gates work by putting an extended piston one block above a minecart track allowing only small or tiny slimes, cave spiders, and chickens to enter. Doing this keeps pursuing mobs out (except for slimes). When a minecart passes through the player will not be suffocated and continue going. Alternatively they can be used to make entire 2 block high doors for minecarts on a slope, since if a block is put adjacent to the theoretical hypotenuse of the slope it will touch the rails, but not cut them off and will allow no space for any mobs at all.
 * Pistons can be mined with bare hands in less than 2 seconds.
 * Pistons share the #1 spot with cake for crafting complexity, each requiring 4 individual items to make the item itself. However, Pistons have a much shorter crafting chain, requiring at minimum having crafted an iron pick.
 * Pistons do not work at the lowest level of bedrock (or the level above the Void).
 * The original piston texture had an iron band running over the head. This was later removed, only leaving iron brackets around the corners and edges.
 * If a sticky piston blocks a redstone wire vertical connection that is the same one giving the piston power, it will extend and retract over and over very quickly, making it possible to build a simple clock.
 * In creative mode, if you break a block while it is being pushed by a piston, the particles will be particles of a piston
 * You must be in creative mode so that the block is broken before it stops moving
 * Although having a wooden top, Pistons and Sticky Pistons are not flammable.
 * If a Sticky Piston pushes a Block of Redstone upwards, it will not retract when turned off, due to piston quazi-connectivity.
 * In Minecraft: Xbox 360 Edition, it is possible to go a few blocks past the build limit on the side of the End by pushing blocks with a piston.
 * Pistons are only semi-opaque, in later versions of Minecraft, light can pass through it. It is unknown if this is intentional, or a bug.