條目中某些資訊已經不符合目前版本情況。
在製作地圖時需要一些觸發命令的裝置,讓玩家無需自己去輸入放置命令來觸發。本教學介紹幾種觸發命令的方式。
自訂命令類
trigger+scoreboard
使用trigger需要將計分板變數交給玩家使用,所以需要重複不斷地給予玩家變更計分板變數的權限。
- 第一步:計分板相關準備
- 建立計分板變數
/scoreboard objectives add <自訂變數名> trigger。應當指出的是這裏的準則不是dummy而是trigger。 - 放置三個命令方塊,重複型命令方塊指向連環型命令方塊1,連環型命令方塊1指向連環型命令方塊2。
- 在重複型命令方塊中輸入
/scoreboard players enable (@p|@a) <自訂變數名>,選擇器可以按需選擇。這條命令讓指定玩家能修改某個變數的值。 - 在連環型命令方塊1裡打上
/execute if entity @a[scores={<自訂變數名>=<數值>}] run <需要執行的命令>。 - 最後,在連環型命令方塊2裡輸入
/scoreboard players set @a <自訂變數名> 0。
- 第二步:使用與檢測
- 提示玩家輸入
/trigger <自訂變數名> set <數值>。 - 輸入完畢後,
<需要执行的命令>應該會自動執行。
主動互動類
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虛擬類型,觸發可能因此受限)。
善用紅石元件
陷阱箱,絆線與絆線鈎都是用於機關設計的,善用他們可以省去很多搭建電路的麻煩。
參見
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||