Create Wiki · Contraptions

Mechanical Piston

The Mechanical Piston is Create's first contraption: it slides blocks forward and back in a straight line, as far as its extension poles allow. The sticky version brings back what it pushed. It is the base of hidden doors, drawbridges and rail-mounted mining rigs such as the Mechanical Drill.

Create 6.0.8 · Minecraft 1.21.1 · updated on

A piston pushes a block of planks and retracts; once sticky it pulls it back; with glue it moves a whole structure.

Quick facts

Category
Contraptions
Stress
4 SU per RPM
Speed
RPM ÷ 512 block per tick: 1.25 blocks/s at 32 RPM, 9.8 at most
Stroke
1 block per extension pole, 64 poles at most
Push
The row of blocks ahead of the head, plus everything glued or fixed to it
Sticky
A slimeball on the piston: it pulls the blocks back when retracting
Limit
2,048 blocks moved per contraption
Version
Create 6.0.8 · Minecraft 1.21.1

Crafting table recipe

Wooden Slab
Andesite Casing
Piston Extension Pole

→ 1 Mechanical Piston

Pushing blocks

A piston pushes a block of planks and retracts; once sticky it pulls it back; with glue it moves a whole structure.

The piston acts on the block standing in front of its head. As soon as it turns, it assembles that block into a contraption and slides it. A row of aligned blocks is pushed in one go, along with everything holding on to it: glue, chassis, torches or levers fixed on it.

Direction comes from rotation

The lever flips the rotation: the piston retracts

The piston takes no orders: it follows its shaft. Rotation one way extends it, the other way retracts it. In the loop a lever on a gearshift is all it takes to flip the direction. The higher the RPM, the faster it goes.

Powering the piston

The shaft goes into one side of the piston, at a right angle to its stroke. A Hand Crank is enough for a small door; a real engine is better for a heavy structure moved often.

The sticky piston

Sticky piston head pulling the block back

A regular piston pulls nothing: when it retracts, the blocks stay where it pushed them. Right-click the piston with a slimeball, or craft the sticky version: the head turns green and drags back whatever it touches.

A whole structure

Structure of glued planks moved by the piston

To move more than a line, add Super Glue or chassis. Here, a shape of planks glued to the pushed block travels as one. Our simulation rebuilt the assembly with Create's rules: the same blocks move as in the scene.

No pole, no movement

With no pole behind it the piston does not move; with two poles it extends by two blocks.

Without an extension pole behind it, the piston is stuck: it has no stroke at all. Poles go at the back, in line, and the head appears on its own at the front when it assembles.

One pole, one block

Two poles behind the piston: two blocks of stroke

Each pole adds one block of stroke. Two poles: two blocks. Create's code accepts 64 at most. One recipe yields eight poles, enough for most doors.

Back to plain blocks when stopped

The piston retracts with glued glass and rose bushes get broken on the way; the value panel changes what happens when it stops.

When the piston stops, the contraption turns back into real blocks at its new place. Plants and blocks without collision in the way get broken, like the rose bushes in the loop. Keep the path clear.

Picking the stop mode

Setting the piston's stop mode

The piston's value panel offers three modes: always place the blocks when stopped, only place them at the starting position, or never place them while the piston exists. The second keeps the structure moving on the way out.

Speed and stress

The piston moves RPM ÷ 512 block per tick: 0.63 blocks/s at 16 RPM, 1.25 at 32, 2.5 at 64, 5 at 128. Above 251 RPM it caps at 9.8 blocks/s. It costs 4 SU per RPM, whatever the size of the structure.

Build ideas

A secret door: two sticky pistons behind a wall, a hidden lever. A drawbridge: a piston lying under the deck. A tunnel bore: drills glued to the head, moving one block forward every cycle.

Common mistakes

Piston won't move? Check the poles behind it, an immovable block in front (obsidian, bedrock) or a structure above 2,048 blocks. If the structure runs into a solid block, the piston stops just short of it and places it. A moving piston cannot be carried by another contraption.

← All Create wiki guides

Sources for the numbers (Create 6.0.8 code)
  • Recipes: crafting/kinetics/mechanical_piston.json, sticky_mechanical_piston.json, piston_extension_pole.json (8 poles)
  • Stress: BuilderTransformers.mechanicalPiston (CStress.setImpact(4.0))
  • Speed: LinearActuatorBlockEntity.getMovementSpeed (clamp(speed / 512, -0.49, 0.49) block per tick)
  • Stroke and push: MechanicalPistonBlockEntity.getExtensionRange, PistonContraption.collectExtensions / addToInitialFrontier, CKinetics.maxPistonPoles (64), maxBlocksMoved (2048)
  • Sticky: MechanicalPistonBlock.useItemOn (slimeball)
  • Modes: LinearActuatorBlockEntity.MovementMode (MOVE_PLACE, MOVE_PLACE_RETURNED, MOVE_NEVER_PLACE)
  • Simulation: WIKI/contraption_sim.py (carried blocks, movement times, ropes and actors recomputed from Create's code)
  • Scenes: PistonScenes.movement, poles, movementModes (parrot not drawn)

Original texts and animations by Create France, rendered from the mod's Ponder scenes. Create is a mod by the Create Team, not affiliated with Create France.