条目中某些信息已经不符合当前版本情况。
当收到红石信号时,活塞可以推动多至12个方块。信号输入时,活塞会在不到一秒的时间内伸出活塞臂。任何挡道的实体都会被它推动,包括玩家,而且,如果你在活塞前端放一块粘液块,它们就会被弹走。弹弹弹!
活塞(Piston)是一种被红石信号激活时可以推动大多数方块和玩家的方块。
粘性活塞(Sticky Piston)和普通活塞的功能相同,但当红石信号结束时也能拉回被移动的方块,而普通活塞只会将方块留在原处。
自然生成
三个粘性活塞会作为丛林神庙的一部分自然生成。
获取
活塞可以徒手破坏,但在Java版中,用镐破坏它们速度更快。镐也是破坏活塞的合适工具,尽管它几乎完全由木头制成。[2] Template:Breaking row
合成
脚本错误:您必须指定要调用的函数。 脚本错误:您必须指定要调用的函数。
用途
活塞在被放置时永远朝向玩家。当其被激活时,活塞的木质表面(活塞头)会立刻
当活塞撤销激活,它会简单地通过拉回活塞头来缩回,缩回是立刻
粘性活塞只有在缩回时才有粘性,因此静止时粘性活塞头上的方块不会被黏住,可以被另一个活塞推开,粘性活塞也不能粘住可落下方块使其抵抗重力。在Java版中,粘性活塞也无法在推动方块的时候再将其拉回:比如前面有一个方块的活塞收到一个小于或等于2游戏刻的脉冲,活塞只会推出而不会拉回方块。
活塞推动一个粘液块会向活塞朝向方向弹飞它移动中碰到的任何实体。
附着在墙上的方块(比如拉杆)可以放在活塞或粘性活塞上。
在活塞推出方块的2游戏刻内,如果该方块收到爆炸的影响,不管爆炸的强度是否足以破坏方块,都会被破坏成掉落物形式。
限制
活塞可以推动大多数的方块,粘性活塞也可以拉回大多数的方块,除了那些在下表中列出的方块。如果粘性活塞不能够拉回一个方块,它会把那个方块留在原地。
活塞不会把方块推入虚空或者超过地图顶端,活塞也不能推拉超过12个方块。
在基岩版中,活塞在被连接到不正确的红石电路时会随机移动,被称为“活塞短路(Piston Short-Circuiting)”。这可以用来使玩家穿过方块而被“挤”到方块的另一边。
物体 | 效果(Java版) | 效果(基岩版) |
---|---|---|
不能被推动和拉动 | ||
能被推动,但不能被拉动 | ||
不能被推动和拉动 | 可以被推动和拉动 | |
可以推或拉,但分成两个箱子 | ||
推拉时会被破坏,变成掉落物 | ||
推动时会被破坏,当可以掉落为物品时会掉落为物品;不能被拉动 | ||
推拉时会被破坏,变成掉落物 | ||
不能被推动或拉动 | 可以正常推动或拉动,但在下方没有方块支撑时会掉下去而不是黏在粘性活塞上。 | |
可以正常推动或拉动,但在下方没有方块支撑时会掉下去而不是黏在粘性活塞上。 |
活塞也不会移动“附着在其他方块”的方块,因为它们将以物品形式掉落。
例外
激活
活塞可以使用多种方法激活:
- 激活的红石线指向活塞。除非活塞面向红石线。
- 活塞能被毗邻的充能方块激活,无论是强充能还是弱充能。除非活塞面向充能方块。
- 活塞能被毗邻的红石火把激活。除非活塞面向红石火把或红石火把插在活塞上。
- 指向活塞且输出信号的中继器、比较器、侦测器。除非活塞面向此元件。
- 其他毗邻且开启的电源。除非活塞面向此元件。
- 在Java版中,活塞能够被任何可以激活其上方一格空间的东西激活,无论那一格是什么方块。这个属性被称作半连接性,可以用来制作BUD。
因为活塞是非实体方块,不能将其充能。
粘液块
A
|
B
|
|||||
当活塞推拉一个方块时,方块移动的方向有其他可移动的方块阻挡,则阻挡方块移动的方块也会被推拉。
活塞推或拉一个粘液块的时候,与粘液块毗邻方块也会和粘液块一起移动。
带釉陶瓦是一个例外,在毗邻的粘液块被移动时,带釉陶瓦不会移动。
当粘液块和无法移动的方块相邻时,它会忽略不能动的方块。但是将要被推拉的方块中只要有一个被无法移动的方块阻挡,活塞就不会进行推拉。
活塞不能通过推拉粘液块来移动自身,如果将要推拉的粘液块与活塞自身毗邻,则活塞无法推拉。
粘液块不能被非粘性活塞拉动。当旁边的其他方块移动时,粘液块不会被方块黏住一起移动。
活塞可移动的最大12个方块依然适用。举例来说,一个2×2×3的粘液块可以被一个粘性活塞推动或拉动,而再有其他可移动方块相邻就不行了。
技术性组件
活塞头
Template:Technical Block
活塞头(Piston Head)(又称活塞臂)是一个技术方块,用于已经伸出的活塞。若想单独放置,只能使用/setblock
命令或调试棒。虽然它会在背面的方块给它一个更新的情况下消失。
在Java版中,它有一个方块状态来定义它是一个普通活塞头或者粘性活塞头。在基岩版中,它们以不同的方块ID定义。
方块状态
minecraft:piston_head
方块有下面的方块状态值:
名称 | 默认值 | 接受值 | 描述 |
---|---|---|---|
facing | north | north south east west up down | 活塞指向的方向 |
short | false | true false | 如果为true,活塞臂会比平常短一些,为4像素。 |
type | normal | normal sticky | 活塞头的种类。 |
移动的活塞
Template:Technical Block
移动的活塞(Moving Piston)
它本身是不可见的,但其方块实体可见且渲染为储存的方块的移动动画。它本身没有碰撞箱,但它会使用其方块实体的碰撞箱,随方块的移动而改变。在不使用命令的情况下只能被TNT破坏。它不可替代,因此玩家不能在它所在的位置放置方块。它没有选择框,玩家无法选中它。在玩家的脚步声音方面,游戏对它采用了和石头相同的方式。
方块状态
该技术性方块使用下面的方块状态:
名称 | 对应的附加值位 | 默认值 | 接受值 | 附加值位的值 | 描述 |
---|---|---|---|---|---|
facing_direction | 0x1 0x2 0x4 | 0 | 0 1 2 3 4 5 | 0 1 2 3 4 5 | 活塞头面朝的方向。
|
方块实体
该技术性方块具有与其相关联的保存了其附加数据的方块实体。
- 方块实体数据
- 方块实体共通标签
- 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
名称 | 命名空间ID | 本地化键名 |
---|---|---|
活塞 | piston | block.minecraft.piston |
黏性活塞 | sticky_piston | block.minecraft.sticky_piston |
活塞头 | piston_head | block.minecraft.piston_head |
移动的活塞 | moving_piston | block.minecraft.moving_piston |
名称 | 命名空间ID |
---|---|
方块实体 | ? |
基岩版:
名称 | 命名空间ID | 数字ID | 本地化键名 |
---|---|---|---|
活塞 | piston | 33 | tile.piston.name |
黏性活塞 | sticky_piston | 29 | tile.sticky_piston.name |
活塞头 | pistonarmcollision | 34 | tile.pistonarmcollision.name |
粘性活塞头 | stickypistonarmcollision | 472 | tile.stickypistonarmcollision.name |
移动的方块 | movingblock | 250 | ? |
名称 | 命名空间ID |
---|---|
方块实体 | ? |
方块数据
位元 | 值 |
---|---|
0x0 | 面向下方 |
0x1 | 面向上方 |
0x2 | 面向北方 |
0x3 | 面向南方 |
0x4 | 面向西方 |
0x5 | 面向东方 |
方块状态
minecraft:piston
和minecraft:sticky_piston
方块使用下面的方块状态:
名称 | 默认值 | 接受值 | 描述 |
---|---|---|---|
extended | false | true false | 在活塞伸出的情况下为true。 |
facing | north | north south east west up down | 活塞臂指向的方向。 这个方向在玩家放置的时候对着玩家。 |
基岩版:
名称 | 对应的附加值位 | 默认值 | 接受值 | 附加值位的值 | 描述 |
---|---|---|---|---|---|
facing_direction | 0x1 0x2 0x4 | 0 | 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在动态中发布了一个关于活塞的图片。 | ||||
活塞的材质是截屏而来的,而在开发过程中活塞头上面有铁环穿过。铁环在发布版本中被移除,只留下在边角上的铁粒子。 | |||||
1.7 | File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。 | ||||
最早活塞是在Minecraft官方论坛上发布的一个MOD,由Hippoplatimus创作。[3]之后活塞的源代码被作者交到了Jeb手中,Jeb随后将其加入到了原版Minecraft。
| |||||
另一个名为DiEvAl的用户也私下提交了包括推动方块实体的方法的代码。[4]。[5] | |||||
然而,由于Jeb那时忙于携带版的开发,活塞没有在Beta 1.5和Beta 1.6更新中发布。最终,当携带版足够好可以在E3上展示时,Jeb回到Java版的开发,最终在Beta 1.7中添加了活塞和粘性活塞。 | |||||
存在两个有活塞头材质的方块。 | |||||
1.7_01 | 粘性活塞在它们缩回时不会黏住方块。 | ||||
1.7.3 | 现在不可能将南瓜灯放在粘性活塞上。 | ||||
Java版 | |||||
1.3.1 | 12w22a | 活塞与粘性活塞可以在丛林神庙结构中自然生成,用于弓箭陷阱和隐藏宝藏。 | |||
12w27a | 改进了活塞来使它们不那么容易出错,这也代表它们会更新得更慢一些。同时这也更改了活塞的工作原理,所以你可能需要调整你的中继器以及其他类似的红石装置。 | ||||
活塞现在需要2个红石刻(4个游戏刻)来延伸,但它们仍然会瞬间缩回。 | |||||
1.7.2 | 13w37a | 34号方块(活塞臂)和36号方块从/give 命令中移除。 | |||
1.8 | 14w17a | 使用方块状态来隐藏所有方块时,方块/数据值组合的33/6、33/7、29/6和29/7(六面的活塞)会被移除。 | |||
14w18a | 当活塞推动粘液块时,粘液块会带动与其相邻的、可以被推动的方块。 | ||||
14w19a | 附着活塞的粘液块现在可以推动侧面的和下面的方块。 | ||||
14w32a | 移动的活塞臂不再拥有碰撞箱。 | ||||
1.9 | 15w49a | 没有伸长的活塞、面朝下的活塞和面朝上的活塞伸长时被认为拥有一个固体的表面,就像倒置的楼梯和上半顶部的台阶。也存在着这样的一个漏洞:当活塞臂收回时,它会拉动穿过它的实体,称为易位。 | |||
1.11.1 | 16w50a | 为piston_extension 方块实体添加了一个名为source 的字节标签,当方块代表活塞头部时为true,而代表被推动的方块时为false。易位被移除了。 | |||
1.12 | 17w16a | 粘性活塞不再拉动带釉陶瓦。并且当活塞推动粘液块时,它们不会推动附着在粘液块一侧的带釉陶瓦。 | |||
pre3 | 粘液块不再能推动在它任何一侧的带釉陶瓦。 | ||||
1.13 | 17w47a | 移动方块的ID已从piston_extension 改变为moving_piston 。
| |||
在扁平化之前,这些方块的数字ID为29、33、34和36。 | |||||
活塞现在可以推动音符盒。 | |||||
pre6 | 粘性活塞现在再次可以拉动带釉陶瓦。 | ||||
pre8 | 粘性活塞现在不再可以拉动带釉陶瓦。 | ||||
1.14 | 18w43a | File:Piston JE2.pngFile:Sticky Piston JE2.png 更改了活塞的材质。 | |||
1.16 | 20w06a | 活塞的硬度增加到了1.5。 | |||
镐可以更快地破坏活塞。 | |||||
附着在活塞上的方块在活塞移动前的瞬间现在不再掉落。 | |||||
携带版Alpha | |||||
0.15.0 | build 1 | File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞,它们拥有独有的动画和推动方块实体的能力。 | |||
? | 数据值为6或7的活塞或粘性活塞会有一个奇怪的外观,并且在1.10.0后的某个版本被移除。 | ||||
基岩版 | |||||
1.10.0 | beta 1.10.0.3 | 更改了材质。 | |||
1.13.0 | ? | 粘性活塞头现在是独立的方块,分离于普通的活塞头,不再由方块状态决定。命名空间ID现在是stickypistonarmcollision 数字ID为472。 | |||
? | movingblock 方块不再能够使用命令放置。 | ||||
原主机版 | |||||
TU3 | CU1 | 1.0 | Patch 1 | File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。 | |
TU14 | 1.04 | 活塞现在花费双倍的时间(2个红石刻或4个游戏刻)来延长,但它们仍然立即收缩。 | |||
New Nintendo 3DS版 | |||||
0.1.0 | File:Piston JE1 BE1.pngFile:Sticky Piston JE1 BE1.png 加入了活塞和粘性活塞。 |
漏洞
Template:Issue list
你知道吗
- 当活塞托举着一个受重力影响的方块(例如沙子)并不断迅速地伸缩,该方块很有可能最终掉落为物品。因为沙子实体要变回沙子方块时,活塞臂刚好伸出了。不过,沙砾不会掉落为燧石。
- 生物可以在活塞头方块中生成。
- 地毯可以放在活塞臂上,如果用
/setblock
放置的话还能保留。 - 在Java版中,使用命令生成的活塞头是不可见且是没有碰撞箱的。
- 活塞头在基岩版中与Java版形状略有不同。
- 如果一个活塞在世界的顶部,并且面向上,或者在底部且面向下,它就不能伸出。
- 一个活塞不能推动另一个被激活的活塞。
- “移动中的活塞”方块是透明的并且不发光。
- 发光的方块被活塞移动的瞬间会短暂变暗,不透明的方块被移动的瞬间则能够透光。
- 移动中的活塞无法使生物窒息。
画廊
参见
参考
- ↑ “Block of the Week: Piston” – Minecraft.net,2017年10月13日
- ↑ MC-171370以“works as intented”结束。
- ↑ 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/
- ↑ http://imageshack.us/photo/my-images/51/jebf.jpg/
- ↑ https://twitter.com/notch/status/83513677654929408