Piston

Piston
File:Piston.gifFile:Sticky Piston.gif
File:Piston BE.gifFile:Sticky Piston BE.gif

 Stackable
 Tool
 Hardness | 1.5{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
 Catches fire from lava | No

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}
 A **piston** is a block capable of pushing blocks, players, and mobs when given a redstone pulse.

 A **sticky piston** has the same function as a piston but can also pull the block on its face back when it retracts, unlike the regular piston, which leaves the pushed block in place.

## Obtaining

### Breaking

A piston can be broken using any tool with equal efficiency, and always drops itself.
In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, it is faster to break them with a pickaxe. The pickaxe is also the preferred tool for breaking the head when extended.

```

 Tool
 Golden | 0.2

1. ↑ Times are for unenchanted tools as wielded by players with no status effects, measured in seconds. For more information, see Breaking § Speed.

### Natural generation

Three sticky pistons generate as part of each jungle temple.

### Crafting

**Lua error: callParserFunction: function "#dplvar" was not found.**
**Lua error: callParserFunction: function "#dplvar" was not found.**

## Usage

See also: Tutorials/Piston uses and Mechanics/Redstone/Piston circuits

Pistons are always placed facing toward the player. When powered, the piston's wooden surface (the "head") starts extending immediately in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}; or either Template:Convert later or immediately, depending on how it was powered, in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval |     {{#vardefine:game-{{#var:argnum}}}}
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}. When it extends, it pushes at most 12 blocks. The piston makes a sound that can be heard within a 31×31×31 cube centered on the activating piston. Any entities in the path of the extending head are pushed with the blocks. If there is no place for the entities to go, the block pushes inside them, suffocating mobs if the block is not transparent when pushed into the eye height of the mob.

```

When a piston loses power, its head retracts. Like extending, this retraction starts immediately in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}; or, depending on how it was powered, after 1 tick in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval |     {{#vardefine:game-{{#var:argnum}}}}
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}. It finishes retracting Template:Convert after it starts. A sticky piston also pulls the block attached to its head, but not any of the other blocks it may have pushed.

```

Sticky pistons stick to a block only 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. In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, pistons finish extending early and start retracting if given a pulse shorter than Template:Convert. These shorter pulses cause sticky pistons to "drop" their block, leaving it behind when trying to push it with a short pulse. Also, this causes the block to end up in its final position earlier.

```

A piston that pushes a slime block bounces 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 also moves. See the "Slime blocks" section below for more details.

In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, blocks that stick to walls (such as levers) can be placed on pistons or sticky pistons.

```

### Limitations

Pistons can push most blocks, and sticky pistons can pull most blocks, except those listed in the table below. Sticky pistons simply leave a block behind if it cannot pull it.

Pistons cannot push blocks into the void or beyond the top of the map. They also cannot push more than 12 blocks. If the requirements for a block to be pushed are not met, the piston simply does not extend.

Blocks that cannot be pushed or pulled
* Beacon
* Bedrock
* Command Block
* Crying Obsidian
* Enchanting Table
* End Gateway
* End Portal
* End Portal Frame
* Ender Chest
* Grindstone
* Jigsaw Block
* Jukebox
* Lodestone
* Nether Portal
* Obsidian
* Structure Void‌{{#vardefine:$title|This statement only applies to {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} {{#var: edition-l}}
       }}
  }}{{#var: editions}} }}[*{{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}} only*]

```
* Piston (extended)
* Respawn Anchor
* Spawner
 * Glazed Terracotta
 * Barrel
* Beehive
* Bee Nest
* Blast Furnace
* Brewing Stand
* Chest
* Daylight Detector
* Dispenser
* Dropper
* Furnace
* Hopper
* Lectern
* Smoker
* Trapped Chest
 * Double Chest
 * Banner
* Sign
 * Campfire
* Soul Campfire
 * Amethyst Cluster
* Bamboo
* Bed
* Budding Amethyst
* Button
* Cactus
* Cake
* Carpets
* Carved Pumpkin
* Chorus Flower
* Chorus Plant
* Cobweb
* Cocoa
* Door
* Dragon Egg
* Fire
* Flower Pot
* Flower
* Head
* Item Frame
* Jack o'Lantern
* Ladder
* Lava
* Leaves
* Lever
* Lily Pad
* Melon
* Moss Block
* Moss Carpet
* Mushroom
* Nether Wart
* Painting
* Pointed Dripstone
* Pressure Plate
* Pumpkin
* Redstone Comparator
* Redstone Dust
* Redstone Repeater
* Redstone Torch
* Structure Void‌{{#vardefine:$title|This statement only applies to {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} {{#var: edition-l}}
       }}
  }}{{#var: editions}} }}[*{{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}} only*]

```
* Scaffolding
* Sea Pickle
* Shulker Box
* Snow
* Sugar Cane
* Torch
* Tripwire
* Tripwire Hook
* Turtle Egg
* Vines
* Water
* Weighted Pressure Plate
* Wheat
 * Anvil
 * Concrete Powder
* Gravel
* Red Sand
* Sand

Pistons do not move blocks that are "attached to a block", as they detach and drop as an item.

##### Exceptions

* Rails: as long as they remain on top of a solid face of a block in their new position, and that block isn't moving at the same time.
	+ Rails re-orient themselves after being pushed, similar to when placed manually.
* Carpets

### Powering pistons

 File:Stacked pistons powered by one redstone line.png
Pistons can be powered in various ways:

* If a redstone wire is in a line shape toward the piston. In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, the wire does not automatically curve to the piston.

```

* Pistons can be powered by a powered block directly adjacent to them, whether it is strongly powered or weakly powered.
* Pistons can be powered by a redstone torch directly adjacent to them.
* In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, 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 placed on its head, it extends when powered, but doesn't retract when the power it receives from the side or back turns off). However, the piston doesn'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 upward-facing piston can't be powered by a block above it, unless it is extended In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}.

```

* In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}} a redstone torch attached to a piston turns off whenever the piston is powered.

```

* Pistons can also be powered by observers. This will create a clock if the setup is correct

### Slime blocks and honey blocks

Template:Schematic

When a slime block is pushed or pulled by a piston, while moving, adjacent blocks 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 attempts to move the ground block underneath itself, which in turn has 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 *does 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 ignores the immobile block. But if an adjacent block could be moved but is prevented by the presence of an immobile block, the slime block is 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 machines.

The same happens for the honey block, but it does not stick to slime blocks.

## Technical components

### Piston Head

Piston Head
File:Piston Head.pngFile:Sticky Piston Head.png
File:Piston Head BE.pngFile:Sticky Piston Head BE.png
pistonArmCollision

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/

 [\n ]}}
}}
 Blast resistance | 0.5{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
 Catches fire from lava | No

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}

