教程/零刻活塞

来自Minecraft Wiki
跳转至: 导航搜索

本教程旨在教玩家如何生成激活时间小于1游戏刻的红石信号,并介绍如何使用它,特别是它在活塞上的使用。请注意,“零刻活塞”本身并不能催熟作物,想了解使用零刻活塞催熟作物的技术请搜索“强制催熟”。
鉴于较多红石玩家习惯使用“0t活塞”,“0t信号”描述零刻活塞与零刻红石信号,本教程中也将沿用此词。0t信号是指持续时间小于1游戏刻的红石信号,即红石粉在同一游戏刻内先被激活,后停止激活;0t活塞是指由0t信号激活的活塞,这类活塞会表现出与一般情况下活塞不太相同的特性。

介绍[编辑 | 编辑源代码]

当你使用脉冲发生装置生成红石信号时,它会生成短脉冲。而当脉冲过短时,就会出现一些不同于正常情况的有趣现象。如果激活一个黏性活塞的红石信号在同一游戏刻内开始并结束,即被持续时间是“0游戏刻”的短脉冲所驱动,它会在推出后立即回收,让活塞前的第一个方块瞬间推出并到位,而且这个方块不会使实体位置发生移动。奇怪的是,这在普通活塞上不起作用。

如何制作一个零刻活塞[编辑 | 编辑源代码]

本教程将介绍几种不同的常见零刻脉冲发生器,使用这些零刻脉冲激活活塞即可得到零刻活塞。

利用红石元件优先级不同的方法[编辑 | 编辑源代码]

利用中继器优先处理特性的0t信号生成器

虽然中继器和比较器在宏观上具有相同的延迟(1红石刻或者2游戏刻),但在微观的运算顺序中,中继器总是比比较器优先处理,即使它们看起来是“同时”激活的。利用这个特性,你可以制作一个产生持续时间为0刻的脉冲。

使用红石元件的运算顺序差异[编辑 | 编辑源代码]

利用中继器处理顺序不同的0t信号生成器

在宏观上,一个2档中继器和两个1档中继器的延迟是相同的,但在微观运算的顺序中,先添加到处理队列中的元件会被先处理。在图中的0t信号发生器中,激活活塞所使用的一档中继器晚于充能铁块的二档中继器被添加到处理队列,这使铁块在被推动前短暂的充能,由此得到一个0t信号。

使用激活顺序差异[编辑 | 编辑源代码]

利用激活顺序不同的0t信号生成器

这类生成器中,经常同时使用直接充能激活红石粉,同时使用半连接激活移除信号源。由于半连接需要额外方块更新才可以使被激活的元件工作,在微观时序的处理上略慢于直接激活。图中是一个简易的无红石粉0t活塞元件。

使用方块事件延迟制造长度可控的0t信号[编辑 | 编辑源代码]

2方块事件延迟的0t信号生成器

在0t信号的层面上,脉冲的持续时长一般使用“方块事件”作为单位对其进行描述。接下来我们将以右图的0t信号发生器作为例子,分析其微观层面上的激活顺序,以计算生成的0t信号长度。
①当拉杆激活时右侧的第一个红石粉首先运算,使推石英块的粘性活塞首先推出,在活塞推出瞬间,石英块被替换为移动中的方块,此时不再能切断红石线->②第一个红石粉更新完毕后,更新向右侧传递,第二个红石粉被激活并戳能其附着方块,此时红石粉附着的石英块通过半连接激活了推红石块的粘性活塞,但这个粘性活塞这时没有被更新到,会保持静止。->③红石粉更新到最右侧时,红石粉首先充能附着方块,附着方块直接激活上方普通活塞,同时半连接激活下方普通活塞,这时上方活塞伸出->④上方活塞伸出时对周围方块发出了更新,下方活塞受到更新伸出->⑤下方活塞伸出时对周围方块发出了更新,推红石块的粘性活塞受到更新伸出,红石块被替换为移动中的方块->⑥信号中止。
故在这个0t信号发生器中,自0t信号被激活后,经过2个方块事件后被切断(活塞伸出更新活塞->活塞被更新伸出更新粘性活塞),所以由此得出这个0t信号的长度为3方块事件。在游戏中,我们可以使用类似的方式来控制方块事件,可控的生成不同长度的0t信号。

简陋型0t活塞[编辑 | 编辑源代码]

简陋型“穷人”0t活塞

在按钮按下时,活塞被激活->活塞被激活时,底座为不完整方块,按钮掉落

0t信号的使用[编辑 | 编辑源代码]

信号传输[编辑 | 编辑源代码]

0t信号在传输上十分困难,比较器不会响应单次0t信号,而中继器会将0t信号延长至最少2游戏刻。所以对于0t信号的使用推荐“即生成即使用”,如果有特殊情况需要远距离传输0t信号,需要使用特殊的“兼0t信号的中继器”。
这个视频是一款由 TheGunMasterDigital 所设计的无延迟脉冲中继器,而且能够兼容并中继0t信号。


瞬间移动方块[编辑 | 编辑源代码]

假设你需要将方块连续推动2次,正常情况下最快也需要4游戏刻的时间完成。但如果你使用了0t活塞,由于方块是瞬间到位的,你可以在1游戏刻内连续改变多次方块的位置。有趣的是,当这种瞬间到位的方块用于替换信标的彩色玻璃时,不会因为移动方块生成的“移动中的方块”使信标光柱短暂的变白,而是从一种颜色直接变为另一种颜色。

实现作物强制催熟[编辑 | 编辑源代码]

在JAVA版的1.13~1.15.2版本中,使用0t活塞可以方便的对作物进行“强制催熟”。强制催熟是Mojang对于作物生长的一个游戏漏洞,内容为当作物受到破坏事件时,作物的表现与被随机刻选中时相同,即生长一次。使用0t活塞的瞬间移动方块特性可以替换作物附着的方块,从而使作物记录破坏事件而不破坏作物本身,达到强制生长的效果,即“强制催熟”。
在1.13版本中,只有紫颂果与仙人掌能够被强制催熟。
在1.14~1.15版本中,甘蔗、竹子也可以被强制催熟。
在1.16版本中,此游戏漏洞被修复。
在这个视频里,ilmango用这个BUG建造了他的强制催熟紫颂植物农场


移动方块而不移动生物[编辑 | 编辑源代码]

通常情况下,当你用一个粘有方块的黏性活塞推向生物时,生物会被活塞黏着的方块推到一侧,产生1格位移。而如果你使用0t活塞移动方块,生物不会产生由推方块导致的位移。