Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Piston: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Fix template calls: add MC/ prefix
SyncBot (talk | contribs)
Sync: updated from Minecraft
 
Line 1: Line 1:
{{MC/For|the sticky version|Sticky Piston}}
{{for|the sticky version|Sticky Piston}}
{{Infobox block
{{Infobox block
| image = Piston.gif
| image = Piston.gif
| imagecaption = {{MC/JE}}
| imagecaption = {{JE}}
| image2 = Piston BE.gif
| image2 = Piston BE.gif
| image2caption = {{MC/BE}}
| image2caption = {{BE}}
| invimage = Piston
| invimage = Piston
| transparent = {{MC/JEBE|No|Yes}}
| transparent = {{jebe|No|Yes}}
| light = No
| light = No
| tool = Pickaxe
| tool = Pickaxe
Line 14: Line 14:
| lavasusceptible = No
| lavasusceptible = No
}}
}}
A '''piston''' is a [[Minecraft:block]] capable of pushing most entities and blocks when given a [[Minecraft:redstone]] signal.  
A '''piston''' is a [[Minecraft:block]] capable of pushing most [[Minecraft:entities]] and blocks when given a [[Minecraft:redstone]] signal.  


Some blocks cannot be moved, break when pushed or have other interactions with pistons. A piston can move up to twelve blocks at once.
Some blocks cannot be moved, break when pushed or have other interactions with pistons. A piston can move up to twelve blocks at once.
Line 22: Line 22:
A piston can be broken using any [[Minecraft:tool]] with equal efficiency, and always drops itself.
A piston can be broken using any [[Minecraft:tool]] with equal efficiency, and always drops itself.
It is faster to break them with a [[Minecraft:pickaxe]]. The pickaxe is also the preferred tool for breaking the head when extended.<ref>{{bug|MC-171370|||WAI}}</ref>
It is faster to break them with a [[Minecraft:pickaxe]]. The pickaxe is also the preferred tool for breaking the head when extended.<ref>{{bug|MC-171370|||WAI}}</ref>
{{MC/Breaking row|horizontal=1|Piston|Pickaxe}}
{{breaking row|horizontal=1|Piston|Pickaxe}}


=== Crafting ===
=== Crafting ===
Line 40: Line 40:


== Usage ==
== Usage ==
{{MC/See also|Tutorial:Piston uses|Redstone circuits/Piston}}
{{see also|Tutorial:Piston uses|Redstone circuits/Piston}}
=== Crafting ingredient ===
=== Crafting ingredient ===
{{Crafting usage}}
{{Crafting usage}}


=== Redstone component ===
=== Redstone component ===
Pistons are always placed facing toward the player. When powered, the piston's wooden surface (the "head") tries to start extending after a [[#Start delay|start delay]]. The extension takes {{MC/Convert|2|game tick|second}} to finish. 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 an extending piston (or any block it might be moving) are pushed along, when possible. If the entities cannot be moved, the block is pushed inside them, suffocating [[Minecraft:mob]]s when pushed into their eye height (assuming said block is solid).
Pistons are always placed facing toward the player. When powered, the piston's wooden surface (the "head") tries to start extending after a [[#Start delay|start delay]]. The extension takes {{convert|2|game tick|second}} to finish. 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 an extending piston (or any block it might be moving) are pushed along, when possible. If the entities cannot be moved, the block is pushed inside them, suffocating [[Minecraft:mob]]s when pushed into their [[Minecraft:eye height]] (assuming said block is solid).


