Minecraft Wiki

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

了解更多

Minecraft Wiki
注册
Advertisement
Information icon
此特性为Java版独有。

本教程旨在教玩家如何生成激活活塞时间小于1游戏刻的红石信号,并介绍如何使用它,特别是它在活塞上的使用。

鉴于较多红石玩家习惯使用“0t活塞”,“0t信号”描述零刻活塞与零刻红石信号,本教程中也将沿用此词。0t信号是指持续时间小于1游戏刻的红石信号,即红石粉在同一游戏刻内先被激活,后停止激活;0t活塞是指由0t信号激活的活塞,这类活塞会表现出与一般情况下活塞不太相同的特性。

介绍[]

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

如何制作一个零刻活塞[]

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

若0t(及部分1t)信号持续的方块事件较少,0t信号能产生,但由于结束0t信号的活塞可能先激活,接收0t信号的活塞是否伸出可能与方向和坐标有关(包括半连接激活的信号源过快更新活塞),方块事件过少的(包括中继器和比较器、2个1档中继器和1个2档中继器交换)不论方向和坐标一律得不到零刻活塞。下面的发生器都没有上述情况。

利用红石元件优先级不同的方法[]

Tutorial 0TickPiston Tiletick1

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

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

使用红石元件的运算顺序差异[]

Tutorial 0TickPiston Tiletick2

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

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

使用激活顺序差异[]

Tutorial 0TickPiston PistonDelay1

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

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

使用方块事件延迟制造长度可控的0t信号[]

Tutorial 0TickPiston PistonDelay2

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

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

简陋型0t活塞[]

Tutorial 0TickPiston Poolman0Tick

简陋型“穷人”0t活塞

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

0t信号的使用[]

信号传输[]

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

瞬间移动方块[]

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

实现作物强制催熟[]

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

移动方块而不移动生物[]

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

Advertisement