Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Clock
此条目需要更新。

条目中某些信息已经不符合当前版本情况。

Duncan Geere Mojang avatar

当收到红石信号时,活塞可以推动多至12个方块。信号输入时,活塞会在不到一秒的时间内伸出活塞臂。任何挡道的实体都会被它推动,包括玩家,而且,如果你在活塞前端放一块粘液块,它们就会被弹走。弹弹弹!

——Duncan Geere[1]

活塞(Piston)是一种被红石信号激活时可以推动大多数方块和玩家的方块

粘性活塞(Sticky Piston)和普通活塞的功能相同,但当红石信号结束时也能拉回被移动的方块,而普通活塞只会将方块留在原处。

自然生成

三个粘性活塞会作为丛林神庙的一部分自然生成。

获取

活塞可以徒手破坏,但在Java版中,用镐破坏它们速度更快。镐也是破坏活塞的合适工具,尽管它几乎完全由木头制成。[2] Template:Breaking row

合成

脚本错误:您必须指定要调用的函数。 脚本错误:您必须指定要调用的函数。

用途

活塞在被放置时永远朝向玩家。当其被激活时,活塞的木质表面(活塞头)会立刻[仅Java版]/在2游戏刻后[仅基岩版]开始伸出,且最多推动12个方块,伸出会持续2个游戏。另外,这个过程会发出以活塞为中心31×31×31的区域内都能听到的声音。在伸出的活塞头方向上的任何实体将会随着方块被一起推动,如果实体没有地方可以去,方块会被推进生物里,如果该方块是窒息方块会造成该生物窒息。

当活塞撤销激活,它会简单地通过拉回活塞头来缩回,缩回是立刻[仅Java版]/在2游戏刻后[仅基岩版]发生的,缩回过程持续2个游戏刻。如果是粘性活塞,它同时会拉回活塞头前面的方块。

粘性活塞只有在缩回时才有粘性,因此静止时粘性活塞头上的方块不会被黏住,可以被另一个活塞推开,粘性活塞也不能粘住可落下方块使其抵抗重力。在Java版中,粘性活塞也无法在推动方块的时候再将其拉回:比如前面有一个方块的活塞收到一个小于或等于2游戏刻的脉冲,活塞只会推出而不会拉回方块。

活塞推动一个粘液块会向活塞朝向方向弹飞它移动中碰到的任何实体。

附着在墙上的方块(比如拉杆)可以放在活塞或粘性活塞上。

在活塞推出方块的2游戏刻内,如果该方块收到爆炸的影响,不管爆炸的强度是否足以破坏方块,都会被破坏成掉落物形式。

限制

活塞可以推动大多数的方块,粘性活塞也可以拉回大多数的方块,除了那些在下表中列出的方块。如果粘性活塞不能够拉回一个方块,它会把那个方块留在原地。

活塞不会把方块推入虚空或者超过地图顶端,活塞也不能推拉超过12个方块。

基岩版中,活塞在被连接到不正确的红石电路时会随机移动,被称为“活塞短路(Piston Short-Circuiting)”。这可以用来使玩家穿过方块而被“挤”到方块的另一边。