When a piston loses power, its head retracts. Like the extension, the retraction starts after a [[#Start delay|start delay]] and takes {{MC/Convert|2|game tick|second}} to finish.
When a piston loses power, its head retracts. Like the extension, the retraction starts after a [[#Start delay|start delay]] and takes {{convert|2|game tick|second}} to finish.


A piston that pushes a slime block bounces any entity that it displaces in the direction the piston is facing. Entities on top of a moving honey block, or any other moving block,{{only|bedrock|short=1}} will also move with it. In addition, when a slime block or a honey block is moved by a piston, any movable block adjacent (not diagonally) to it also moves. See the "[[#Slime blocks and honey blocks|Slime blocks and honey blocks]]" section of this page for more details.
A piston that pushes a [[Minecraft:slime block]] bounces any entity that it displaces in the direction the piston is facing. Entities on top of a moving [[Minecraft:honey block]], or any other moving block,{{only|bedrock|short=1}} will also move with it. In addition, when a slime block or a honey block is moved by a piston, any movable block adjacent (not diagonally) to it also moves. See the "[[#Slime blocks and honey blocks|Slime blocks and honey blocks]]" section of this page for more details.


{{MC/In|be}}, blocks that require a support (such as levers) can be placed on the back or sides of a piston without being destroyed when that piston extends. {{MC/In|je}}, on the other hand, the majority of blocks that require a support are only safe to place on the back of pistons.
{{IN|be}}, blocks that require a support (such as levers) can be placed on the back or sides of a piston without being destroyed when that piston extends. {{IN|je}}, on the other hand, the majority of blocks that require a support are only safe to place on the back of pistons.


==== Soft inversion ====
==== Soft inversion ====
{{MC/Exclusive|bedrock|section=1}}
{{exclusive|bedrock|section=1}}
When a piston that has a redstone torch attached to it is powered, the redstone torch turns off—and when said piston is depowered, the redstone torch turns back on: this mechanic is known by the community as ''soft inversion''.<ref>{{bug|MCPE-17909|||WF}}</ref><ref>"Explaining soft inversion: the Minecraft Bedrock Redstone bug that won't get fixed" – https://www.youtube.com/watch?v=zUgKXTsLOA0</ref> Since soft inversion works even if the piston is being powered indirectly through a block, it can be used to toggle the state of a redstone torch from farther away compared to other powering methods. It's still possible to take advantage of soft inversion even if the piston cannot extend or retract.
When a piston that has a [[Minecraft:redstone torch]] attached to it is powered, the redstone torch turns off—and when said piston is depowered, the redstone torch turns back on: this mechanic is known by the community as ''[[Minecraft:soft inversion]]''.<ref>{{bug|MCPE-17909|||WF}}</ref><ref>"Explaining soft inversion: the Minecraft Bedrock Redstone bug that won't get fixed" – https://www.youtube.com/watch?v=zUgKXTsLOA0</ref> Since soft inversion works even if the piston is being powered indirectly through a block, it can be used to toggle the state of a redstone torch from farther away compared to other powering methods. It's still possible to take advantage of soft inversion even if the piston cannot extend or retract.


==== Interaction with comparators ====
==== Interaction with comparators ====
{{MC/Exclusive|bedrock|section=1}}
{{exclusive|bedrock|section=1}}
Despite not being a conductive block, comparators can read the fullness of containers through pistons.
Despite not being a conductive block, comparators can read the fullness of containers through pistons.


Line 64: Line 64:
A piston won't extend or retract immediately when it is activated: this phenomenon is known as "start delay".
A piston won't extend or retract immediately when it is activated: this phenomenon is known as "start delay".


{{MC/In|be}}, the start delay is fixed at {{MC/Convert|2|game tick|second}}, meaning that the piston starts to extend or retract 2 game ticks after it is activated. Pistons can only activate on the input/consumer redstone tick (C-tick).
{{IN|be}}, the start delay is fixed at {{convert|2|game tick|second}}, meaning that the piston starts to extend or retract 2 game ticks after it is activated. Pistons can only activate on the input/consumer redstone tick ([[Minecraft:C-tick]]).


{{MC/In|je}}, the start delay can be 0 (activation in the same tick) or {{MC/Convert|1|game tick|second}} (activation in the next tick) depending on the [[Minecraft:Tick#Game process|game process]] in which the piston is powered:
{{IN|je}}, the start delay can be 0 (activation in the same tick) or {{convert|1|game tick|second}} (activation in the next tick) depending on the [[Minecraft:Tick#Game process|game process]] in which the piston is powered:
* If the piston is powered and updated in the [[Minecraft:Tick#Scheduled tick|scheduled tick]] phase, random tick phase or block event phase, the piston activates in this game tick's block event phase, which means the start delay in this case is 0.
* If the piston is powered and updated in the [[Minecraft:Tick#Scheduled tick|scheduled tick]] phase, [[Minecraft:random tick]] phase or block event phase, the piston activates in this game tick's block event phase, which means the start delay in this case is 0.
* If the piston is powered and updated during the entity phase or the [[Minecraft:block entity]] phase, or by player actions, the piston activates in the next game tick's block event phase, which means the start delay in this case is 1 tick. Notably, because blocks pushed by pistons arrive during the block entity phase (except when [[Minecraft:Sticky Piston#Block dropping|dropped]] by a sticky piston), in a chain of pistons each pushing a redstone block to activate the next, successive activations will happen 3 ticks apart.
* If the piston is powered and updated during the [[Minecraft:entity]] phase or the [[Minecraft:block entity]] phase, or by player actions, the piston activates in the next game tick's block event phase, which means the start delay in this case is 1 tick. Notably, because blocks pushed by pistons arrive during the block entity phase (except when [[Minecraft:Sticky Piston#Block dropping|dropped]] by a sticky piston), in a chain of pistons each pushing a redstone block to activate the next, successive activations will happen 3 ticks apart.


=== Limitations ===
=== Limitations ===
<!-- Push reaction redirects here. -->
<!-- [[Minecraft:Push reaction]] redirects here. -->
Pistons can push most blocks, with the exception of the ones listed in the table below.  
Pistons can push most blocks, with the exception of the ones listed in the table below.  


Pistons cannot push blocks into the void, above the build limit, or beyond {{MC/JE}}'s world border. 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.
Pistons cannot push blocks into the [[Minecraft:void]], above the [[Minecraft:build limit]], or beyond {{JE}}'s [[Minecraft:world border]]. 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.


{{:Piston/Table}}
{{:Piston/Table}}
Line 81: Line 81:
[[File:Stacked pistons powered by one redstone line.png|alt=|thumb|Pistons powered by one line of redstone.]]
[[File:Stacked pistons powered by one redstone line.png|alt=|thumb|Pistons powered by one line of redstone.]]


Pistons can be activated from any side, excluding from the head. {{MC/In|BE}}, redstone dust gets automatically redirected toward pistons if placed next to them (except for the head's side).
Pistons can be activated from any side, excluding from the head. {{IN|BE}}, redstone dust gets automatically redirected toward pistons if placed next to them (except for the head's side).


{{MC/In|JE}}, pistons can be powered from one block above compared to most redstone components: this property is called quasi-connectivity and can be used to make a BUD switch, taking advantage of the fact that a piston powered through quasi-connectivity doesn't always get updated. With quasi-connectivity, a piston facing up can also be powered from the head's direction, which is otherwise impossible. Due to quasi-connectivity, a piston facing up that has a block of redstone on top of itself can extend but not retract: this happens because after the piston extends, it keeps receiving power from the redstone block.
{{IN|JE}}, pistons can be powered from one block above compared to most redstone components: this property is called [[Minecraft:Tutorial:Quasi-connectivity|quasi-connectivity]] and can be used to make a [[Minecraft:Tutorial:Block update detector|BUD switch]], taking advantage of the fact that a piston powered through quasi-connectivity doesn't always get updated. With quasi-connectivity, a piston facing up can also be powered from the head's direction, which is otherwise impossible. Due to quasi-connectivity, a piston facing up that has a [[Minecraft:block of redstone]] on top of itself can extend but not retract: this happens because after the piston extends, it keeps receiving power from the redstone block.


=== Slime blocks and honey blocks===
=== Slime blocks and honey blocks===
Line 92: Line 92:
}}
}}


When a slime block is pushed or pulled by a piston, adjacent blocks also move with the slime block, due to its stickiness. 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 they were being pushed directly by a piston. The same occurs when a slime block is moved by another adjacent slime block. For example, a 2×2×2 cube of slime blocks may be pushed or pulled as a single unit by a piston acting on any of the blocks in the cube. A slime block adjacent to a block that cannot be moved by pistons or a block that can be broken by piston ignores that block. However, if an adjacent block could be moved, but is prevented to by the presence of an unmovable block, the slime block is prevented from moving as well and the piston does not extend.
When a [[Minecraft:slime block]] is pushed or pulled by a piston, adjacent blocks also move with the slime block, due to its stickiness. 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 they were being pushed directly by a piston. The same occurs when a slime block is moved by another adjacent slime block. For example, a 2×2×2 cube of slime blocks may be pushed or pulled as a single unit by a piston acting on any of the blocks in the cube. A slime block adjacent to a block that cannot be moved by pistons or a block that can be broken by piston ignores that block. However, if an adjacent block could be moved, but is prevented to by the presence of an unmovable block, the slime block is prevented from moving as well and the piston does not extend.


Slime blocks' stickiness is unilateral, as such they can't be pulled by a non-sticky piston and they are not 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 structure of slime blocks may be pushed by a piston as long as no other movable block is 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 more informations, see the article Tutorial:Flying machines.
Slime blocks' stickiness is unilateral, as such they can't be pulled by a non-[[Minecraft:sticky piston]] and they are not 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 structure of slime blocks may be pushed by a piston as long as no other movable block is 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 more informations, see the article [[Minecraft:Tutorial:Flying machines]].


Honey blocks work like slime blocks when it comes to moving other blocks, however honey blocks and slime blocks do not stick to each other. This allows, by alternating slime blocks and honey blocks, to have redstone contraptions which make use of these sticky blocks stay side by side without interfering with one another.
[[Minecraft:Honey block]]s work like slime blocks when it comes to moving other blocks, however honey blocks and slime blocks do not stick to each other. This allows, by alternating slime blocks and honey blocks, to have redstone contraptions which make use of these sticky blocks stay side by side without interfering with one another.


Glazed terracotta and the heavy core{{only|bedrock|short=1}} have an interesting property: they ''do not'' stick to adjacent slime blocks or honey blocks, even though they can be pushed by pistons.
[[Minecraft:Glazed terracotta]] and the [[Minecraft:heavy core]]{{only|bedrock|short=1}} have an interesting property: they ''do not'' stick to adjacent slime blocks or honey blocks, even though they can be pushed by pistons.


== Technical components ==
== Technical components ==
{{MC/Main|Piston/Technical components}}
{{main|Piston/Technical components}}
Pistons have 2 technical blocks that cannot be obtained. These include the '''piston head''' and '''moving piston''' blocks.
Pistons have 2 technical blocks that cannot be obtained. These include the '''piston head''' and '''moving piston''' blocks.


== Sounds ==
== Sounds ==
=== Generic ===
=== Generic ===
{{MC/Edition|java}}:
{{edition|java}}:
{{MC/Sound table/Block/Stone/JE}}
{{Sound table/Block/Stone/JE}}
{{MC/Edition|bedrock}} (piston):
{{edition|bedrock}} (piston):
{{MC/Sound table/Block/Stone/BE}}
{{Sound table/Block/Stone/BE}}
{{MC/Edition|bedrock}} (arm):
{{edition|bedrock}} (arm):
{{MC/Sound table/Block/Normal/BE}}
{{Sound table/Block/Normal/BE}}


=== Unique ===
=== Unique ===
Line 118: Line 118:
== Data values ==
== Data values ==
=== ID ===
=== ID ===
{{MC/Edition|java}}:
{{edition|java}}:
{{ID table
{{ID table
|edition=java
|edition=java
Line 129: Line 129:
|foot=1}}
|foot=1}}


{{MC/Edition|bedrock}}:
{{edition|bedrock}}:
{{ID table
{{ID table
|edition=bedrock
|edition=bedrock
Line 150: Line 150:


=== Block states ===
=== Block states ===
{{MC/See also|Block states}}
{{see also|Block states}}
The <code>piston</code> block uses following block states:
The <code>piston</code> block uses following block states:


<section begin="block states"/>{{MC/El|je}}:
<section begin="block states"/>{{el|je}}:
{{bst|extended|false|false,true|If true, the piston is extended.}}
{{bst|extended|false|false,true|If true, the piston is extended.}}
{{bst|facing|north|down,east,north,south,up,west|The direction the piston head is pointing.<br>The opposite from the direction the player faces while placing the piston.|foot=1}}
{{bst|facing|north|down,east,north,south,up,west|The direction the piston head is pointing.<br>The opposite from the direction the player faces while placing the piston.|foot=1}}


{{MC/El|be}}:
{{el|be}}:
{{bst|showaux=1|bits=0x1,0x2,0x4|facing_direction|0|0,1,2,3,4,5|The direction the piston is pointing.
{{bst|showaux=1|bits=0x1,0x2,0x4|facing_direction|0|0,1,2,3,4,5|The direction the piston is pointing.
*0: facing down
*0: facing down
Line 167: Line 167:


=== Block data ===
=== Block data ===
{{MC/Exclusive|bedrock|section=1}}
{{exclusive|bedrock|section=1}}
{{MC/In|be}}, a piston has a [[Minecraft:block entity]] associated with it that holds additional data about the block.
{{IN|be}}, a piston has a [[Minecraft:block entity]] associated with it that holds additional data about the block.


: See [[Minecraft:Bedrock Edition level format/Block entity format]].
: See [[Minecraft:Bedrock Edition level format/Block entity format]].


== Achievements ==
== Achievements ==
{{MC/Load achievements|Inception}}
{{load achievements|Inception}}


== Videos ==
== Videos ==
{{MC/Yt|dKDSUKXN138}}
{{yt|dKDSUKXN138}}


== History ==
== History ==
{{MC/Needs render|Extended pistons in Legacy Console Edition look different since TU46}}
{{Needs render|Extended pistons in Legacy Console Edition look different since TU46}}


=== Development ===
=== Development ===
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine||May 21, 2009|link=wordofnotch:110762705|Notch shows interest in adding [[Minecraft:block]]s that can pull and push other blocks when a pulse from a wire is received; he called them "Pulley1", which would pull a block down, and "Pulley2", which would push a block up.}}
|{{HistoryLine||May 21, 2009|link=wordofnotch:110762705|[[Minecraft:Notch]] shows interest in adding [[Minecraft:block]]s that can pull and push other blocks when a pulse from a wire is received; he called them "Pulley1", which would pull a block down, and "Pulley2", which would push a block up.}}
|{{MC/HistoryLine||?|[[File:Piston normal mod.png|32px]] [[File:Piston normal extended mod.png|32px]] The original piston was a mod posted on the Minecraft Forums by Hippoplatimus.<ref>http://www.minecraftforum.net/viewtopic.php?t=247686&f=1032</ref> 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.
|{{HistoryLine||?|[[File:Piston normal mod.png|32px]] [[File:Piston normal extended mod.png|32px]] The original piston was a mod posted on the [[Minecraft:Minecraft Forums]] by Hippoplatimus.<ref>http://www.minecraftforum.net/viewtopic.php?t=247686&f=1032</ref> The code for that version was given to [[Minecraft:Jeb]], who then worked on implementing pistons into vanilla [[Minecraft: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, including the idea of block entities to track moving blocks.<ref>http://www.reddit.com/r/Minecraft/comments/hvkmo/attribution_of_the_piston_mod_in_vanilla_minecraft/</ref>}}
|Another user, DiEvAl, privately submitted code as well, including the idea of [[Minecraft:block entities]] to track moving blocks.<ref>http://www.reddit.com/r/Minecraft/comments/hvkmo/attribution_of_the_piston_mod_in_vanilla_minecraft/</ref>}}
|{{HistoryLine||June 7, 2011|link={{tweet|jeb|78167135435759617}}|Jeb tweets an image of pistons in development.
|{{HistoryLine||June 7, 2011|link={{tweet|jeb|78167135435759617}}|[[Minecraft:Jeb]] tweets an image of pistons in development.
|[[File:Piston (U) pJE20110607.png|32px]] 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.}}
|[[File:Piston (U) pJE20110607.png|32px]] 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.}}
}}
}}
Line 192: Line 192:
=== ''Java Edition'' ===
=== ''Java Edition'' ===
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|java beta}}
|{{HistoryLine|java beta}}
|{{MC/HistoryLine||1.7|[[File:Piston (U) JE1.png|32px]] [[File:Piston (N) JE1 BE1.png|32px]] [[File:Piston (E) JE1 BE1.png|32px]] [[File:Piston (S) JE1 BE1.png|32px]] [[File:Piston (W) JE1 BE1.png|32px]] [[File:Piston (D) JE1 BE1.png|32px]]<br>[[File:Headless Piston (U) JE1 BE1.png|32px]] [[File:Headless Piston (N) JE1 BE1.png|32px]] [[File:Headless Piston (E) JE1 BE1.png|32px]] [[File:Headless Piston (S) JE1 BE1.png|32px]] [[File:Headless Piston (W) JE1 BE1.png|32px]] [[File:Headless Piston (D) JE1 BE1.png|32px]]<br>Added pistons, alongside associated head and moving blocks.
|{{HistoryLine||1.7|[[File:Piston (U) JE1.png|32px]] [[File:Piston (N) JE1 BE1.png|32px]] [[File:Piston (E) JE1 BE1.png|32px]] [[File:Piston (S) JE1 BE1.png|32px]] [[File:Piston (W) JE1 BE1.png|32px]] [[File:Piston (D) JE1 BE1.png|32px]]<br>[[File:Headless Piston (U) JE1 BE1.png|32px]] [[File:Headless Piston (N) JE1 BE1.png|32px]] [[File:Headless Piston (E) JE1 BE1.png|32px]] [[File:Headless Piston (S) JE1 BE1.png|32px]] [[File:Headless Piston (W) JE1 BE1.png|32px]] [[File:Headless Piston (D) JE1 BE1.png|32px]]<br>Added pistons, alongside associated head and moving blocks.
|A bug existed in this version which caused the game to crash and lock the player out of their world when powering pistons in some scenarios (for example when trying to push a redstone torch).}}
|A bug existed in this version which caused the game to crash and lock the player out of their world when powering pistons in some scenarios (for example when trying to push a redstone torch).}}
|{{MC/HistoryLine||1.7_01|The aforementioned bug has been fixed and affected worlds now load normally again.
|{{HistoryLine||1.7_01|The aforementioned bug has been fixed and affected worlds now load normally again.
|Headless pistons do not break upon receiving a [[Minecraft:block update]] anymore.}}
|Headless pistons do not break upon receiving a [[Minecraft:block update]] anymore.}}
|{{MC/HistoryLine|java}}
|{{HistoryLine|java}}
|{{MC/HistoryLine||1.2.4|dev=release|Spruce planks, birch planks, and jungle planks can now be used to craft pistons.}}
|{{HistoryLine||1.2.4|dev=release|[[Minecraft:Spruce planks]], [[Minecraft:birch planks]], and [[Minecraft:jungle planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine||1.3.1|dev=12w26a|Pistons now schedule extensions and retractions rather than executing them as soon as they are updated.}}
|{{HistoryLine||1.3.1|dev=12w26a|Pistons now schedule extensions and retractions rather than executing them as soon as they are updated.}}
|{{HistoryLine||1.5|dev=13w10a|Pistons changing their {{MC/Code|extended}} state from {{MC/Code|false}} to {{MC/Code|true}} is now the ''last'' step of (the start of) the extension process, rather then the first. This change affects some redstone contraptions.}}
|{{HistoryLine||1.5|dev=13w10a|Pistons changing their {{code|extended}} state from {{code|false}} to {{code|true}} is now the ''last'' step of (the start of) the extension process, rather then the first. This change affects some redstone contraptions.}}
|{{MC/HistoryLine||1.7.2|dev=1.7.1|Acacia planks and dark oak planks can now be used to craft pistons.}}
|{{HistoryLine||1.7.2|dev=1.7.1|[[Minecraft:Acacia planks]] and [[Minecraft:dark oak planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine||1.8|dev=14w17a|[[File:Piston (U) JE2.png|32px]] [[File:Piston (D) JE2.png|32px]] [[File:Headless Piston (U) JE2.png|32px]] [[File:Headless Piston (D) JE2.png|32px]] The models for pistons when facing up and down have been changed.}}
|{{HistoryLine||1.8|dev=14w17a|[[File:Piston (U) JE2.png|32px]] [[File:Piston (D) JE2.png|32px]] [[File:Headless Piston (U) JE2.png|32px]] [[File:Headless Piston (D) JE2.png|32px]] The models for pistons when facing up and down have been changed.}}
|{{MC/HistoryLine|||dev=14w18a|Slime blocks now push and pull blocks adjacent when connected to sticky pistons.
|{{HistoryLine|||dev=14w18a|[[Minecraft:Slime block]]s now push and pull blocks adjacent when connected to sticky pistons.
|Extending a piston with a slime block on top of it launches the entity ([[Minecraft:mob]]s, players, [[Minecraft:item]]s, launched [[Minecraft:arrow]]s, etc) into the [[Minecraft:air]].}}
|Extending a piston with a slime block on top of it launches the [[Minecraft:entity]] ([[Minecraft:mob]]s, [[Minecraft:player]]s, [[Minecraft:item]]s, launched [[Minecraft:arrow]]s, etc) into the [[Minecraft:air]].}}
|{{MC/HistoryLine|||dev=14w19a|Slime blocks can now push entities sideways and downward when attached to a piston.}}
|{{HistoryLine|||dev=14w19a|Slime blocks can now push entities sideways and downward when attached to a piston.}}
|{{HistoryLine|||dev=14w26a|Pistons do not check if they are receiving power in the moment in which their {{MC/Code|extended}} state changes from {{MC/Code|false}} to {{MC/Code|true}} anymore.}}
|{{HistoryLine|||dev=14w26a|Pistons do not check if they are receiving power in the moment in which their {{code|extended}} state changes from {{code|false}} to {{code|true}} anymore.}}
|{{HistoryLine||1.9|dev=15w38b|Retracting pistons can now pull entities through them.<ref>{{bug|MC-89030}}</ref> This behavior was known as "piston translocation" by the community.}}
|{{HistoryLine||1.9|dev=15w38b|Retracting pistons can now pull [[Minecraft:entities]] through them.<ref>{{bug|MC-89030}}</ref> This behavior was known as "piston translocation" by the community.}}
|{{MC/HistoryLine|||dev=15w49a|Unextended pistons, downward-facing pistons, and upward-facing piston heads are now considered to have a solid top surface, like upside-down [[Minecraft:stairs]] and top [[Minecraft:slab]]s.}}
|{{HistoryLine|||dev=15w49a|Unextended pistons, downward-facing pistons, and upward-facing piston heads are now considered to have a solid top surface, like upside-down [[Minecraft:stairs]] and top [[Minecraft:slab]]s.}}
|{{MC/HistoryLine||1.11|dev=16w40a|Retracting pistons can no longer pull entities through them. "Piston translocation" has been removed.}}
|{{HistoryLine||1.11|dev=16w40a|Retracting pistons can no longer pull [[Minecraft:entities]] through them. "Piston translocation" has been removed.}}
|{{MC/HistoryLine||1.12|dev=17w16a|When pistons move slime blocks, they do not move glazed terracotta attached to the side of the slime block.}}
|{{HistoryLine||1.12|dev=17w16a|When pistons move [[Minecraft:slime block]]s, they do not move glazed terracotta attached to the side of the slime block.}}
|{{HistoryLine|||dev=pre3|Glazed terracotta does not stick to slime blocks in some situations anymore.<ref>{{bug|MC-116373|||fixed}}</ref>}}
|{{HistoryLine|||dev=pre3|Glazed terracotta does not stick to slime blocks in some situations anymore.<ref>{{bug|MC-116373|||fixed}}</ref>}}
|{{MC/HistoryLine||1.13|dev=17w47a|Pistons now can push note blocks.}}
|{{HistoryLine||1.13|dev=17w47a|Pistons now can push [[Minecraft:note block]]s.}}
|{{HistoryLine|||dev=17w48a|Piston heads are no longer removed when breaking a piston while it is extending.<ref>{{bug|MC-122711|}}</ref>}}
|{{HistoryLine|||dev=17w49a|Piston heads are now once again removed when breaking a piston while it is extending.}}
|{{HistoryLine|||dev=pre7|Pistons now have the same block dropping behavior of sticky pistons.<ref>{{bug|MC-133273}}</ref>}}
|{{HistoryLine|||dev=pre7|Pistons now have the same block dropping behavior of sticky pistons.<ref>{{bug|MC-133273}}</ref>}}
|{{MC/HistoryLine||1.13.1|dev=18w30b|Pistons don't drop blocks anymore.}}
|{{HistoryLine||1.13.1|dev=18w30b|Pistons don't drop blocks anymore.}}
|{{HistoryLine||1.14|dev=18w43a|[[File:Piston (U) JE3.png|32px]] [[File:Piston (N) JE2.png|32px]] [[File:Piston (E) JE2.png|32px]] [[File:Piston (S) JE2.png|32px]] [[File:Piston (W) JE2.png|32px]] [[File:Piston (D) JE3.png|32px]]<br>[[File:Headless Piston (U) JE3.png|32px]] [[File:Headless Piston (N) JE2.png|32px]] [[File:Headless Piston (E) JE2.png|32px]] [[File:Headless Piston (S) JE2.png|32px]] [[File:Headless Piston (W) JE2.png|32px]] [[File:Headless Piston (D) JE3.png|32px]]<br>The textures associated with pistons have been changed.
|{{HistoryLine||1.14|dev=18w43a|[[File:Piston (U) JE3.png|32px]] [[File:Piston (N) JE2.png|32px]] [[File:Piston (E) JE2.png|32px]] [[File:Piston (S) JE2.png|32px]] [[File:Piston (W) JE2.png|32px]] [[File:Piston (D) JE3.png|32px]]<br>[[File:Headless Piston (U) JE3.png|32px]] [[File:Headless Piston (N) JE2.png|32px]] [[File:Headless Piston (E) JE2.png|32px]] [[File:Headless Piston (S) JE2.png|32px]] [[File:Headless Piston (W) JE2.png|32px]] [[File:Headless Piston (D) JE3.png|32px]]<br>The textures associated with pistons have been changed.
|While the texture for oak planks was later updated in subsequent snapshots, the piston texture is yet to be changed to reflect this.<ref>{{bug|MC-248841|||WAI}}</ref>}}
|While the texture for oak planks was later updated in subsequent snapshots, the piston texture is yet to be changed to reflect this.<ref>{{bug|MC-248841|||WAI}}</ref>}}
|{{MC/HistoryLine|||dev=18w44a|Non-extended pistons now block light.}}
|{{HistoryLine|||dev=18w44a|Non-extended pistons now block [[Minecraft:light]].}}
|{{MC/HistoryLine|||dev=18w46a|Added support for directional opacity of blocks. As such, extended pistons now allow light to only pass through certain faces.}}
|{{HistoryLine|||dev=18w46a|Added support for directional opacity of blocks. As such, extended pistons now allow light to only pass through certain faces.}}
|{{MC/HistoryLine||1.15|dev=19w41a|Added honey blocks, which have multiple different types of interactions with pistons.}}
|{{HistoryLine||1.15|dev=19w41a|Added honey blocks, which have multiple different types of interactions with pistons.}}
|{{MC/HistoryLine||1.16|dev=20w06a|The hardness of pistons has been increased from 0.5 to 1.5.
|{{HistoryLine||1.16|dev=20w06a|The hardness of pistons has been increased from 0.5 to 1.5.
|The blast resistance of pistons has been increased from 0.5 to 1.5.
|The blast resistance of pistons has been increased from 0.5 to 1.5.
|[[Minecraft:Pickaxe]]s are now the tool for breaking pistons.
|[[Minecraft:Pickaxe]]s are now the tool for breaking pistons.
|Pistons no longer pop off redstone components placed on the back when retracting.
|Pistons no longer pop off redstone components placed on the back when retracting.
|Crimson planks and warped planks can now be used to craft pistons.}}
|[[Minecraft:Crimson planks]] and [[Minecraft:warped planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine||1.17|dev=20w45a|Particles now appear if a block is broken by a piston.}}
|{{HistoryLine||1.17|dev=20w45a|Particles now appear if a block is broken by a piston.}}
|{{MC/HistoryLine||1.19|dev=22w11a|Mangrove planks can now be used to craft pistons.}}
|{{HistoryLine||1.19|dev=22w11a|[[Minecraft:Mangrove planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine|||dev=22w17a|[[File:Piston (U) JE4.png|32px]] [[File:Piston (N) JE3.png|32px]] [[File:Piston (E) JE3.png|32px]] [[File:Piston (S) JE3.png|32px]] [[File:Piston (W) JE3.png|32px]] [[File:Piston (D) JE4.png|32px]] Changed piston textures, to match the color of the oak planks on the piston head.}}
|{{HistoryLine|||dev=22w17a|[[File:Piston (U) JE4.png|32px]] [[File:Piston (N) JE3.png|32px]] [[File:Piston (E) JE3.png|32px]] [[File:Piston (S) JE3.png|32px]] [[File:Piston (W) JE3.png|32px]] [[File:Piston (D) JE4.png|32px]] Changed piston textures, to match the color of the oak planks on the piston head.}}
|{{MC/HistoryLine||1.19.3|exp=Update 1.20|dev=22w42a|Bamboo planks can now be used to craft pistons.}}
|{{HistoryLine||1.19.3|exp=Update 1.20|dev=22w42a|[[Minecraft:Bamboo planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine||1.19.4|exp=Update 1.20|dev=23w07a|Cherry planks can now be used to craft pistons.}}
|{{HistoryLine||1.19.4|exp=Update 1.20|dev=23w07a|[[Minecraft:Cherry planks]] can now be used to craft pistons.}}
|{{MC/HistoryLine||1.21|dev=24w20a|Piston sounds have been updated to be quieter and less harsh.<br>[[File:Piston extend JE2.ogg]]<br>[[File:Piston contract JE2.ogg]]}}
|{{HistoryLine||1.21|dev=24w20a|Piston sounds have been updated to be quieter and less harsh.<br>[[File:Piston extend JE2.ogg]]<br>[[File:Piston contract JE2.ogg]]}}
|{{MC/HistoryLine|||dev=24w21a|Piston sounds have been reverted to what they previously were, but the attenuation distance and sound level has been halved.}}
|{{HistoryLine|||dev=24w21a|Piston sounds have been reverted to what they previously were, but the attenuation distance and sound level has been halved.}}
|{{MC/HistoryLine||1.21.5|dev=25w10a|Blocks that are broken by a piston now play their breaking sound.}}
|{{HistoryLine||1.21.5|dev=25w10a|Blocks that are broken by a piston now play their breaking sound.}}
}}
}}


=== ''Bedrock Edition'' ===
=== ''Bedrock Edition'' ===
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|pocket alpha}}
|{{HistoryLine|pocket alpha}}
|{{MC/HistoryLine||v0.15.0|dev=build 1|[[File:Piston (U) JE2 BE1.png|32px]] Added pistons.
|{{HistoryLine||v0.15.0|dev=build 1|[[File:Piston (U) JE2 BE1.png|32px]] Added pistons.
|Pistons have a version exclusive animation and the ability to push block entities.}}
|Pistons have a version exclusive animation and the ability to push [[Minecraft:block entities]].}}
|{{MC/HistoryLine|bedrock}}
|{{HistoryLine|bedrock}}
|{{MC/HistoryLine||1.10.0|dev=beta 1.10.0.3|[[File:Piston BE2.png|32px]] The texture of pistons has been changed.}}
|{{HistoryLine||1.10.0|dev=beta 1.10.0.3|[[File:Piston BE2.png|32px]] The texture of pistons has been changed.}}
|{{MC/HistoryLine||1.20.30|dev=Preview 1.20.20.21|Increased the hardness and blast resistance of pistons from 0.5 to 1.5.}}
|{{HistoryLine||1.20.30|dev=Preview 1.20.20.21|Increased the hardness and blast resistance of pistons from 0.5 to 1.5.}}
}}
}}


=== Legacy Console Edition ===
=== Legacy Console Edition ===
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|console}}
|{{HistoryLine|console}}
|{{MC/HistoryLine||xbox=TU3|xbone=CU1|ps3=1.00|psvita=1.00|ps4=1.00|wiiu=Patch 1|switch=1.0.1|[[File:Piston (U) JE1.png|32px]] Added pistons.}}
|{{HistoryLine||xbox=TU3|xbone=CU1|ps3=1.00|psvita=1.00|ps4=1.00|wiiu=Patch 1|switch=1.0.1|[[File:Piston (U) JE1.png|32px]] Added pistons.}}
|{{MC/HistoryLine||xbox=TU14|ps3=1.04|psvita=1.00|ps4=1.00|Pistons have been changed to make them less error-prone, thus they also appear to update slower. This also alters the way pistons work, so the player might have to adapt their repeater delays and similar.}}
|{{HistoryLine||xbox=TU14|ps3=1.04|psvita=1.00|ps4=1.00|Pistons have been changed to make them less error-prone, thus they also appear to update slower. This also alters the way pistons work, so the [[Minecraft:player]] might have to adapt their [[Minecraft:repeater]] delays and similar.}}
|{{MC/HistoryLine||xbox=TU46|xbone=CU36|ps3=1.38|psvita=1.38|ps4=1.38|wiiu=Patch 15|switch=1.0.1|Retracting pistons can now pull entities through them. This was known as "piston translocation" by the community.}}
|{{HistoryLine||xbox=TU46|xbone=CU36|ps3=1.38|psvita=1.38|ps4=1.38|wiiu=Patch 15|switch=1.0.1|Retracting pistons can now pull [[Minecraft:entities]] through them. This was known as "piston translocation" by the community.}}
|{{MC/HistoryLine||xbox=TU54|xbone=CU44|ps3=1.52|psvita=1.52|ps4=1.52|wiiu=Patch 24|switch=1.0.4|Retracting pistons can no longer pull entities through them. "Piston translocation" has been removed.}}
|{{HistoryLine||xbox=TU54|xbone=CU44|ps3=1.52|psvita=1.52|ps4=1.52|wiiu=Patch 24|switch=1.0.4|Retracting pistons can no longer pull [[Minecraft:entities]] through them. "Piston translocation" has been removed.}}
|{{MC/HistoryLine||xbox=TU57|xbone=CU49|ps3=1.57|psvita=1.56|ps4=1.56|wiiu=Patch 27|switch=1.0.7|Pistons can now move daylight detectors.}}
|{{HistoryLine||xbox=TU57|xbone=CU49|ps3=1.57|psvita=1.56|ps4=1.56|wiiu=Patch 27|switch=1.0.7|Pistons can now move [[Minecraft:daylight detector]]s.}}
|{{MC/HistoryLine||xbox=TU60|xbone=CU51|ps3=1.64|psvita=1.64|ps4=1.64|wiiu=Patch 30|switch=1.0.11|Pistons can no longer move cauldrons.}}
|{{HistoryLine||xbox=TU60|xbone=CU51|ps3=1.64|psvita=1.64|ps4=1.64|wiiu=Patch 30|switch=1.0.11|Pistons can no longer move cauldrons.}}
|{{MC/HistoryLine||xbox=TU62|xbone=CU52|ps3=1.66|psvita=1.66|ps4=1.66|wiiu=Patch 31|switch=1.0.12|Pistons can now move small chests but only if the new position would have been valid for players to place a new chest. This limitation can however be bypassed by moving the chests simultaniously.|Pistons can move cauldrons again.}}
|{{HistoryLine||xbox=TU62|xbone=CU52|ps3=1.66|psvita=1.66|ps4=1.66|wiiu=Patch 31|switch=1.0.12|Pistons can now move small chests but only if the new position would have been valid for players to place a new chest. This limitation can however be bypassed by moving the chests simultaniously.|Pistons can move cauldrons again.}}
|{{MC/HistoryLine||xbox=none|xbone=none|ps3=none|psvita=none|ps4=1.90|wiiu=none|switch=none|[[File:Piston (U) BE2.png|32px]] The texture of pistons has been changed.}}
|{{HistoryLine||xbox=none|xbone=none|ps3=none|psvita=none|ps4=1.90|wiiu=none|switch=none|[[File:Piston (U) BE2.png|32px]] The texture of pistons has been changed.}}
}}
}}


=== ''New Nintendo 3DS Edition'' ===
=== ''New Nintendo 3DS Edition'' ===
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|3ds}}
|{{HistoryLine|3ds}}
|{{MC/HistoryLine||0.1.0|[[File:Piston (U) JE2 BE1.png|32px]] Added pistons.}}
|{{HistoryLine||0.1.0|[[File:Piston (U) JE2 BE1.png|32px]] Added pistons.}}
}}
}}


Line 267: Line 269:
==== ''Java Edition'' ====
==== ''Java Edition'' ====
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|java beta}}
|{{HistoryLine|java beta}}
|{{MC/HistoryLine||1.7|Six-sided pistons exist as extreme metadata variants of pistons.}}
|{{HistoryLine||1.7|[[Minecraft:Six-sided piston]]s exist as extreme metadata variants of pistons.}}
|{{MC/HistoryLine|java}}
|{{HistoryLine|java}}
|{{MC/HistoryLine||1.8|dev=14w26a|Pistons now use block states instead of metadata. As such, weird pistons have been removed.}}
|{{HistoryLine||1.8|dev=14w26a|Pistons now use block states instead of metadata. As such, weird pistons have been removed.}}
|{{MC/HistoryLine||1.13|dev=17w47a|Prior to ''The Flattening'', this block's numeral ID was 33.}}
|{{HistoryLine||1.13|dev=17w47a|Prior to ''[[Minecraft:The Flattening]]'', this block's numeral ID was 33.}}
}}
}}


==== ''Bedrock Edition'' ====
==== ''Bedrock Edition'' ====
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|pocket alpha}}
|{{HistoryLine|pocket alpha}}
|{{MC/HistoryLine||v0.15.0|dev=build 1|Weird pistons also existed, but they didn't look six-sided.}}
|{{HistoryLine||v0.15.0|dev=build 1|Weird pistons also existed, but they didn't look six-sided.}}
|{{MC/HistoryLine|bedrock}}
|{{HistoryLine|bedrock}}
|{{MC/HistoryLine||1.13.0|dev=beta 1.13.0.1|Weird pistons have been removed.}}
|{{HistoryLine||1.13.0|dev=beta 1.13.0.1|Weird pistons have been removed.}}
}}
}}


==== Legacy Console Edition ====
==== Legacy Console Edition ====
{{HistoryTable
{{HistoryTable
|{{MC/HistoryLine|console}}
|{{HistoryLine|console}}
|{{MC/HistoryLine||?|Weird pistons definitely existed at one point.}}
|{{HistoryLine||?|Weird pistons definitely existed at one point.}}
}}
}}


== Issues ==
== Issues ==
{{MC/Issue list}}
{{Issue list}}


== Trivia ==
== Trivia ==
Line 300: Line 302:
</ref>
</ref>
* 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.
* 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.
* Carpet can be placed on the piston extension block, and remains even if it is replaced with a solid block using {{MC/Cmd|setblock}}.
* Carpet can be placed on the piston extension block, and remains even if it is replaced with a solid block using {{cmd|setblock}}.


== Gallery ==
== Gallery ==
=== Screenshots===
=== Screenshots===
<gallery>
<gallery>
Pistongates.png|Fundamental logic gates, implemented purely with pistons and redstone repeaters, clockwise from upper left: AND, OR, XOR, and NOT
Pistongates.png|Fundamental logic gates, implemented purely with pistons and [[Minecraft:redstone repeater]]s, clockwise from upper left: AND, OR, XOR, and NOT
Pistonslowclockgenerator.png|Slow clock generator with pistons and redstone
Pistonslowclockgenerator.png|Slow clock generator with pistons and redstone
Piston Waterflow control.png|An example of a piston-controlled waterflow
Piston Waterflow control.png|An example of a piston-controlled waterflow
Line 316: Line 318:
Pocket Edition Pistons.jpg|Redstone connecting to pistons in ''Bedrock Edition''
Pocket Edition Pistons.jpg|Redstone connecting to pistons in ''Bedrock Edition''
Fish Piston.jpg|A piston being crafted with a fish. This is a joke about the piston sounds heard in Java Edition 24w20a, which have been said to sound wet.
Fish Piston.jpg|A piston being crafted with a fish. This is a joke about the piston sounds heard in Java Edition 24w20a, which have been said to sound wet.
Makena's pistons.jpg|"Makena tinkering with a Redstone contraption made up of Pistons pushing a Lime Wool block"<ref>{{mcnet|minecraft-java-edition-1-20-3|Minecraft Java Edition 1.20.3|December 5, 2023|Java Team}}</ref>
Makena's pistons.jpg|"[[Minecraft:Makena]] tinkering with a Redstone contraption made up of Pistons pushing a Lime Wool block"<ref>{{mcnet|minecraft-java-edition-1-20-3|Minecraft Java Edition 1.20.3|December 5, 2023|Java Team}}</ref>
</gallery>
</gallery>


Line 326: Line 328:
=== In other media ===
=== In other media ===
<gallery>
<gallery>
Piston Artwork.png|Artwork of an incorrectly-rotated piston connected to a [[Minecraft:lever]] via redstone dust
Piston Artwork.png|Artwork of an incorrectly-rotated piston connected to a [[Minecraft:lever]] via [[Minecraft:redstone dust]]
Minecraft - Shape Your World (13).png|Pistons as they appear in '' Shape Your World''
Minecraft - Shape Your World (13).png|Pistons as they appear in ''[[Minecraft: Shape Your World]]''
AMCM Two pistons.png|Pistons as they appear in {{MC/Amcm}}.
AMCM Two pistons.png|Pistons as they appear in {{AMCM}}.
Crystal bomb duo costume.jpg|A duo dressed as a piston and End crystal
Crystal bomb duo costume.jpg|A duo dressed as a piston and [[Minecraft:End crystal]]
</gallery>
</gallery>


== See also ==
== See also ==
*Slime block
*[[Minecraft:Slime block]]
*[[Minecraft:Redstone]]
*[[Minecraft:Redstone]]
*Tutorial:Piston uses
*[[Minecraft:Tutorial:Piston uses]]
*Tutorial:Headless pistons
*[[Minecraft:Tutorial:Headless pistons]]
*Mechanics/Redstone/Piston circuits
*[[Minecraft:Mechanics/Redstone/Piston circuits]]


== Notes ==
== Notes ==
Line 343: Line 345:


== References ==
== References ==
{{MC/Reflist}}
{{Reflist}}


== External links ==
== External links ==
*{{Mcnet|block-week-piston|Block of the Week: Piston|October 13, 2017|Duncan Geere}}
*{{Mcnet|block-week-piston|Block of the Week: Piston|October 13, 2017|[[Minecraft:Duncan Geere]]}}


== Navigation ==
== Navigation ==
{{MC/Navbox redstone|components}}
{{Navbox redstone|components}}
{{MC/Navbox blocks|utility}}
{{Navbox blocks|utility}}
[[Category:Block entities]]
[[Category:Block entities]]
[[Category:Mechanisms]]
[[Category:Mechanisms]]
[[Category:Manufactured blocks]]
[[Category:Manufactured blocks]]


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

Latest revision as of 11:16, 16 April 2026

Template:For Template:Infobox block A piston is a Minecraft:block capable of pushing most Minecraft:entities and blocks when given a Minecraft:redstone signal.

Some blocks cannot be moved, break when pushed or have other interactions with pistons. A piston can move up to twelve blocks at once.

Obtaining

Breaking

A piston can be broken using any Minecraft:tool with equal efficiency, and always drops itself. It is faster to break them with a Minecraft:pickaxe. The pickaxe is also the preferred tool for breaking the head when extended.<ref>Template:Bug</ref> Template:Breaking row

Crafting

Template:Crafting

Usage

Template:See also

Crafting ingredient

Template:Crafting usage

Redstone component

Pistons are always placed facing toward the player. When powered, the piston's wooden surface (the "head") tries to start extending after a start delay. The extension takes Template:Convert to finish. 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 an extending piston (or any block it might be moving) are pushed along, when possible. If the entities cannot be moved, the block is pushed inside them, suffocating Minecraft:mobs when pushed into their Minecraft:eye height (assuming said block is solid).

When a piston loses power, its head retracts. Like the extension, the retraction starts after a start delay and takes Template:Convert to finish.

A piston that pushes a Minecraft:slime block bounces any entity that it displaces in the direction the piston is facing. Entities on top of a moving Minecraft:honey block, or any other moving block,Template:Only will also move with it. In addition, when a slime block or a honey block is moved by a piston, any movable block adjacent (not diagonally) to it also moves. See the "Slime blocks and honey blocks" section of this page for more details.

Template:IN, blocks that require a support (such as levers) can be placed on the back or sides of a piston without being destroyed when that piston extends. Template:IN, on the other hand, the majority of blocks that require a support are only safe to place on the back of pistons.

Soft inversion

Template:Exclusive When a piston that has a Minecraft:redstone torch attached to it is powered, the redstone torch turns off—and when said piston is depowered, the redstone torch turns back on: this mechanic is known by the community as Minecraft:soft inversion.<ref>Template:Bug</ref><ref>"Explaining soft inversion: the Minecraft Bedrock Redstone bug that won't get fixed" – https://www.youtube.com/watch?v=zUgKXTsLOA0</ref> Since soft inversion works even if the piston is being powered indirectly through a block, it can be used to toggle the state of a redstone torch from farther away compared to other powering methods. It's still possible to take advantage of soft inversion even if the piston cannot extend or retract.

Interaction with comparators

Template:Exclusive Despite not being a conductive block, comparators can read the fullness of containers through pistons.

Start delay

A piston won't extend or retract immediately when it is activated: this phenomenon is known as "start delay".

Template:IN, the start delay is fixed at Template:Convert, meaning that the piston starts to extend or retract 2 game ticks after it is activated. Pistons can only activate on the input/consumer redstone tick (Minecraft:C-tick).

Template:IN, the start delay can be 0 (activation in the same tick) or Template:Convert (activation in the next tick) depending on the game process in which the piston is powered:

  • If the piston is powered and updated in the scheduled tick phase, Minecraft:random tick phase or block event phase, the piston activates in this game tick's block event phase, which means the start delay in this case is 0.
  • If the piston is powered and updated during the Minecraft:entity phase or the Minecraft:block entity phase, or by player actions, the piston activates in the next game tick's block event phase, which means the start delay in this case is 1 tick. Notably, because blocks pushed by pistons arrive during the block entity phase (except when dropped by a sticky piston), in a chain of pistons each pushing a redstone block to activate the next, successive activations will happen 3 ticks apart.

Limitations

Pistons can push most blocks, with the exception of the ones listed in the table below.

Pistons cannot push blocks into the Minecraft:void, above the Minecraft:build limit, or beyond Template:JE's Minecraft:world border. 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.

Piston/Table

Powering pistons

File:Stacked pistons powered by one redstone line.png
Pistons powered by one line of redstone.

Pistons can be activated from any side, excluding from the head. Template:IN, redstone dust gets automatically redirected toward pistons if placed next to them (except for the head's side).

Template:IN, pistons can be powered from one block above compared to most redstone components: this property is called quasi-connectivity and can be used to make a BUD switch, taking advantage of the fact that a piston powered through quasi-connectivity doesn't always get updated. With quasi-connectivity, a piston facing up can also be powered from the head's direction, which is otherwise impossible. Due to quasi-connectivity, a piston facing up that has a Minecraft:block of redstone on top of itself can extend but not retract: this happens because after the piston extends, it keeps receiving power from the redstone block.

Slime blocks and honey blocks

Template:Schematic

When a Minecraft:slime block is pushed or pulled by a piston, adjacent blocks also move with the slime block, due to its stickiness. 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 they were being pushed directly by a piston. The same occurs when a slime block is moved by another adjacent slime block. For example, a 2×2×2 cube of slime blocks may be pushed or pulled as a single unit by a piston acting on any of the blocks in the cube. A slime block adjacent to a block that cannot be moved by pistons or a block that can be broken by piston ignores that block. However, if an adjacent block could be moved, but is prevented to by the presence of an unmovable block, the slime block is prevented from moving as well and the piston does not extend.

Slime blocks' stickiness is unilateral, as such they can't be pulled by a non-Minecraft:sticky piston and they are not 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 structure of slime blocks may be pushed by a piston as long as no other movable block is 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 more informations, see the article Minecraft:Tutorial:Flying machines.

Minecraft:Honey blocks work like slime blocks when it comes to moving other blocks, however honey blocks and slime blocks do not stick to each other. This allows, by alternating slime blocks and honey blocks, to have redstone contraptions which make use of these sticky blocks stay side by side without interfering with one another.

Minecraft:Glazed terracotta and the Minecraft:heavy coreTemplate:Only have an interesting property: they do not stick to adjacent slime blocks or honey blocks, even though they can be pushed by pistons.

Technical components

Template:Main Pistons have 2 technical blocks that cannot be obtained. These include the piston head and moving piston blocks.

Sounds

Generic

Template:Edition: Template:Sound table/Block/Stone/JE Template:Edition (piston): Template:Sound table/Block/Stone/BE Template:Edition (arm): Template:Sound table/Block/Normal/BE

Unique

Piston/Sounds

Data values

ID

Template:Edition: Template:ID table

Template:Edition: Template:ID table Template:ID table

Block states

Template:See also The piston block uses following block states:

<section begin="block states"/>Template:El: Template:Bst Template:Bst

Template:El: Template:Bst<section end="block states"/>

Block data

Template:Exclusive Template:IN, a piston has a Minecraft:block entity associated with it that holds additional data about the block.

See Minecraft:Bedrock Edition level format/Block entity format.

Achievements

Template:Load achievements

Videos

Template:Yt

History

Template:Needs render

Development

Template:HistoryTable

Java Edition

Template:HistoryTable

Bedrock Edition

Template:HistoryTable

Legacy Console Edition

Template:HistoryTable

New Nintendo 3DS Edition

Template:HistoryTable

Data history

Java Edition

Template:HistoryTable

Bedrock Edition

Template:HistoryTable

Legacy Console Edition

Template:HistoryTable

Issues

Template:Issue list

Trivia

  • Mojang stated that the 12-block push limit for pistons would not be changed, because "the current limitations are by design".<ref>

Template:Cite </ref>

  • 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.
  • Carpet can be placed on the piston extension block, and remains even if it is replaced with a solid block using Template:Cmd.

Gallery

Screenshots

Mojang screenshots

Concept artwork

In other media

See also

Notes

Template:Notelist

References

Template:Reflist

External links

Navigation

Template:Navbox redstone Template:Navbox blocks

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