Sticky Piston

The Sticky Piston is a block identical to the Piston except that it can pull as well as push blocks.

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 them. Obsidian, bedrock, note blocks, tile entities, and extended pistons cannot be pulled, just as they cannot be pushed. There is an easy fix to this though, just by simply putting a fully time extended repeater charge to the sticky piston.

It is possible for the block “stuck” to a sticky piston to be pushed aside by another piston, and sticky pistons do not hold up sand and gravel against gravity; stickiness only affects the retraction of the piston.

The sticky piston will also be used for pushing spike blocks instead of having a spiky piston.

Crafting
Sticky pistons can be crafted in the 2×2 Crafting grid, because they only require two spaces.

Controlling Water

 * Sticky pistons provide the much needed method for controlling water, without the previous method's needs for manually resetting the mechinism.

A simple water control example (from top looking down perspective) is:

NOTE: The Sticky Piston is not facing upwards, but left towards the cobble and air block: [AIR][COBBLE][<---Sticky Piston]

Toggling power on the sticky piston will open/close the air space below the water block, while hiding the sticky piston from player view. Water will flow out below. Anything can be used in place of the cobblestone, additionally the same model can be scaled length, width, or even up/down (to control water release on floors/levels).

Chaining Pistons
As of 1.7_01 Sticky pistons do not stick when they aren't retracting. This prevents them from being used as self-resetting fast elevators without difficulty.

Consider a column of 4 sticky pistons a, b, c and d from bottom to top all facing up. The player can stand on top of d and be pushed up 4 blocks by activating a, b, c, d in that order. However to retract the 4 pistons to their original places ontop of one another, the schedule is: -d, -c, -b, c, -c, -a, b, -b, c, -c; too difficult for most elevators. Further complicated by the fact that the locations of the pistons change dynamically during the schedule, whereas a redstone circuit to power them cannot.

In general: a column of length n > 2 requires a schedule of length n to extend and a schedule of length (n-1)2+1 to retract.

Bugs

 * When attempting to pull beds or doors with a sticky piston, only half of the bed/door will be pulled by the piston, and the other half will disppear. If you activate or break the sticky piston, you'll also break the bed/door and be able to collect it.
 * When a piston or a sticky piston is placed upwards (with the redstone input being located 1 block bellow) and a rapid pulse signal is applied to the redstone, if the player tries to break the piston or sticky piston with any item, block, tool, or hand, the piston or sticky piston will break, dropping an item, but leaving a breakable piston head in mid-air.
 * When placing cake on a piston that isn't activated, then activate the piston, the cake disappears.
 * While standing next to a block that can be affected by a piston and activate the piston, pushing the block into you, occasionally a block will spawn next to the block affected. This usually happens with piston doors using two pistons stacked on top of each other.
 * You can duplicate all types of pushable blocks (including pistons themselves) using a simple pulsing mechanism, a sticky piston and a simple piston, in 1.7.2. The scheme can be seen here.
 * When a sticky piston is extended and retracted very quickly, it will not pull a block back.
 * Sticky pistons break Jack-o-lanterns if retracted.
 * As of the 1.7.3 Beta update, it is impossible to place a Jack-o-Lantern onto a sticky piston.
 * Sticky piston transparency for redstone wire is affected by the extension of the pusher.