The **piston head** 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 be placed using the `/setblock` command or with the debug stick, though if not part of a proper piston, it disappears after receiving any block tick, such as when a block is placed next to it unless the player uses the debug stick. It drops nothing.

In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, the normal and sticky piston heads are distinguished by a block state. In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval |     {{#vardefine:game-{{#var:argnum}}}}
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, they used separate block IDs, and it can be obtained as an item via inventory editors.

```

#### Block states

See also: Block states

Piston/BS3

### Moving Piston

Moving Piston
File:Moving Piston.png
movingBlock

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/

 [\n ]}}
}}
 Blast resistance | 0{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
 Catches fire from lava | No

{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}

The **moving piston** 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 through editing and no piston is connected, it remains indefinitely.

It is invisible and non-solid in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, and cannot be broken without the use of commands or TNT. Although it is non-solid, fluids cannot pass through it. It also prevents players from building at its location. Mobs can see through it, but cannot walk through it.

```

The game treats the block as a stone block when it comes to the player's footstep sounds. It is similar to Invisible Bedrock in properties with the exception that the player can walk through the moving piston but not invisible bedrock.

#### Block states

See also: Block states

Piston/BS2

#### Block data

The moving piston has a block entity associated with it that holds additional data about the block.

*Java Edition*:

See also: Block entity format
Piston/BE

Bedrock Edition:

See Bedrock Edition level format/Block entity format.

## Sounds

### Generic

*Java Edition*:
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**

Bedrock Edition:
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**

### Unique

*Java Edition*:
**Lua error: callParserFunction: function "#var" was not found.**
**Lua error: callParserFunction: function "#var" was not found.**

## Data values

### ID

*Java Edition*:

{{#vardefine: idtable | 1 }}

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

```
 #dplreplace: {{
   #dplreplace: dragon_immune, wither_immune
 }}

```
`}}` | — | *None* | `{{`
```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

Bedrock Edition:

{{#vardefine: idtable | 1 }}

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

{{#vardefine: idtable | 1 }}

```
 #dplreplace: {{
   #dplreplace: ?

 }}

```

### Block states

See also: Block states
The `piston` and `sticky_piston` blocks use following block states:

Piston/BS

### Block data

In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, a piston has a block entity associated with it that holds additional data about the block.

```

See Bedrock Edition level format/Block entity format.
## Achievements

{{

```
 #dplvar:set|achievements-override|1}}{{

 #dpl:
 }}

```

## History

Template:Needs render

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java Classic }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java Beta }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

1. vardefine: $name |jeb\_}}{{
2. vardefine: deleted |}}https://web.archive.org/web/https://twitter.com/{{#var: $name }}/status/78167135435759617 June 7, 2011]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.3.1 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.3.1 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.8 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.8 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.9 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.9 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.12 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.12 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.13 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.13 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.14 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.14 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.16 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.16 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.17 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.17 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|pocket Alpha}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | v0.15.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: v0.15.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|bedrock}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.10.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.10.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|console}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|new3ds}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|foot}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

