條目中某些資訊已經不符合目前版本情況。
在製作地圖時需要一些觸發指令的裝置,讓玩家無需自己去輸入放置指令來觸發。本教學介紹幾種觸發指令的方式。
自訂指令類
trigger+scoreboard
使用trigger需要將計分板變數交給玩家使用,所以需要重複不斷地給予玩家變更計分板變數的權限。
- 第一步:計分板相關準備
- 建立計分板變數
scoreboard objectives add 自定义变量名 trigger。應當指出的是這裡的準則不是dummy而是trigger。 - 在重複型指令方塊中輸入
scoreboard players enable @p或@a 自定义变量名,選擇器可以按需選擇。這條指令讓指定玩家能修改某個變數的值。
- 第二步:使用與檢測
- 提示玩家輸入
trigger 自定义变量名 set 数值。 - 最後在指令方塊裡打上
/execute if entity @a[score={自定义变量名=<数值>}] <子命令...>
主動互動類
clear+空白地圖
這種方法的原理是讓玩家打開空白地圖,然後高頻連接clear地圖的指令方塊,比較器連接並觸發電路,同時在電路中安排返還空白地圖的指令。 但是存在局限性,所以一般用於一些小遊戲中。
相關指令:/clear @p filled_map與/give @p map
雪球拋擲+scoreboard相關判據
輸入指令/scoreboard objectives add 变量名 stat.useItem.minecraft.snowball,即可統計雪球拋出的次數。
透過/execute if entity @a[score={变量名=...}]觸發電路,然後用scoreboard相關指令復原計分板值。
testforblock檢測方塊狀態 [僅基岩版]
有些機關,透過檢測方塊狀態觸發指令。
檢測控制桿狀態:testforblock x y z lever 相关数据值,如檢測朝向z軸正向的控制桿,填入11,則當控制桿被拉下,在外觀上看沒有電路,也能觸發機關。
檢測展示框的旋轉狀態也可以。詳見物品展示框。
告示牌點擊
這裡提供一份模板,使用到了JSON文字。
指令中standing_sign是立著的告示牌,wall_sign是牆上的告示牌,隨需要選擇。也可以透過/data merge block修改告示牌內容。
/setblock x y z minecraft:standing_sign或minecraft:wall_sign replace
{Text1:"{\"clickEvent\":{\"action\":\"run_command\",\"value\":\"''第一条命令''\"},text:\"''提示信息''\"}",
Text2:"{\"clickEvent\":{\"action\":\"run_command\",\"value\":\"''第二条命令''\"}}",
Text3:"{\"clickEvent\":{\"action\":\"run_command\",\"value\":\"''第三条命令''\"}}",
Text4:"{\"clickEvent\":{\"action:run_command\",\"value\":\"''第四条命令''\"}}"}
被動探測類
漏斗低頻+範圍檢測到實體
搭建一個朝向連通的漏斗組,並在裡面放入物品,用比較器連通其中一個漏斗,就製作好了漏斗低頻。
/execute if entity中比較器填入distance的項,檢測附近的玩家,即可實現一些被動觸發的機關(部分指令無法在目前基岩版實現,如計分板中目前只能使用dummy虛擬類型,觸發可能因此受限)。
善用紅石元件
陷阱儲物箱,絆線與絆線鉤都是用於機關設計的,善用他們可以省去很多搭建電路的麻煩。
參見
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||