Sticky Piston
Renewable |
Yes |
---|---|
Stackable |
Yes (64) |
Tool | |
Blast resistance |
0.5 |
Hardness |
1.5 |
Luminous |
No |
Transparent | |
Flammable |
No |
Catches fire from lava |
No |
Map color (Java) |
|
{ "title": "Sticky Piston", "rows": [ { "field": "Yes", "label": "(link to Renewable resource article, displayed as Renewable)" }, { "field": "Yes (64)", "label": "Stackable" }, { "field": "<span class=\"sprite-file\" style=\"height:32px;width:32px;--vertical-align:middle\">(link to File:SlotSprite Pickaxe Required.png article, displayed as 32x32px|link=Pickaxe|alt=|class=pixel-image|This block can be broken with any tool, but a pickaxe is the quickest)</span>", "label": "Tool" }, { "field": "0.5", "label": "(link to Explosion#Blast resistance article, displayed as Blast resistance)" }, { "field": "1.5", "label": "(link to Breaking#Blocks by hardness article, displayed as Hardness)" }, { "field": "No", "label": "(link to Light article, displayed as Luminous)" }, { "field": "'''(link to JE article, displayed as JE)''': No<br>'''(link to BE article, displayed as BE)''': Yes", "label": "(link to Opacity article, displayed as Transparent)" }, { "field": "No", "label": "(link to Flammable article, displayed as Flammable)" }, { "field": "No", "label": "Catches fire from (link to lava article, displayed as lava)" }, { "field": "<span style=\"display: inline-block; white-space: nowrap;\"><span style=\"display: inline-block; background-color: rgb(112, 112, 112)\n; border: 1px solid #888; border-radius: 0.3em; width: 1em; height: 1em; vertical-align: -0.36em; margin-right: -0.1em\"><br></span> 11 STONE\n</span>", "label": "(link to Map color article, displayed as Map color) <small>((link to Java Edition article, displayed as Java))</small>" } ], "invimages": [ "Sticky Piston" ], "images": [ "Sticky Piston.gif", "Sticky Piston BE.gif" ] }
A sticky piston is a variant of the piston that can additionally pull most blocks when it retracts.
Obtaining[edit | edit source]
Breaking[edit | edit source]
A sticky piston can be broken using any tool with equal efficiency, and always drops itself. In Java Edition, it is faster to break them with a pickaxe. The pickaxe is also the preferred tool for breaking the head when extended.[1]
Block | ![]() | |
---|---|---|
Hardness | 1.5 | |
Tool | ![]() | |
Breaking time (sec)[A] | ||
Default | 2.25 | |
![]() |
1.15 | |
![]() |
0.6 | |
![]() |
0.4 | |
![]() |
0.3 | |
![]() |
0.25 | |
![]() |
0.2 |
- incorrect tool, drops nothing
- correct tool, drops nothing or something other than the block itself
- correct tool, drops the block itself
- italicized can be instant mined
- ↑ These durations ignore other influential factors (e.g. Mining Fatigue), and are measured in seconds. For more information, see Breaking § Speed.
Natural generation[edit | edit source]
Three sticky pistons generate as part of each jungle pyramid. Five sticky pistons also generate in each ancient city.
Crafting[edit | edit source]
Ingredients | [hide]Crafting recipe |
---|---|
Slimeball + Piston |
Usage[edit | edit source]
A sticky piston behaves the same way as a normal piston, except when pulling. A sticky piston pulls when it is unpowered.
Pulling[edit | edit source]
A sticky piston also pulls the block attached to its head and any blocks attached to the head via slime- or honey blocks, but not any of the other blocks it may have pushed.
A sticky piston cannot pull a falling block.
Spitting[edit | edit source]
In Java Edition, sticky pistons finish extending early and start retracting if they lose power before the extension process is over; most 2 game tick long pulses, some 3 game tick long pulses (when start delay is present) and all pulses equal or shorter than 1 game tick that pistons can react to allow this to happen. This causes a sticky piston to "spit" the blocks it's pushing, leaving them behind when it starts to retract. Also, the first out of the blocks that are being moved ends up in its final position earlier. This behavior is referred to as "block spitting" or sometimes "block dropping".[2]
A sticky piston still pulls a block back if the piston extended through an air gap to contact the block.
Block | Effect (Java Edition) | Effect (Bedrock Edition) |
---|---|---|
|
Cannot be pushed or pulled. | |
N/A | Cannot be pushed or pulled. | |
Can be pushed or pulled. | ||
Breaks when pushed, turning to drops when applicable. Cannot be pulled. | ||
Cannot be pushed or pulled, because these blocks hold block entities. | Can be pushed or pulled. | |
Can be pushed or pulled, but separates into two chests. | ||
Breaks when pushed or unsupported, turning into drops. | ||
Breaks when pushed, turning to drops when applicable. Cannot be pulled. | ||
Can be pushed, but not pulled. | ||
Can be pushed and pulled. | Can be pushed, but not pulled. | |
Can be pushed and pulled, but breaks if unsupported, turning to drops when applicable. | Breaks when pushed or unsupported, turning into drops. | |
|
Can be pushed and pulled, but breaks if unsupported, turning to drops when applicable. | |
Can be pushed and pulled, but breaks if unsupported, turning to drops when applicable. | ||
Breaks when pushed, turning to drops when applicable. Cannot be pulled. | Can be pushed or pulled. | |
|
Breaks when pushed, turning to drops when applicable. Cannot be pulled. | |
Cannot be pulled. Pushable only when in a falling state. | Can be pushed or pulled, but falls if unsupported. Cannot be pulled when in a falling state. | |
Can be pushed or pulled, but falls if unsupported. Cannot be pulled when in a falling state. | ||
Breaks when pushed, unless if in a falling state. Cannot be pulled. |
Pistons do not move blocks that are "attached to a block", as they detach and drop as an item.
Exceptions[edit | edit source]
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.
- An exception is when the rail and block supporting it are on two parallel extended pistons at which the rail remains attached. In Java Edition, the piston moving the block can be powered 1 block event after the piston moving the rail in order for the rail to successfully move without breaking. Trying to move the rail and its support block with perpendicular pistons causes the rail to break (although it visually appears to not break because of the bug MC-75716).
- Rails re-orient themselves after being pushed, similar to when placed manually.
Dead coral and dead coral fans: In Java Edition, they can be pushed and pulled similarly to how rails can; however in some situations the coral will both break and get moved by the piston, emitting block updates at its original position.
- This mechanic is frequently used in tnt dupers.
Technical components[edit | edit source]
Sticky pistons have 2 technical blocks that cannot be obtained. These include the piston head and moving piston blocks.
Sounds[edit | edit source]
Generic[edit | edit source]
[hide]![]() stone sound type | ||||||||
---|---|---|---|---|---|---|---|---|
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
Block broken | Blocks | Once the block has broken | block | subtitles | 1.0 | 0.8 | 16 | |
Block placed | Blocks | When the block is placed | block | subtitles | 1.0 | 0.8 | 16 | |
Block breaking | Blocks | While the block is in the process of being broken | block | subtitles | 0.25 | 0.5 | 16 | |
Something falls on a block | Entity-Dependent | Falling on the block with fall damage | block | subtitles | 0.5 | 0.75 | 16 | |
Footsteps | Entity-Dependent | Walking on the block | block | subtitles | 0.15 | 1.0 | 16 |
Bedrock Edition (piston):
[hide]![]() stone sound type | |||||
---|---|---|---|---|---|
Sound | Source | Description | Resource location | Volume | Pitch |
Blocks | Once the block has broken | dig | 1.0 | 0.8-1.0 | |
Blocks | When the block is placed | dig | 1.0 | 0.8-1.0 | |
Blocks | While the block is in the process of being broken | hit | 0.37 | 0.5 | |
Players | Falling on the block with fall damage | fall | 0.4 | 1.0 | |
Players | Walking on the block | step | 0.3 | 1.0 | |
Blocks | Jumping from the block | jump | 0.12 | 1.0 | |
Blocks | Falling on the block without fall damage | land | 0.22 | 1.0 |
Bedrock Edition (arm):
[hide]![]() normal sound type | |||||
---|---|---|---|---|---|
Sound | Source | Description | Resource location | Volume | Pitch |
Blocks | Once the block has broken | dig | 1.0 | 0.8-1.0 | |
Blocks | When the block is placed | dig | 1.0 | 0.8-1.0 | |
Blocks | While the block is in the process of being broken | hit | 0.27 [sound 1] | 0.5 | |
Players | Falling on the block with fall damage | fall | 0.4 | 1.0 | |
Players | Walking on the block | step | 0.3 | 1.0 | |
Blocks | Jumping from the block | jump | 0.12 | 1.0 | |
Blocks | Falling on the block without fall damage | land | 0.22 | 1.0 |
- ↑ MCPE-169612 — Many blocks make slightly different sounds to stone
Unique[edit | edit source]
[hide] Sounds | ||||||||
---|---|---|---|---|---|---|---|---|
Sound | Subtitles | Source | Description | Resource location | Translation key | Volume | Pitch | Attenuation distance |
Piston moves | Blocks | When a sticky piston extends | block | subtitles | 0.5 | 0.6-0.85 | 8 | |
Piston moves | Blocks | When a sticky piston contracts | block | subtitles | 0.5 | 0.6-0.8 | 8 |
[hide] Sounds | |||||
---|---|---|---|---|---|
Sound | Source | Description | Resource location | Volume | Pitch |
Blocks | When a sticky piston extends | tile | 0.5 | 0.6-0.75 | |
Blocks | When a sticky piston contracts | tile | 0.5 | 0.6-0.75 |
Data values[edit | edit source]
ID[edit | edit source]
Name | Identifier | Form | Block tags | [hide]Translation key |
---|---|---|---|---|
![]() | sticky_piston | Block & Item | None | block |
Name | [hide]Identifier |
---|---|
![]() | piston |
Name | Identifier | Alias ID | Numeric ID | Form | Item ID[i 1] | [hide]Translation key |
---|---|---|---|---|---|---|
![]() | sticky_piston | None | 29 | Block & Giveable Item[i 2] | Identical[i 3] | tile |
Name | [hide]Savegame ID |
---|---|
![]() | PistonArm |
Block states[edit | edit source]
The sticky_piston
block uses following block states:
Name | Default value | Allowed values | [hide]Description |
---|---|---|---|
extended | false | false true | If true, the piston is extended. |
facing | north | down east north south up west | The direction the piston head is pointing. The opposite from the direction the player faces while placing the piston. |
Name | Metadata Bits | Default value | Allowed values | Values for Metadata Bits |
[hide]Description |
---|---|---|---|---|---|
facing_direction | 0x1 0x2 0x4 | 0 | 0 1 2 3 4 5 | 0 1 2 3 4 5 | The direction the piston is pointing.
|
Block data[edit | edit source]
A sticky piston has a block entity associated with it that holds additional data about the block. Java Edition:
- [NBT Compound / JSON Object] Block entity data
- Tags common to all block entities see Template:Nbt inherit/blockentity/template
- [NBT Compound / JSON Object] blockState: The moving block represented by this block entity.
- Block state see Template:Nbt inherit/block state/template
- [Byte] extending: 1 or 0 (true/false) – true if the piston is extending instead of withdrawing.
- [Int] facing: Direction that the piston pushes (0=down, 1=up, 2=north, 3=south, 4=west, 5=east).
- [Float] progress: How far the block has been moved. Starts at 0.0, and increments by 0.5 each tick. If the value is 1.0 or higher at the start of a tick (before incrementing), then the block transforms into the stored blockState. Negative values can be used to increase the time until transformation.
- [Byte] source: 1 or 0 (true/false) – true if the block represents the piston head itself, false if it represents a block being pushed.
Video[edit | edit source]
History[edit | edit source]
The specific instructions are:
- MCPE-38053
- extended sticky piston from the original mod
- extended sticky pistons in Legacy Console Edition
- 1.19 changes
[hide]Java Edition Beta | |||||||
---|---|---|---|---|---|---|---|
? | ![]() | ||||||
Another user, DiEvAl, privately submitted code as well, including the idea of block entities to track moving blocks.[4] | |||||||
1.7 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Added sticky 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 sticky pistons in some scenarios (for example when trying to push a redstone torch). | |||||||
1.7_01 | The aforementioned bug has been fixed and affected worlds now load normally again. | ||||||
Headless sticky pistons won't break upon receiving a block update anymore. | |||||||
[hide]Java Edition | |||||||
1.7.3 | Sticky pistons now spit the blocks they are pushing when powered by a short pulse. | ||||||
[hide]Java Edition | |||||||
1.3.1 | 12w22a | Sticky pistons now generate naturally inside jungle temples. In the temples, the pistons are used to form a puzzle mechanism. | |||||
12w26a | Sticky pistons now schedule extensions and retractions rather than executing them as soon as they are updated. | ||||||
1.5 | 13w06a | Sticky pistons can now pull extended sticky and normal pistons as long as they are both depowered in the same tick, but only if the first one is updated before the other. This behavior is intended.[5] | |||||
1.8 | 14w17a | ![]() ![]() ![]() ![]() | |||||
14w18a | Slime blocks now push and pull blocks adjacent when connected to sticky pistons. | ||||||
Extending a sticky piston with a slime block on top of it launches the entity (mobs, players, items, launched arrows, etc) into the air. | |||||||
1.9 | 15w38b | Retracting sticky pistons can now pull entities through them.[6] This was known as "piston translocation" by the community. | |||||
Sticky pistons can no longer pull extended sticky and normal pistons when depowered in the same tick due to a bug.[7] | |||||||
15w49a | Unextended sticky pistons, downward-facing sticky pistons, and upward-facing sticky piston heads are now considered to have a solid top surface, like upside-down stairs and top slabs. | ||||||
1.11 | 16w40a | Retracting sticky pistons can no longer pull entities through them. "Piston translocation" has been removed. | |||||
1.12 | 17w16a | Sticky pistons do not pull glazed terracotta, and when pistons move slime blocks, they do not move glazed terracotta attached to the side of the slime block. | |||||
17w49a | Sticky pistons' block spitting behavior was accidentally removed while attempting to fix a bug.[8][9] | ||||||
17w49b | Sticky pistons now spit blocks again. | ||||||
pre3 | Slime blocks can no longer pull glazed terracotta attached to any side of a sticky piston, whatsoever. | ||||||
1.13 | 17w47a | Sticky pistons now can push note blocks. | |||||
pre6 | Sticky pistons now pull glazed terracotta again. | ||||||
pre8 | Sticky pistons no longer pull glazed terracotta. | ||||||
1.14 | 18w43a | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() The textures associated with sticky pistons have been changed. | |||||
While the texture for oak planks was later updated in subsequent snapshots, the sticky piston texture is yet to be changed to reflect this.[10] | |||||||
18w44a | Sticky pistons are no longer transparent. | ||||||
18w46a | Extended sticky pistons now allow light to pass through certain faces. | ||||||
1.15 | 19w41a | Added honey blocks, which have multiple different types of interactions with sticky pistons. | |||||
1.16 | 20w06a | The hardness of sticky pistons has been increased from 0.5 to 1.5. | |||||
Pickaxes are now the tool for breaking sticky pistons. | |||||||
Sticky pistons no longer pop off redstone components placed on the back when retracting. | |||||||
1.17 | 20w45a | Particles now appear if a block is broken by a sticky piston. | |||||
1.19 | 22w13a | Sticky pistons and piston heads now generate in ancient cities. | |||||
22w17a | ![]() | ||||||
1.21 | 24w20a | Sticky piston sounds have been updated to be quieter and less harsh. | |||||
24w21a | Sticky piston sounds have been reverted to what they previously were, but the attenuation distance and sound level has been halved. | ||||||
[hide]Pocket Edition Alpha | |||||||
v0.15.0 | build 1 | ![]() | |||||
Sticky pistons have a version exclusive animation and the ability to push block entities. | |||||||
[hide]Bedrock Edition | |||||||
1.10.0 | beta 1.10.0.3 | ![]() | |||||
1.20.30 | Preview 1.20.20.21 | Increased the hardness and blast resistance of sticky pistons from 0.5 to 1.5. | |||||
[hide]Legacy Console Edition | |||||||
Xbox 360 | Xbox One | PS3 | PS4 | PS Vita | Wii U | Switch | |
TU3 | CU1 | 1.00 | 1.00 | 1.00 | Patch 1 | 1.0.1 | ![]() |
TU14 | 1.04 | Sticky pistons have been updated 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. | |||||
TU46 | CU36 | 1.38 | 1.38 | 1.38 | Patch 15 | Retracting sticky pistons can now pull entities through them. This was known as "piston translocation" by the community. | |
TU54 | CU44 | 1.52 | 1.52 | 1.52 | Patch 24 | 1.0.4 | Retracting sticky pistons can no longer pull entities through them. "Piston translocation" has been removed. |
Sticky pistons can no longer pull glazed terracotta. | |||||||
TU57 | CU49 | 1.57 | 1.56 | 1.56 | Patch 27 | 1.0.7 | Sticky pistons can now move daylight detectors. |
TU60 | CU51 | 1.64 | 1.64 | 1.64 | Patch 30 | 1.0.11 | Sticky pistons can no longer move cauldrons. |
TU62 | CU52 | 1.66 | 1.66 | 1.66 | Patch 31 | 1.0.12 | Sticky 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. |
Sticky pistons can move cauldrons again. | |||||||
1.90 | ![]() | ||||||
[hide]New Nintendo 3DS Edition | |||||||
0.1.0 | ![]() |
Data history[edit | edit source]
[hide]Java Edition Beta | |||||||
---|---|---|---|---|---|---|---|
1.7 | Six-sided sticky pistons exist as extreme metadata variants of sticky pistons. | ||||||
[hide]Java Edition | |||||||
1.8 | 14w26a | Pistons now use block states instead of metadata. As such, weird pistons have been removed. | |||||
1.13 | 17w47a | Prior to The Flattening, this block's numeral ID was 33. | |||||
[hide]Pocket Edition Alpha | |||||||
v0.15.0 | build 1 | Weird sticky pistons also existed, but they didn't look six-sided. | |||||
[hide]Bedrock Edition | |||||||
1.13.0 | beta 1.13.0.1 | Weird sticky pistons have been removed. | |||||
[hide]Legacy Console Edition | |||||||
Xbox 360 | Xbox One | PS3 | PS4 | PS Vita | Wii U | Switch | |
? | Weird sticky pistons definitely existed at one point. |
Issues[edit | edit source]
Issues relating to "Sticky Piston" are maintained on the bug tracker. Issues should be reported and viewed there.
Java Edition
- MC-138455 – Sticky pistons failing to pull slime/honey blocks do not update blocks
- MC-271202 – Piston / sticky piston head does not visually appear for a few frames after being powered from the side it is facing
- MC-26727 – Sloped rails can stay raised when adjacent rails are pulled upwards by a sticky piston
- MC-130183 – Waterlogged blocks retain their waterlogged state when moved with sticky pistons with short pulse
- MC-159503 – Entities clip through blocks being spit out by sticky pistons
- MC-215863 – Sticky pistons combined with slime blocks can create ghost blocks
- MC-268607 – Observer on sticky piston is not triggering on retraction with wooden button
- MC-59474 – Sticky Pistons not correctly pulling back slime in a retractable setup
- MC-185572 – Sticky piston heads don't give updates when pulling a block
Bedrock Edition
- MCPE-89921 – Observers dont activate redstone dust and repeaters when it is pushed by a sticky piston and that sticky piston gets powered by another observer
- MCPE-123281 – Sticky Pistons Not Pulling Slime Blocks
- MCPE-134598 – Falling Blocks break when block underneath is pulled horizontally by retracting sticky piston
- MCPE-151535 – Inconsistent hopper collection of items pushed on ice by slime block on sticky piston
- MCPE-165945 – Entities in blocks get pulled through the back of retracting sticky pistons
- MCPE-171802 – Short sneaking doesn't work properly with sticky piston and stairs
- MCPE-171903 – Calibrated sculk sensor and sticky pistons not updating correctly
- MCPE-179911 – Heavy core cannot be pulled by a sticky piston
- MCPE-181221 – Using a sticky piston and a composter, you can go through walls
- MCPE-181290 – Shulkers cannot be pushed by sticky pistons and other blocks
- And 1 other open issues.
Trivia[edit | edit source]
- Mojang stated that the 12-block push limit for sticky pistons would not be changed, because "the current limitations are by design".[11]
- When toggled between on and off rapidly with a gravity affected block (such as sand) above it, a sticky piston can eventually break the block, which can be picked up as a resource. However, gravel broken this way never drops flint.
- If a sticky piston powered by a short pulse directly pushes a waterlogged block, the block remains waterlogged at its new position.
- Carpet can be placed on the sticky piston extension block, and remains even if it is replaced with a solid block using
/setblock
.
Gallery[edit | edit source]
Screenshots[edit | edit source]
-
An example of sticky piston use with glass panes.
-
An example of sticky piston use with rails.
-
An example of sticky piston use with fences.
Mojang screenshots[edit | edit source]
-
First screenshot of pistons.
-
A sticky piston.
-
Two sticky pistons atop a temple.
-
Sticky pistons spelling out the word piston.
See also[edit | edit source]
- Piston
- Slime block
- Redstone
- Tutorials/Piston uses
- Tutorials/Headless pistons
- Mechanics/Redstone/Piston circuits
Notes[edit | edit source]
- ↑ Check the exceptions section
- ↑ Check the exceptions section
- ↑ Dragon eggs can be pushed, when in a falling state.
- ↑ In Java Edition, item frames are entities, not blocks. In Bedrock Edition, they are blocks.
- ↑ In Java Edition, if the "Fixed" NBT tag is set to "1", the item frame does not break when attempting to push it using a piston, but it still does not push. If the "Invulnerable" NBT tag is set to "1", the item frame breaks when pushed.
- ↑ Paintings are technically entities, not blocks.
References[edit | edit source]
- ↑ MC-171370 — resolved as "Works As Intended".
- ↑ This is due to Jeb once saying that the observer block's pulse "Allows tricking sticky pistons into dropping blocks" - https://www.reddit.com/r/Minecraft/comments/5c752g
- ↑ http://www.minecraftforum.net/viewtopic.php?t=247686&f=1032
- ↑ http://www.reddit.com/r/Minecraft/comments/hvkmo/attribution_of_the_piston_mod_in_vanilla_minecraft/
- ↑ MC-9342 — resolved as "Works As Intended".
- ↑ MC-89030
- ↑ MC-88959
- ↑ MC-122911
- ↑ MC-122711
- ↑ MC-248841 — resolved as "Works As Intended".
- ↑ "Piston Push Limits (and increases). The current limitations are by design." – Minecraft Feedback, January 3, 2019.
- ↑ "Trails Tales Update Out Today on Java" – Minecraft.net, June 7, 2023.
External links[edit | edit source]
- "Block of the Month: Sticky Piston" by Duncan Geere – Minecraft.net, January 23, 2025.
[edit | edit source]
[hide] | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||