【我的世界】通過非正常方塊狀態(tài)組合產(chǎn)生的選擇性空氣墻制作塔防地圖

我在上一篇名為《關(guān)于方塊狀態(tài)的非正常組合產(chǎn)生的各種特性》的專欄中提到了一種故障方塊,即將圓石墻等各類墻體的 east、north、south、west 屬性設(shè)置為 none,up 屬性設(shè)置為 false,使其無法顯示任何模型,無法產(chǎn)生任何碰撞箱,無法被放置方塊,除非附近發(fā)生方塊更新使其恢復(fù)正常狀態(tài)否則再也無法被玩家選中,在不使用任何材質(zhì)包的情況下,這種方塊無法被玩家看到,一般的游戲行為也難以察覺它的存在。
以上是上一篇專欄的摘要,現(xiàn)在我們來講講新發(fā)現(xiàn)的特性。

從上圖中我們可以看到,所有生物都正確地活動(dòng)在他們應(yīng)該活動(dòng)的位置,沒有走到草坪上,也沒有試圖越過柵欄。
可能已經(jīng)有人發(fā)現(xiàn)了貓膩,沒錯(cuò),就是那四個(gè)光禿禿的柵欄柱子,這里顯然被調(diào)試棒(Debug Stick)更改過。
我想大家應(yīng)該已經(jīng)猜到了。沒錯(cuò),即便障礙物不可見,這些生物依舊會(huì)認(rèn)為周圍存在著障礙物。

這些生物的尋路算法認(rèn)為周圍有墻阻擋,即便這些墻已經(jīng)沒有碰撞箱了。當(dāng)然,按照尋路算法,墻的頂面也是可以行走的。于是我們可以干點(diǎn)壞事:

也就是說,即便墻不可見,不可碰撞,生物的尋路算法依舊會(huì)把它當(dāng)成一個(gè)完整的物體來計(jì)算,生物不會(huì)主動(dòng)嘗試穿過這些方塊,除非受到外力。
所以通過這種特性,我們可以做出一種選擇性的空氣墻:阻礙生物的主動(dòng)翻越行為,允許玩家主動(dòng)翻越和生物被動(dòng)翻越。

由于上面這個(gè)地圖做太大了,導(dǎo)致村民的尋路算法無法從起點(diǎn)找到終點(diǎn),所以看不成好戲了。
不過這么做存在一些問題,例如墻太薄導(dǎo)致生物會(huì)被擠出去或者被打出去,一旦發(fā)生方塊更新就會(huì)全部現(xiàn)形等等,所以這看起來似乎還是屏障更實(shí)在一點(diǎn)。
不過換一個(gè)角度思考,既然它可以過濾生物行為而不過濾玩家行為,那么用這種特性做一個(gè)過濾器也是可以的,只要墻足夠厚足夠高就可以有效阻擋生物!
......大概吧?
哦糟了,我家進(jìn)蜘蛛了......
參考資料
【我的世界】關(guān)于方塊狀態(tài)的非正常組合產(chǎn)生的各種特性 - 嗶哩嗶哩專欄(?cv8779430 )
Java版未使用特性 - Minecraft Wiki( https://zh.minecraft.wiki/w/Java版未使用特性 )
墻 - Minecraft Wiki( https://zh.minecraft.wiki/w/墻 )