對(duì)于破基巖原理的理解(如有錯(cuò)誤請(qǐng)指正)
注意:本文基于JE1.20.1討論,其他版本機(jī)制或許不一樣
首先是有關(guān)微時(shí)序的一些內(nèi)容。以下按順序列出1gt內(nèi)幾個(gè)主要的事件:NTE——計(jì)劃刻事件,主要處理中繼器、偵測(cè)器等有延時(shí)的元件;BE——方塊事件,活塞開始推出或收回;TE——方塊實(shí)體事件,b36(移動(dòng)的活塞)到位;NU——玩家事件,玩家發(fā)出各種動(dòng)作。
為什么各種破基巖都離不開活塞?我的理解是:歸根結(jié)底都依靠無頭活塞收回時(shí)將前面的方塊替換為空氣的特性。即當(dāng)一個(gè)正?;钊栈?,活塞頭所在方塊要被替換為空氣,無頭活塞前方不是活塞頭,而是其他的方塊,而它繼承了前述活塞的特性,因此無頭活塞前方的方塊會(huì)消失。
這時(shí)候有人問了:鐵頭功不是無頭活塞???我認(rèn)為本質(zhì)上相同,只不過其中產(chǎn)生的無頭活塞瞬間收回,不給你看到它的機(jī)會(huì)。
那么,如何產(chǎn)生無頭活塞?
事實(shí)上,最簡(jiǎn)單的辦法是:使用carpet的/tick freeze功能,凍結(jié)游戲,然后挖掉一個(gè)伸出的活塞的信號(hào)源,再挖掉活塞,然后在原位放一個(gè)其它朝向的活塞(朝向非空氣方塊),接著再給它一個(gè)信號(hào)源,最后解除凍結(jié),就能得到無頭活塞。我們分析一下:tick freeze凍結(jié)后,游戲處于NU階段,等待處理玩家操作,信號(hào)源消失后,活塞計(jì)劃在下一gtBE階段開始收回,但是你又把活塞敲掉了,替換成了另一個(gè)朝向的活塞,又給了信號(hào)源。解除凍結(jié)后,在下一gt的BE階段,首先是上一gt的計(jì)劃仍然執(zhí)行,被玩家偷偷換了的活塞本來要收回,但是發(fā)現(xiàn)有信號(hào)源,于是不收回,而是直接將自己變成伸出狀態(tài),(直接將extended改為true)而不去判定自己現(xiàn)在能不能伸出——在能伸出的情況下伸出,在不能伸出的情況下,活塞頭直接不要了,活塞因此成為無頭活塞。
如果放上新活塞后沒有添置新的信號(hào)源,那么解凍后活塞前的基巖將被直接替換而不會(huì)讓我們看到無頭活塞。
然而,一般生存中我們不能用tick freeze,怎么做到這一點(diǎn)呢?
現(xiàn)存的方法給了我們一些答案:昨天紅科搬搬的那個(gè),就是利用精密(的紅石電路使活塞每個(gè)gt都經(jīng)歷一遍試圖收回但未收回的過程(也就是用機(jī)器幫我們完成了信號(hào)源的控制),玩家只需要隨時(shí)破壞+放置活塞即可;鐵頭功,則是用tnt幫我們破壞,同時(shí)完成信號(hào)源的改變(TNT爆炸在EU階段,處于BE與TE之間)玩家只需要抓住信號(hào)源變更的那一個(gè)gt放下活塞便可以直接破掉基巖
對(duì)于tnt或者tnt礦車直接炸掉黏性活塞的活塞頭,則是要轉(zhuǎn)移無頭活塞。這個(gè)方法還沒有深入研究,就不多說了,有了解的歡迎在評(píng)論區(qū)補(bǔ)充
看到這里了,你應(yīng)該對(duì)無頭活塞或破基巖有了大概的了解了吧?如果你認(rèn)為我的解釋有誤,歡迎在評(píng)論區(qū)指正哦~