这是中篇,上篇在这里:
这炸空置域,真是一件美事。
写到这里的时候,想了想,最后完成的时候,果然还是把和TNT复制原理的内容丢到活塞和粘液块那一章,然后把粘液块飞行器单拆出来一章。最后是三向世吞一类的东西,也拆出来丢到生存红石那里好了。
这么一说,这三章岂不是都要重新整理...?
三向轰炸机的“三向”指的是前后往返的两向和一个侧向,如果第三个方向是向下的话,就可以让TNT的落点不断下降。如果总让TNT在空中爆炸,就可以使墙面变得平整。这样的机器叫做炸沟机,是专门用于爆破直达基岩的深沟的。如果用普通的三向轰炸机替代炸沟机来炸沟,不仅墙面不平整,爆炸高度也可能达不到要求,不过,可以下弹TNT,让它有更高的初始速度,来提高爆炸高度。
下弹TNT的三向轰炸机可以用在轰炸末地上。末地主岛的末地石硬度更高,需要更大的火力;黑曜石柱最高可达y103,如果不清理的话,还会阻碍三向轰炸机飞行。下弹TNT设计的三向轰炸机则可以无视黑曜石柱,直接对末地进行轰炸。
1.13发布后,ilmango将他的世界吞噬者升级到了1.13。
和三向轰炸机不同,世界吞噬者包含一整排的TNT复制机,每次都会拉网式地炸掉一层方块,随后整个机器下降一格。世界吞噬者体量庞大,结构精细,耗材更大,带来的卡顿也更多。为了安全,在开启世界吞噬者前,请务必备份存档。
世界吞噬者最大的优点是它可以处理流体,下方的排水机将逐个扫过每个方块,清除所有流体。是玩家清理海洋、地狱等地形的不二之选。此外,由于有着更多的TNT复制机,世界吞噬者的工作速度也更快。
世界吞噬者的轰炸机只在固定的几条线上往返运动,并不会对所有方块进行覆盖式的轰炸,而排水机也无法清理基岩缝隙中的岩浆。因此最底层的岩浆仍然需要人工清理,基岩缝隙中的方块则可以使用三向轰炸机清理一遍。
最早的世界吞噬者是单倍速的,但后来玩家更倾向于选择双倍速世界吞噬者以节省运行时间:TNT轰炸机在去程和返程都会复制TNT,每轰炸一个往返,整个世界吞噬者下降两格。事实上,两边的结构是基本对称的,上部的电路是轰炸机的返回站,下部的电路是排水机的返回站,上下用粘液块信号线相连。信号线由若干拉拓展结构组成,当最下端的粘液块下移一格时,整个信号线下移一格。现在轰炸机和排水机现在停靠于左侧。不过两侧的高度并非相同,目前左侧高一格,机器开机后,左侧整体结构下移一格,此时两侧同高。轰炸机从左向右移动,到达右侧后,下降一格返回左侧,为使两侧高度相同,左侧也必须在轰炸机和排水机离开后,再下移一格。
此外,为了防止排水机被炸坏,轰炸机和排水机的相对位置也值得注意。停机时,轰炸机位于排水机的内侧,开机时,排水机暂时按兵不动,轰炸机先行移动,待TNT自由落体并爆炸后,确保不会炸到排水机时,排水机再移动。到达时也是同理。轰炸机先行抵达,并在返回站等待,排水机到达后,给出信号,轰炸机返回,排水机却进入返回站,等待一段时间后再返回。
那么,信号线应该和轰炸机返回站为同一个整体,排水机返回站并不直接与它们相连。具体而言,世界吞噬者的启动时序是:
抵达右侧时的顺序是:
所以,只要停机信号的位置合适,轰炸机和排水机可以停在任何一侧。由于世界吞噬者每次下移两格,停机信号也必须放在两格偶数个之下的位置,不然无法使轰炸机和返回站正常停下。
那么,“一段时间”具体是多久呢?很明显,大约在TNT开始爆炸时,排水机开始运行,是一个比较合适的时间。
那么,如何实现“一段时间后”的功能呢?这需要一个延迟装置,在这里,我们用一个小的飞行器来实现这一点。
左侧是信号线,最下的红石块是停机信号,最右侧是排水机返回站。中间有一个上下飞行的小飞行器,它的上面有一个半自动机,是它的返回站。每当信号线下降一格,小飞行器向上飞去;当小飞行器回到下端时,粘液块返回站下降一格。
小飞行器是一个自返回的飞行器,当最下端的红石块下移一格时,飞行器启动,飞到最上端后自返回,到最下端时接触到红石块,停止。右侧的观察者可以给出信号。
我们先从排水机入手。
排水机是中心对称的,引擎在最中心,每个模块附带了三个侧向的普通活塞,移动一格便会激活而推出一次,清除该层的流体。
这里我们巧妙地利用了推动上限来停下排水机,上一张图片中每个模块恰好有11个方块,现在我们增加一格“凸起”,并用带釉陶瓦来阻挡其中一个凸起,该模块达到了推动上限,排水机就会停下。离开时,陶瓦不会被粘液块粘走,因而排水机可以沿反方向离开返回站。当然,停下另一个模块的陶瓦在另一侧的返回站中。返回站也要下降一格,而陶瓦是可以被向下推动的。
为了让所有排水机一起运动,我们来看排水机的返回站。
返回站的信号是通过一排拉拓展模块传递的。当最左侧的红石块下降一格时,所有拉拓展模块构成的“主信号线”同时工作,整体下降一格。
把排水机返回站和排水机结合在一起,补充两个用于下推排水机的普通活塞A和B,这两个活塞下推的正好是排水机的两个凸起。这里,下推拉拓展模块的普通活塞A在待机状态是保持伸出的。红石块的下方正好是陶瓦,便也顺势将陶瓦下移。
排水机的两部分并不是同时下移的,外侧推模块先下移,观察者激活后不能运动;拉模块再下移,观察者激活后排水机发车。
具体来说,排水机发车的时序是这样的:
这就是发车时的时序,两个模块的下移有先后顺序,这一先后顺序由上方活塞的结构决定,上方活塞的结构又是在各推拉拓展模块的运行中被安排好的。最后,这样的返回站就可以完成排水机的收纳、待机、发车等功能。
另外需要注意的是,两台排水机之间只间隔了一格,排水机的周期是11格方块。如果间隔两格,则有形成无限水的可能。
接下来我们将视线放在轰炸机上。
TNT复制机并没有什么特殊之处,我们来考虑如何制作返回站。
TNT复制的部分恰好有12个方块,因此我们可以用陶瓦的技巧。
但阻拦另一个模块就有些困难了,这里使用的是伸出的活塞臂。撤销激活后,也可以像普通活塞一样被下移。
返回站同样是一系列拉模块负责下移自身,两个普通活塞负责下移轰炸机,和排水机返回站并没有本质上的区别。这里要注意的是下推TNT复制机的活塞的位置。可以看到这里直接下推了动力铁轨和矿车,以免不当的更新和激活使TNT爆炸。
这是另一侧的返回站,依旧是两个活塞,分别下推两个模块。带有TNT的模块先下推,但不能运动;另一个模块后下推,激活后,轰炸机向右发车。
沙子的作用是遮挡下方的观察者,以阻止下雪时产生的更新。
这样,ilmango的经典的世界吞噬者中值得注意的点就介绍完毕了。
// 这里估算一下世吞的运行速度
世界吞噬者可以清理地狱空置域吗?可以,但ilmango的世界吞噬者的高度为89格,要知道地狱的高度只有128格,上下还各有五层的基岩层,世界吞噬者收效甚微。玩家也可以选择破除地狱上层基岩,不过我们这里以压低世界吞噬者的高度为主。
这是Fallen_Breath的地狱吞噬者,高度为24格,结构与ilmango的世界吞噬者类似,排水机、信号线和小自返回飞行器原理相同,这里就不再介绍了。
为了在地狱中使用世界吞噬者,我们必须压缩世界吞噬者的高度。世界吞噬者的绝大部分高度都是供TNT自由落体所用,于是我们压缩这一高度,缓存TNT。这是一个自然但非常绝妙的思路。
这就是TNT的缓存方法,TNT落下后会被缓存机接住,待TNT淌过缓存机后,再从缓存机的后方落下。为了更好地控制TNT缓存的位置,我们需要落点更为精准的TNT复制机。
这是Harvey_CN(哈尔威)设计的TNT复制机,TNT被限制在一圈粘液块中,当TNT激活时,其会向上微微跃起,然后被卡在一圈粘液块中,受到粘液块的弹力,待活塞到位后,紧贴着粘液块的边缘而落下。
这样的TNT复制机包含的方块恰好有12个,不能再加方块了。于是需要额外的地方来接一个通用引擎。
这就是星空花夜丶的22格高地狱吞噬者中所使用的轰炸机。
比起ilmango精细地将轰炸机的两个模块分别下推,这里的思路更简单些:飞行器的方块足够多,直接撞在方块上就可以停下了。上图中,左侧要推动的方块恰好有12个,可以撞上陶瓦停车;右侧方块较少,于是直接撞上后边的粘液块电路,就不能再向前移动了。
这样的结构仍然可以用两个活塞来下推。向右发车,下推后,只有推模块能够推出,于是拉模块被推出一格,稍后,我们让观察者激活一次下方的拉模块的粘性活塞即可。
如果此时要向左发车,下推后,推模块和拉模块都推不动,TNT复制机的粘性活塞推出后收回,TNT复制。待该活塞完全收回后,右侧的观察者需要在更长的一段时间后给出信号,激活推模块的粘性活塞。
这里的沙子和龙蛋,就是为此而生的。沙子不再用于预防雪片产生的更新,因为地狱里根本不会下雪。
我们来比较一下这几个装置的延迟。
按下按钮后1gt,活塞开始伸出,沙子和龙蛋尝试掉落,记现在是第0gt。
粘液块2gt到位,观察者4gt激活,活塞开始推出,6gt开始收回,8gt收回完成。
掉落的方块需要6gt掉落一格高,沙子转变为实体有2gt延迟,龙蛋则是5gt。因而,沙子将在8gt时落下,龙蛋则是11gt。观察者分别在10和13gt激活,活塞推出,12和15gt收回,14和17gt收回完毕。从上一级的粘液块开始运动,到开始推动下一级的粘液块,所需的延迟分别是10gt和13gt。
// 这里沙子掉落还没说过,为什么会高0.01格来着...
右一,活塞就位2gt,观察者延迟2gt,总计延迟4gt,此后正常推出2gt,收回复位2gt。右二,活塞就位2gt,启动延迟1gt,总计延迟4gt,此后正常推出2gt,收回复位2gt。右三,活塞就位2gt,观察者延迟2gt,活塞推出2gt,总计延迟6gt,此后正常收回2gt复位。
// 这里的参照粘液块那一节
因而,龙蛋装置可以用串联的右面三个装置替代。
我们来看龙蛋装置的13gt里,轰炸机返回站做了什么:普通活塞下移2gt,推出2gt,观察者2gt,复制机的粘性活塞伸出2gt,收回3gt,总计11gt,这是沙子观察者的装置所做不到的。
对于沙子观察者装置的一侧,轰炸机返回站的动作有:普通活塞下移2gt,推出2gt,观察者2gt,推模块活塞推出2gt,这时拉模块的活塞就可以推出了。
这是缓存机,结构较为简单。红石块是留给下推活塞用的。
在运行中,复制机和缓存机总是保持同步。在待机时,缓存机总是在复制机外侧,保证同时发车。
返回站的设计就是要做到自身的下移和两台飞行器的同步发车。这就需要在“主信号线”上再扩展出若干拉扩展模块,每个拓展模块适当地下移飞行器的模块,或者给予它们信号。在合适的设计下,就可以控制好飞行器的时序了。
1.16的快照20w06a加入了远古残骸,这立即引出了两个问题:如何获得大量远古残骸、地狱吞噬者如何处理远古残骸。解决第二个问题,就顺带提供了一种解决第一个问题的方法。
远古残骸是一种爆炸抗性极高的方块,但它可以被活塞推动,因此处理它的方案很简单——向下推。远古残骸的生成概率极低,平均每个区块中会生成1.65个远古残骸,一竖列方块中最多有11个远古残骸(出现在区块的角落上,而且这概率超级低!),因而我们并不需要担心下推活塞因为远古残骸过多而无法推出。
这样,我们就得到了一台下推排水机。下推排水机还有一个优点,它可以处理y4的岩浆,减少玩家的工作量。
不过,这种情形则是我们需要担忧的。随着排水机不断降低岩浆湖的深度,外加远古残骸不断下推,就有可能出现这种情况。岩浆保护了下方的方块,远古残骸无法继续下推,在下一层排水时,排水机撞上远古残骸,就会停机了。
在这个问题上,我们退而求其次。如果排水机卡住,我们希望它就此停下,地狱吞噬者也停止工作。玩家移除远古残骸后更新排水机,排水机继续工作,回到返回站后,地狱吞噬者重新开始工作。
排水机卡住后自然会停下,但是这里有一个小问题。原先的排水机有一格间距,周期为11,现在的排水机则是紧密排列的,周期为8。一台排水机卡住后,旁边的排水机如果继续前进,就有可能会与之粘连,移除远古残骸后,排水机也不能正常地发车了。
这个问题的解决方法也很直白,将一侧粘液块换成蜂蜜块即可,蜂蜜块不会和粘液块粘连。
接下来我们要求,地狱吞噬者不能在排水机未全部就位的情况下运行。换句话说,我们需要一个装置,即安全连杆,来检测所有排水机,如果有排水机尚未回到返回站,则一直输出停机信号,阻止地狱吞噬者继续运行。
Xcom6000首先在他的世界吞噬者上使用了这种安全连杆,主要是为了应对主世界中频繁产生的黑曜石。被岩浆埋住的远古残骸其实与黑曜石无疑,在地狱吞噬者上也有必要使用安全连杆。在没有安全连杆时玩家必须时刻警惕,每隔几层就手动让世界吞噬者停机来检查有无黑曜石。使用安全连杆后,玩家只需要注意安全连杆是否使世界吞噬者停机,并在停机后移除使排水机卡住的黑曜石即可。玩家在挂机的时间里瞬间变得安心多了。
这是安全连杆的原理示意图,远处的三个观察者代表排水机,当它们复位时,会激活普通活塞,将用于检测排水机的红石块下推。最近处的横向粘性活塞则是与门,只有所有红石块都被下推时,右侧的停机信号才会撤销。
这是在模拟有排水机未返回的情形。
这是在模拟所有排水机正常返回的情形。
所有排水机都正常返回后,安全连杆的粘性活塞都收回,此时下推也是没有任何问题的。
在安全连杆问世后,世界吞噬者和地狱吞噬者都可以加装安全连杆,以保障运行安全。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/13446.html