Pistonscreen.pngFirst screenshot of pistons.### Data history

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java Beta }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode| java }}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.8 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.8 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.11.1 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.11.1 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.13 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.13 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|pocket Alpha}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|bedrock}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}<th class="nowrap" rowspan="{{#vardefine: history-ver | 1.13.0 }}{{#vardefine: history-index| **Expression error: Unrecognized punctuation character "{".** }}{{
 #var\_final: history-rowspan-{{#var: history-index}} }}" colspan="2">[[{{#dplreplace: {{#var: $ver }} | /^minecraft /i }}|{{
 #dplreplace: 1.13.0 | ^\((.\*?)\)$ | \1 }}]]{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

```

```

```
     }}{{

```

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|console}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-nomode|1}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}{{ #vardefine: $lang-list | {{ #dplreplace:
/ ar
/ ca / cz
/ dk
/ el / eo / et
/ fa / fin
/ ga
/ he / hr
/ id / is
/ lv / lt
/ moh
/ no
/ pt / ph
/ ro
/ sr / sk / se
/ th / tl / tr
/ ua
/ vi
/ yi
/
}}[[Category:Unknown {{#var: history-mode }} version history/{{ #var: $lang }}|{{#var:history-sortkey}}]]

 {{ #vardefine:history-head|1}}{{#vardefine: history-nomode|}}{{

 #vardefine: history-rows | 45
}}{{#vardefine: history-mode|foot}}{{
 #vardefine: history-xbox-ver |}}{{
 #vardefine: history-xbone-ver |}}{{
 #vardefine: history-ps-ver |}}{{
 #fornumargs: argnum | argval | }}

## Trivia

* When toggled between on and off rapidly with a gravity affected block (such as sand) above it, a piston can eventually break the block, which can be picked up as a resource. However, gravel broken this way never drops flint.
* Mobs can spawn inside the piston head block.
* Carpet can be placed on the piston extension block, and remains even if it is replaced with a solid block using `/setblock`.
* In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}, the piston head is invisible and non-solid when placed with commands. The moving piston cannot be placed with block placement commands in this edition.

```
* Piston head extend animations are different in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}} from those in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval |     {{#vardefine:game-{{#var:argnum}}}}
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}}.

```
* The piston heads in {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}

```
       {{#vardefine: edition       |{{#var: argval}} }}
               {{#vardefine: edition-s     |{{#var: edition}}}}
               {{#vardefine: edition-l     |{{#var: edition-s}} Edition}}
           {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
       }}
  }}{{#var: editions}} look slightly different than the ones in all other versions.

```
* The `moving_piston` is transparent and does not emit light.
	+ If a light-emitting block is moved, the player can see it turn dark briefly. If an opaque block is moved, the player may see light passing through it.

## Gallery

PistonParadox.pngNotch's explanation on how the rod (a full block long when extended) fits into the piston box (whose depth is a block *minus* the face's thickness).Pistongates.pngFundamental logic gates, implemented purely with pistons and redstone repeaters, clockwise from upper left: AND, OR, XOR, and NOT.Pistonslowclockgenerator.pngSlow clock generator with pistons and redstone.Piston Waterflow control.pngAn example of a piston-controlled waterflow.Glassp.gifAn example of sticky piston use with glass panes.Piston Artwork.pngArtwork of a Piston connected to a lever.See also

* Slime Block
* Redstone
* Tutorials/Piston uses
* Tutorials/Headless pistons
* Mechanics/Redstone/Piston circuits

## Notes

1. ↑ In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}}, item frames are technically entities, not blocks. In {{#vardefine: editions}}{{#vardefine:nosuffix}}{{#vardefine:nosuffix-1}}{{#vardefine:nosuffix+1}}{{#vardefine:nosuffix+2}}{{#fornumargs: argnum | argval | {{#vardefine:game-{{#var:argnum}}}}
 {{#vardefine: edition |{{#var: argval}} }}
 {{#vardefine: edition-s |{{#var: edition}}}}
 {{#vardefine: edition-l |{{#var: edition-s}} Edition}}
 {{#var: editions}} [[{{#var: linkname}}|{{#var: edition-l}}]]
 }}
 }}{{#var: editions}}, they are blocks
2. ↑ Paintings are technically entities, not blocks.
## References

2. ↑ http://www.minecraftforum.net/viewtopic.php?t=247686&f=1032
3. ↑ {{

	1. vardefine: $name |notch}}{{
	2. vardefine: deleted |}}https://web.archive.org/web/https://twitter.com/{{#var: $name }}/status/83513677654929408
Template:Redstone

de:Kolben
es:Pistón
fr:Piston
hu:Dugattyú
it:Pistone
ja:ピストン
ko:피스톤
nl:Zuiger
pl:Tłok
pt:Pistão
ru:Поршень
zh:活塞