Pistons are always placed facing towards the player. When powered, the piston's wooden surface (head) extends outward by one block for 1.5 redstone ticks (0.15 seconds, barring lag), which can be heard within a 31x31x31 cube centered on the activating piston, the piston can push up to 12 blocks in a line with it. Any entities in the path of the extending head will be pushed with the blocks. If there is no place for the entities to go, the block will push inside the mob, suffocating it if the block is not transparent.

When a piston loses power, it will retract by simply pulling its head back instantly (0 redstone ticks), unless it is a sticky piston, in which case it will also pull the block in front of the head.

Sticky pistons only stick to a block when retracting, so a block next to the piston head can be pushed aside by another piston and sticky pistons cannot hold falling blocks horizontally against gravity. They also don't pull blocks 1 redstone tick (0.1 seconds, barring lag) later after pushing them. This can be done by using a 1-tick on pulse.[Java Edition only]

A piston that pushes a slime block will bounce any entity that it displaces in the direction the piston is facing. In addition, when a slime block is moved by a piston, any movable blocks adjacent (not diagonally) to the slime block will also move. See the "usage" section below for more details.

Blocks that stick to walls (such as levers) can be placed on pistons or sticky pistons.[Bedrock Edition only]

Rails: as long as they remain on top of a solid block in their new position, and that block isn't moving at the same time.

An exception is when the rail and block supporting it are on two parallel extended pistons at which the rail remains attached. Trying to move both on the same piston using slime blocks does not work, nor does moving them on perpendicular pistons (although the latter will temporarily appear to work because of a bug MC-75716).

Rails will re-orient themselves after being pushed similar to when placed manually.

Pistons can be powered by any powered block one block above and to the side, including the "activated space" above it (if a piston, both sticky and normal were to be facing up and a Block of redstone on its head, it will extend when powered, but won't retract when the power it receives from the side or back turns off). However, the piston won't extend or retract until it receives a block update. This property is called quasi-connectivity and can be used to make a BUD switch.

A repeater cannot transfer power through a piston, as pistons are a transparent block.

An upwards-facing piston can't be powered by a block above it, unless it is extended.

Piston A may extend because the slime block ignores the adjacent furnace. Piston B may not extend because the diamond block is prevented from moving by the furnace and so the slime block will also refuse to move.

When a slime block is pushed or pulled by a piston, while moving, adjacent blocks will also move with the slime block, unless a non-piston movable block stops the blocks that are "grabbed" by the slime blocks. These blocks may in turn push other blocks, not just the blocks in the line in front of the piston. For example, a Slime Block sitting on the ground will attempt to move the ground block underneath itself, which will in turn have to push additional ground blocks in the direction of motion just as if it were being pushed directly by a piston.

Glazed terracotta is an exception; it will not move when adjacent slime blocks are moved.

The same occurs when a slime block is moved by an adjacent Slime Block. For example, a 2×2×2 cube of Slime Blocks may be pushed or pulled as a unit by a single piston acting on any of the blocks in the cube.

A slime block adjacent to a block that cannot be moved by pistons will ignore the immobile block. But if an adjacent block could be moved but is prevented by the presence of an immobile block, the slime block will be prevented from moving.

Slime blocks are not pulled by a non-sticky piston, nor are they moved if an adjacent (non-Slime) block is moved by a piston.

The maximum of 12 blocks moved by a piston still applies. For example, a 2×2×3 collection of Slime Blocks may be pushed or pulled by a sticky piston as long as no other movable blocks are adjacent to it.

A piston cannot move itself via a "hook" constructed of slime blocks, but self-propelled contraptions can be created with multiple pistons. For that, see the article Tutorials/Flying technologies.

The piston head (a.k.a. "block 34") is a technical block used as the second block of an extended piston. A block state defines whether it is a normal or a sticky piston head. It can only be placed using the /setblock command, though if not part of a proper piston, it will disappear after receiving any block tick, such as when a block is placed next to it.

The piston extension (a.k.a. "Block Being Moved By Piston" or simply "block 36") is an unobtainable technical block that contains part of a piston head, and/or part of one or two blocks that the piston is carrying into or out of the grid cell (including blocks carried indirectly via slime blocks). Since moving blocks vary in how much of each grid cell they occupy, they can't be stored as normal blocks and are instead stored as block entities. It is overwritten with air, the piston head or the carried block at the end of the piston stroke; but if it is placed by a command and no piston is connected, it will remain indefinitely.

It is invisible, non-solid, and cannot be broken without the use of commands. It decreases the light level of light passing through by 1. Although it is non-solid, fluids cannot pass through it. It also prevents players from building at its location. The game treats the block as a stone block when it comes to their breaking animation and the player's footstep sounds.

The original piston was a mod posted on the Minecraft Forums by Hippoplatimus.[1] The code for that version was given to Jeb, who then worked on implementing pistons into vanilla Minecraft.

Hippoplatimus is in the game's credits under "Additional Programming", like other modders whose work made it into vanilla Minecraft.

Another user, DiEvAl, privately submitted code as well,[2] including the idea of Tile Entities to track moving blocks.[3]

However, due to Jeb's work on the Pocket Edition, pistons were delayed, and were not released for the Beta 1.5 update nor for the Beta 1.6 update. Finally, when the Pocket Edition was good enough to show at E3, Jeb went back to work on the Java edition of Minecraft and pistons were finally added in version Beta 1.7, including Sticky Pistons.

The piston texture as screen-captured while in development had iron bands running over the head. The bands were removed for the release, leaving only iron brackets around the corners and edges.

Updated Pistons to make them less error-prone, thus they also appear to update slower. This also altered the way Pistons work, so you might have to adapt your repeater delays and similar. For this change, pistons now take 2 redstone ticks (4 game ticks) to extend, but they still retract instantly.

Unextended pistons, downwards-facing pistons, and upwards-facing piston extensions are now considered to have a solid top surface, like upside-down stairs and top-half slabs. There also existed a bug where when a piston retracted, it would pull entities through them, called translocation.

Added a new byte tag source for the piston_extension block entity, which is true if the block represents the piston head itself, and false if it represents a block being pushed. Translocation was removed.

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.

Mobs can spawn inside the piston head block.

Carpet can be placed on the piston extension block, and will remain even if is replaced with a solid block using /setblock.

In other languages

Content is available under CC BY-NC-SA 3.0 unless otherwise noted.Minecraft content and materials are trademarks and copyrights of Mojang and its licensors. All rights reserved.
This site is a part of Curse, Inc. and is not affiliated with Mojang.