固定活塞

固定活塞

固定活塞是一个服务端Fabric模组,它通过自定义推动强度、更好的活塞数据支持、更清晰的指令,以及可选的操作通常不可移动的方块,来改进原版活塞。

性能

Fixed Pistons

Fixed Pistons 是一个服务端 Fabric 模组,它在保持原版外观的同时改进了 Minecraft 的活塞。

该模组允许普通活塞和粘性活塞在物品形态或已放置方块上直接携带简单的推动数据。这使得可以通过指令、地图、数据包或其他模组创建更强的活塞,而无需替换 Minecraft 的原版活塞方块。

目标是让活塞工作得更符合预期:更干净、更灵活,并便于其他模组在此基础上进行扩展。

功能

Fixed Pistons 为以下内容添加了自定义活塞数据:

  • 普通活塞
  • 粘性活塞
  • 活塞物品
  • 已放置的活塞方块
  • /give
  • /setblock
  • /fill

它还修复了自定义活塞数据的持久性问题,使活塞在伸出和收回后仍能保持其推动强度,而不仅仅是只工作一次。

特性

  • 自定义活塞推动强度
  • 推动数据存储在活塞物品上
  • 推动数据存储在已放置的活塞方块上
  • 破坏和重新放置活塞时数据保留
  • 更干净的 /give、/setblock 和 /fill 支持
  • 显示活塞推动强度的提示框
  • 可选:支持推动原版不可移动的方块
  • 可选:支持推动不可破坏的方块
  • 服务端设计

默认值

原版活塞行为:

strength:12
move_immovable:false
move_indestructible:false

活塞物品

带有 Fixed Pistons 数据的普通活塞:

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

带有 Fixed Pistons 数据的粘性活塞:

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

更强力的活塞:

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

放置后,活塞方块会保留其数据。如果破坏,掉落的物品会保留相同的数据。

Setblock

放置一个带有自定义推动数据的活塞:

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

Fill

放置多个带有自定义推动数据的活塞:

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

特殊方块选项

推动原版活塞无法移动的方块,例如黑曜石:

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

推动不可破坏的方块,例如基岩:

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

同时使用两个选项:

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

新增数据

对于 /give:

  • push:Fixed Pistons 物品数据容器。
  • strength:活塞可推动的最大方块数。原版默认值为 12。
  • move_immovable:允许活塞推动原版标记为不可移动的方块,例如黑曜石。
  • move_indestructible:允许活塞推动不可破坏的方块,例如基岩。

对于 /setblock 和 /fill:

  • strength
  • move_immovable
  • move_indestructible

兼容性

Fixed Pistons 适用于:

  • 生存服务器
  • 技术服务器
  • 地图制作者
  • 数据包创作者
  • 模组开发者
  • 希望拥有更强活塞但不想替换原版活塞的模组

其他模组可以通过创建带有 Fixed Pistons 推动数据的原版活塞物品或方块,将 Fixed Pistons 用作一个轻量级的活塞行为层。