Minecraft Bedrock Short-Circuiting Redstone
Minecraft Piston Short-Circuiting
不能被推动和拉动的方块
物体 效果(Java版 效果(基岩版
不能被推动和拉动
能被推动,但不能被拉动
不能被推动和拉动 可以被推动和拉动
可以推或拉,但分成两个箱子
推拉时会被破坏,变成掉落物
推动时会被破坏,当可以掉落为物品时会掉落为物品;不能被拉动
推拉时会被破坏,变成掉落物
不能被推动或拉动 可以正常推动或拉动,但在下方没有方块支撑时会掉下去而不是黏在粘性活塞上。
可以正常推动或拉动,但在下方没有方块支撑时会掉下去而不是黏在粘性活塞上。

活塞也不会移动“附着在其他方块”的方块,因为它们将以物品形式掉落。

例外
  • 铁轨地毯容易受活塞移动的微观时序影响。

激活

PistonTrick

用红石线激活活塞。

活塞可以使用多种方法激活:

  • 激活的红石线指向活塞。除非活塞面向红石线。
  • 活塞能被毗邻的充能方块激活,无论是强充能还是弱充能。除非活塞面向充能方块。
  • 活塞能被毗邻的红石火把激活。除非活塞面向红石火把或红石火把插在活塞上。
  • 指向活塞且输出信号的中继器、比较器、侦测器。除非活塞面向此元件。
  • 其他毗邻且开启的电源。除非活塞面向此元件。
  • Java版中,活塞能够被任何可以激活其上方一格空间的东西激活,无论那一格是什么方块。这个属性被称作半连接性,可以用来制作BUD

因为活塞是非实体方块,不能将其充能。

粘液块

A
B
A活塞可以伸出因为粘液块忽略了毗邻的黑曜石。B活塞不能伸出因为钻石块被黑曜石挡住,从而使粘液块也无法移动。

当活塞推拉一个方块时,方块移动的方向有其他可移动的方块阻挡,则阻挡方块移动的方块也会被推拉。

活塞推或拉一个粘液块的时候,与粘液块毗邻方块也会和粘液块一起移动。

带釉陶瓦是一个例外,在毗邻的粘液块被移动时,带釉陶瓦不会移动。

当粘液块和无法移动的方块相邻时,它会忽略不能动的方块。但是将要被推拉的方块中只要有一个被无法移动的方块阻挡,活塞就不会进行推拉。

活塞不能通过推拉粘液块来移动自身,如果将要推拉的粘液块与活塞自身毗邻,则活塞无法推拉。

粘液块不能被非粘性活塞拉动。当旁边的其他方块移动时,粘液块不会被方块黏住一起移动。

活塞可移动的最大12个方块依然适用。举例来说,一个2×2×3的粘液块可以被一个粘性活塞推动或拉动,而再有其他可移动方块相邻就不行了。

技术性组件

活塞头

Template:Technical Block

活塞头(Piston Head)(又称活塞臂)是一个技术方块,用于已经伸出的活塞。若想单独放置,只能使用/setblock命令或调试棒。虽然它会在背面的方块给它一个更新的情况下消失。

Java版中,它有一个方块状态来定义它是一个普通活塞头或者粘性活塞头。在基岩版中,它们以不同的方块ID定义。

方块状态

参见:方块状态

minecraft:piston_head方块有下面的方块状态值:

名称 默认值 接受值 描述
facingnorthnorth
south
east
west
up
down
活塞指向的方向
shortfalsetrue
false
如果为true,活塞臂会比平常短一些,为4像素。
typenormalnormal
sticky
活塞头的种类。

移动的活塞

Template:Technical Block

移动的活塞(Moving Piston)[仅Java版]或称移动的方块(Moving Block)[仅基岩版]是无法获得的技术性方块。活塞推拉方块时,方块需要进入或离开网格单元而占据了每个不同方块网格,因此不能被存储为正常方块。活塞推拉方块的过程中,活塞本身和移动中的所有方块都被替换为“移动的活塞”方块,并被存储在其方块实体中。在活塞推拉到位后,重新恢复为原来的方块。但是,在Java版中,如果它是由一个命令放置并没有活塞与之对应,将永远保持不变。

它本身是不可见的,但其方块实体可见且渲染为储存的方块的移动动画。它本身没有碰撞箱,但它会使用其方块实体的碰撞箱,随方块的移动而改变。在不使用命令的情况下只能被TNT破坏。它不可替代,因此玩家不能在它所在的位置放置方块。它没有选择框,玩家无法选中它。在玩家的脚步声音方面,游戏对它采用了和石头相同的方式。

方块状态

参见:方块状态

该技术性方块使用下面的方块状态:

名称对应的附加值位 默认值 接受值附加值位的值 描述
facing_direction0x1
0x2
0x4
00
1
2
3
4
5
0
1
2
3
4
5
活塞头面朝的方向。
  • 0:朝下
  • 1:朝上
  • 2:朝北
  • 3:朝南
  • 4:朝西
  • 5:朝东

方块实体

该技术性方块具有与其相关联的保存了其附加数据的方块实体。

Java版

  • 方块实体数据
    • 方块实体共通标签
    •  blockState:所代表的被推动的方块。
      • 方块状态
    •  extending:表示方块是否已被推动。
    •  facing:将要推动方块的方向,从0到5分别对应下上北南西东。
    •  progress:方块已经移动的距离。
    •  source:表示方块是否为活塞头本身。

基岩版

  • 方块实体数据
    • 方块实体共通标签
    •  Progress:方块被移动的距离,值为0.0、0.5或1.0。
    •  LastProgress:未知。
    •  State:未知。
    •  NewState:未知。
    •  Sticky:是黏性活塞时为true。
    •  AttachedBlocks:需要移动的方块的坐标。
      • :第一个方块的X轴坐标。
      • :第一个方块的Y轴坐标。
      • :第一个方块的Z轴坐标。
      • :第二个方块的X轴坐标。
      • :第二个方块的Y轴坐标。
      • :第二个方块的Z轴坐标。
      • :以此类推。
    •  BreakBlocks:需要被破坏(而不能被正常移动)的方块的坐标。
      • :第一个方块的X轴坐标。
      • :第一个方块的Y轴坐标。
      • :第一个方块的Z轴坐标。
      • :第二个方块的X轴坐标。
      • :第二个方块的Y轴坐标。
      • :第二个方块的Z轴坐标。
      • :以此类推。
    •  movingBlock:被移动的方块。
      • 方块共通标签
    •  movingBlockExtra:被移动的方块(额外值)。
      • 方块共通标签
    •  pistonPosX:活塞基底的X轴坐标。
    •  pistonPosY:活塞基底的Y轴坐标。
    •  pistonPosZ:活塞基底的Z轴坐标。
    •  movingEntity:该移动的方块储存的方块实体数据。
      • 方块实体共通标签

数据值

ID

Java版

名称命名空间ID本地化键名
活塞pistonblock.minecraft.piston
黏性活塞sticky_pistonblock.minecraft.sticky_piston
活塞头piston_headblock.minecraft.piston_head
移动的活塞moving_pistonblock.minecraft.moving_piston
名称命名空间ID
方块实体?

基岩版

名称命名空间ID数字ID 本地化键名
活塞piston33tile.piston.name
黏性活塞sticky_piston29tile.sticky_piston.name
活塞头pistonarmcollision34tile.pistonarmcollision.name
粘性活塞头stickypistonarmcollision472tile.stickypistonarmcollision.name
移动的方块movingblock250?
名称命名空间ID
方块实体?

方块数据

参见:数据值
位元
0x0 面向下方
0x1 面向上方
0x2 面向北方
0x3 面向南方
0x4 面向西方
0x5 面向东方

方块状态

参见:方块状态

minecraft:pistonminecraft:sticky_piston方块使用下面的方块状态:

Java版

名称 默认值 接受值 描述
extendedfalsetrue
false
在活塞伸出的情况下为true。
facingnorthnorth
south
east
west
up
down
活塞臂指向的方向。
这个方向在玩家放置的时候对着玩家。

基岩版

名称对应的附加值位 默认值 接受值附加值位的值 描述
facing_direction0x1
0x2
0x4
00
1
2
3
4
5
0
1
2
3
4
5
活塞面朝的方向。
这个方向在玩家放置的时候对着玩家。
  • 0:朝下
  • 1:朝上
  • 2:朝北
  • 3:朝南
  • 4:朝西
  • 5:朝东

成就

Template:Load achievements:未知成就。成就名未能在成就页面上找到

视频

历史

Java版Classic
2009年5月21日Notch表示有兴趣添加当接收到来自线路的脉冲时可以拉动和推动其他方块的方块; 他把它们称为“Pulley1”,它会拉动一个方块,而“Pulley2”则会推动一个方块。
Java版Beta
2011年6月7日Jeb在动态中发布了一个关于活塞的图片。
Piston (pre-release) 活塞的材质是截屏而来的,而在开发过程中活塞头上面有铁环穿过。铁环在发布版本中被移除,只留下在边角上的铁粒子。
1.7File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。
最早活塞是在Minecraft官方论坛上发布的一个MOD,由Hippoplatimus创作。[3]之后活塞的源代码被作者交到了Jeb手中,Jeb随后将其加入到了原版Minecraft。
  • Hippoplatimus自己也被列在了游戏开发人员名单的“附加编程”中,与他一同被列入的还有其他对原版Minecraft有贡献的MOD制作者们。
另一个名为DiEvAl的用户也私下提交了包括推动方块实体的方法的代码。[4][5]
然而,由于Jeb那时忙于携带版的开发,活塞没有在Beta 1.5和Beta 1.6更新中发布。最终,当携带版足够好可以在E3上展示时,Jeb回到Java版的开发,最终在Beta 1.7中添加了活塞和粘性活塞。
Hexahedral PistonHexahedral Sticky Piston 存在两个有活塞头材质的方块。
1.7_01粘性活塞在它们缩回时不会黏住方块。
1.7.3现在不可能将南瓜灯放在粘性活塞上。
Java版
1.3.112w22a活塞与粘性活塞可以在丛林神庙结构中自然生成,用于弓箭陷阱隐藏宝藏
12w27a改进了活塞来使它们不那么容易出错,这也代表它们会更新得更慢一些。同时这也更改了活塞的工作原理,所以你可能需要调整你的中继器以及其他类似的红石装置。
活塞现在需要2个红石刻(4个游戏刻)来延伸,但它们仍然会瞬间缩回。
1.7.213w37a34号方块(活塞臂)和36号方块从/give命令中移除。
1.814w17a使用方块状态来隐藏所有方块时,方块/数据值组合的33/6、33/7、29/6和29/7(六面的活塞)会被移除。
14w18a当活塞推动粘液块时,粘液块会带动与其相邻的、可以被推动的方块。
14w19a附着活塞的粘液块现在可以推动侧面的和下面的方块。
14w32a移动的活塞臂不再拥有碰撞箱。
1.915w49a没有伸长的活塞、面朝下的活塞和面朝上的活塞伸长时被认为拥有一个固体的表面,就像倒置的楼梯和上半顶部的台阶。也存在着这样的一个漏洞:当活塞臂收回时,它会拉动穿过它的实体,称为易位。
1.11.116w50apiston_extension方块实体添加了一个名为source的字节标签,当方块代表活塞头部时为true,而代表被推动的方块时为false。易位被移除了。
1.1217w16a粘性活塞不再拉动带釉陶瓦。并且当活塞推动粘液块时,它们不会推动附着在粘液块一侧的带釉陶瓦。
pre3粘液块不再能推动在它任何一侧的带釉陶瓦。
1.1317w47a移动方块的ID已从piston_extension改变为moving_piston
扁平化之前,这些方块的数字ID为29、33、34和36。
活塞现在可以推动音符盒
pre6粘性活塞现在再次可以拉动带釉陶瓦。
pre8粘性活塞现在不再可以拉动带釉陶瓦。
1.1418w43aFile:Piston JE2.pngFile:Sticky Piston JE2.png 更改了活塞的材质。
1.1620w06a活塞的硬度增加到了1.5。
可以更快地破坏活塞。
附着在活塞上的方块在活塞移动前的瞬间现在不再掉落。
携带版Alpha
0.15.0build 1File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞,它们拥有独有的动画和推动方块实体的能力。
?Weird Piston 数据值为6或7的活塞或粘性活塞会有一个奇怪的外观,并且在1.10.0后的某个版本被移除。
基岩版
1.10.0beta 1.10.0.3Piston BE2Sticky Piston BE2 更改了材质。
1.13.0?粘性活塞头现在是独立的方块,分离于普通的活塞头,不再由方块状态决定。命名空间ID现在是stickypistonarmcollision数字ID为472。
?movingblock方块不再能够使用命令放置。
原主机版
TU3CU11.0Patch 1 File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。
TU141.04活塞现在花费双倍的时间(2个红石刻或4个游戏刻)来延长,但它们仍然立即收缩。
New Nintendo 3DS版
0.1.0File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。

漏洞

Template:Issue list

你知道吗

  • 当活塞托举着一个受重力影响的方块(例如沙子)并不断迅速地伸缩,该方块很有可能最终掉落为物品。因为沙子实体要变回沙子方块时,活塞臂刚好伸出了。不过,沙砾不会掉落为燧石
  • 生物可以在活塞头方块中生成。
  • 地毯可以放在活塞臂上,如果用/setblock放置的话还能保留。
  • Java版中,使用命令生成的活塞头是不可见且是没有碰撞箱的。
  • 活塞头在基岩版中与Java版形状略有不同。
  • 如果一个活塞在世界的顶部,并且面向上,或者在底部且面向下,它就不能伸出。
  • 一个活塞不能推动另一个被激活的活塞。
  • “移动中的活塞”方块是透明的并且不发光。
    • 发光的方块被活塞移动的瞬间会短暂变暗,不透明的方块被移动的瞬间则能够透光。
    • 移动中的活塞无法使生物窒息。

画廊

参见

参考

备注

  1. 物品展示框在Java版中是实体而非方块,在基岩版中是方块。
  2. 画是实体而非方块。
Advertisement