誰能告訴我這個我的世界指令怎麼寫?
肯定有更好的方法,但我暫時只能想到遍歷
簡單說一下思路,畢竟演算法太垃圾了沒什麼實用性,不上指令
首先生成9×9=81個盔甲架在9×9×1的平面上,每個方塊一個,然後給他們都加上tag“a”,方便辨別
同時設定一個迴圈命令方塊,內容是
execute @e[type=armor_stand,tag=a] ~ ~ ~ tp ~ ~ ~
讓盔甲架保持浮空不下落
再設定一個迴圈命令方塊,內容是
execute @e[type=armor_stand,tag=a] ~ ~ ~ detect ~ ~-1 ~ <你想要的半磚的名稱空間ID> <特殊值控制上/下半磚、半磚種類> setblock ~ ~ ~ <你想要的鐵軌的名稱空間ID>
來讓所有腳下(身下一格~ ~-1 ~)是半磚的盔甲架在身體位置(本格~ ~ ~)放置鐵軌
然後我們讓這個9×9的盔甲架矩陣上下移動,這樣就可以在9×n×9的範圍內的半磚上都放置鐵軌
盔甲架上行:execute @e[type=armor_stand,tag=a] ~ ~ ~ tp @s ~ ~1 ~
盔甲架下行:execute @e[type=armor_stand,tag=a] ~ ~ ~ tp @s ~ ~-1 ~
可以把矩陣設定在Y=0/-64處往上tp 256/320(不同版本不同高度上限)次覆蓋9×256/320×9的範圍,也可以設定在Y=256/320處往下tp 256/320次覆蓋9×256/320×9的範圍。這兩個本質等價。
這樣你就完成了一個9×256/320×9的範圍內所有鐵軌的處理。
同理,這個矩陣可以向前後左右移動,覆蓋更大範圍。矩陣大小9×9僅為我隨便設定的,你可以改成任意大小,指令不需要更改,但請注意裝置效能問題。
也不一定要把整個建築高度限制內的區域掃描一遍(畢竟沒有人在Y=0的地下建鐵路,也沒有人在Y=320的高空建鐵路),你可以適當縮小範圍提高效率。
(唉不對,我不是說不上指令嗎,怎麼一不小心寫這麼多)
另:本文在我做核酸排隊無聊時所做,沒有查資料,沒有上機測試,我也好久沒玩指令了,不建議去用,僅為圖一樂而做!
另另:不知道setblock放置的鐵軌會不會自動連線,也還是太久沒玩指令了,如果不會的話就麻煩了。
上一篇:怎麼解決好家庭矛盾?
下一篇:神的初次對話