Piston

Pistons are blocks capable of pushing or pulling adjacent blocks, depending on the direction they face. The original version of this feature was a mod posted on the Minecraft Forums by Hippoplatimus. Pistons will most likely be added in version 1.7. Sticky pistons will be included as well. Pistons will be slightly altered from the original version, and the usage section below only explains the mod's usage. One known difference from the mod's usage is that pistons will not launch the player and other entities in the air. Other difference is that moving blocks will be stored as Tile Entities instead of Entities

Mod's Usage
The original piston mod is capable of moving up to 16 adjacent blocks (except obsidian, bedrock and extended pistons), depending on the direction the piston is oriented. To change the orientation, a user would only have to right click on it, and the piston would face them. The new sticky pistons pull the block they push back when they retract.

When Gravel, Sand are placed on a piston facing upward, they will launch into the air, then fall back down into place. Other things that can be launched are entities and items. If the player is in front of a piston facing sideways, the player will be shoved about 3 blocks away from the piston. If the player stands on the blocks that the piston is pushing, the player will fall through the blocks. Pistons can also be used as cannons, as elevators and as doors for shops and VIP areas. They can be used to make hidden bookshelves, walkways, cannons, and even (with water and lava) a self-fixing bridge.

Pistons are controlled using redstone currents.

When blocks move, they will disappear for a very short time. Thus, for example, if there was a Torch or Redstone on moving block, it will pop off. This is true for both mod and official pistons.

Crafting
For normal Piston

For sticky Piston

This is the recipe from the mod, but Jeb will change it when it is added.

(Note: All data values here are based on Hippoplatimus' mod.)
 * When the mod is installed, its dec. ID is 100 for normal piston, 102 for sticky piston.
 * The unusable piston head can only be obtained by hacking or using an inventory editor, and its dec. ID is 101 and 103.