promotional bannermobile promotional banner

Fixed Pistons

Fixed Pistons is a server-side Fabric mod that improves vanilla pistons with custom push strength, better piston data support, cleaner commands, and optional movement for normally immovable blocks.

Fixed Pistons

Fixed Pistons is a server-side Fabric mod that improves Minecraft pistons while keeping them vanilla-looking.

The mod lets normal pistons and sticky pistons carry simple push data directly on the item or placed block. This makes it possible to create stronger pistons with commands, maps, datapacks, or other mods without replacing Minecraft’s vanilla piston blocks.

The goal is to make pistons work more like they should: cleaner, more flexible, and easier for other mods to build on.

What It Does

Fixed Pistons adds custom piston data for:

  • Normal pistons
  • Sticky pistons
  • Piston items
  • Placed piston blocks
  • /give
  • /setblock
  • /fill

It also fixes custom piston data so the piston keeps its push strength after extending and retracting, instead of only working once.

Features

  • Custom piston push strength
  • Push data stored on piston items
  • Push data stored on placed piston blocks
  • Data kept when breaking and replacing pistons
  • Cleaner /give, /setblock, and /fill support
  • Tooltip showing piston push strength
  • Optional support for moving normally immovable blocks
  • Optional support for moving indestructible blocks
  • Server-side design

Default Values

Vanilla piston behavior:

strength:12
move_immovable:false
move_indestructible:false

Piston Items

Normal piston with Fixed Pistons data:

/give @p minecraft:piston[push={strength:12,move_immovable:false,move_indestructible:false}]

Sticky piston with Fixed Pistons data:

/give @p minecraft:sticky_piston[push={strength:12,move_immovable:false,move_indestructible:false}]

Stronger piston:

/give @p minecraft:piston[push={strength:24,move_immovable:false,move_indestructible:false}]

When placed, the piston block keeps its data. If broken, the dropped item keeps the same data.

Setblock

Place a piston with custom push data:

/setblock ~ ~ ~ minecraft:piston[facing=north,extended=false,strength:12,move_immovable:false,move_indestructible:false]

Fill

Place multiple pistons with custom push data:

/fill ~ ~ ~ ~4 ~ ~ minecraft:sticky_piston[facing=east,extended=false,strength:12,move_immovable:false,move_indestructible:false]

Special Block Options

Move blocks that vanilla pistons normally cannot move, such as obsidian:

/give @p minecraft:piston[push={strength:12,move_immovable:true,move_indestructible:false}]

Move indestructible blocks, such as bedrock:

/give @p minecraft:piston[push={strength:12,move_immovable:false,move_indestructible:true}]

Use both options:

/give @p minecraft:sticky_piston[push={strength:12,move_immovable:true,move_indestructible:true}]

Added Data

For /give:

  • push: Fixed Pistons item data container.
  • strength: max blocks the piston can push. Vanilla default is 12.
  • move_immovable: lets pistons move blocks that vanilla marks as immovable, such as obsidian.
  • move_indestructible: lets pistons move unbreakable blocks, such as bedrock.

For /setblock and /fill:

  • strength
  • move_immovable
  • move_indestructible

Compatibility

Fixed Pistons is useful for:

  • Survival servers
  • Technical servers
  • Map makers
  • Datapack creators
  • Mod developers
  • Mods that want stronger pistons without replacing vanilla pistons

Other mods can use Fixed Pistons as a small piston behavior layer by creating vanilla piston items or blocks with Fixed Pistons push data attached.

The Fixed Pistons Team

profile avatar
  • 3
    Followers
  • 7
    Projects
  • 25.2K
    Downloads

More from CARLMAN08View all