本教程将会教你如何在生存模式中利用游戏漏洞来复制点燃的TNT实体(下文简称为复制TNT)。
此漏洞未必对所有版本有效。该漏洞被修复后,下文所述的信息将不再适用。
请慎重对待。
为什么这么做?
复制TNT看似毫无意义,但实际上相当有用。通过将复制TNT与史莱姆飞行器所结合,你可以快速的清理大片的地形来建造空置域,以提高一些机器的效率或是减少卡顿。还可以方便的去清除大片的山脉或是丘陵。
原理
TNT复制的原理与活塞机制有关。在活塞被激活时,活塞会用深度优先搜索的方法检测其前方需要被推动的所有方块(活塞仅具有将面前方块向前推的能力,只有粘液块和蜂蜜块拥有将侧面方块粘动的能力,而一个被移动的方块到活塞本身至少经历了几次粘动,就被定义为该方块的最小粘动次数。即有:最小粘动次数大者先更新,在最小粘动次数相等的情况下考虑东南法则,东南上者先更新,最后,在移动一列方块时,先移动趋势位的方块。)[1],将其坐标按上述顺序加入到一个列表中。之后,活塞会触发推动方块,这些方块将均变为36号方块,并产生一个Block Event事件。此时,若你在活塞推出的2游戏刻过程中给被BUD态激活的TNT方块一个NeighborChanged更新(一般使用失活的珊瑚扇来达成这一效果,因为它会在推出事件开始后被破坏产生更新,推出事件结束后会再次生成),那么就会使TNT触发,生成一个点燃的TNT实体。2游戏刻后,活塞的推出方块时间结束,活塞会检测原来位置上的方块,在活塞前方一格处生成新的结构,而TNT就重新作为方块被推出,以达成复制。
方法
以下的所有建造方法理论上在Java版1.13及其后所有版本均可行。