Minecraft 1.13 Execute 指令,12 項設計優良的參數提供彈性、強大的指令設計

Mac Command
Mac Command

Minecraft 在 1.13 更新時將 execute 指令進行更新,不得不說這次的更新讓 execute 有更多功能可以使用,而且在下指令時不論是直覺性、實用性都獲得了全面性的提升,以前多行的指令現在可以簡化成單行甚至兩行,在搭配 function 使用可以增加整個指令執行時的效能。

Execute 指令的基本形式如下:

/execute 子指令

Execute 的子指令

Execute 一共有 12 個子指令,其中有 8 個是用於修改、修飾指令的作用範圍,而剩下的 4 個子指令可分為:條件型、儲存型、執行型。

1. align

align 在數學上的意義與高斯符號相同,「形式為 [x] ,表示不大於(等於或小於)數 x 的最大整數」。常搭配 positioned 一起使用,如:

/execute positioned -2.11 10.51 3.14 align x run tp ~ ~ ~

在 align 後方指定了 x ,所以他會對 x 座標取高斯,所以執行這行指令會將自己傳送至 x=-3、y=10.51、z=3.14 的位置。align 後方除了可以指定 x 之外,也可以指定 y軸、z軸。align 的基本寫法就是:

align <座標軸>

座標軸可以是:x、y、z、xy、xz、yz、xyz、xzy、yxz、yzx、zxy、zyx,等等的排列組合,只要有寫上去就會對該座標軸取高斯。

2. anchored

anchored 是用於指定指令執行於實體時該以眼部還是腳的位置來當作基準點,所以 anchored 的寫法很簡單:

anchored eyes|feet

預設是腳的位置,這也是為什麼可以指定當玩家執行指令時,一般的基準點都是在下半身那格而非上半身那格,以後可以用 anchored eyes 指定在玩家的眼部位置也就是上半身的地方當作基準點。

3. as

as 是用來改變指令執行者,as 後方加上玩家名稱、UUID或目標選擇器,形式如下:

as <實體>

例如:開發一個技能可以在技能發動期間使敵方玩家距離我 5 格的範圍內受到凋零的效果,我可以這樣寫:

/execute as @a[技能已發動] run effect give @a[team=!自己隊伍,distance=..5] minecraft:wither 1 1 true

4. at

at 與 as 很像,是改變指令的執行地點,at 後方加上玩家名稱、UUID或目標選擇器,形式如下:

at <實體>

譬如我要在所有盔甲架上執行位於盔甲架範圍 5 格以內的玩家發光,我可以這樣寫:

/execute at @e[type=armor_stand] run effect give @a[distance..5] minecraft:glowing 1 5 true

5. facing

facing 用於改變指令執行者該朝向何處,facing 指定方向時只支援使用座標以及實體指定,基本格式如下:

facing <座標>
facing entity <實體> eyes|feet

特別提醒實體後方的 eyes 或 feet 是可省略的,這裡的 eyes 與 feet 同樣是指定實體的眼部或是腿部來座位基準點,預設一樣是 feet。

6. in

in 可以用於指定只作用於哪個世界,in 後方需加上世界名稱,基本格式如下:

in <世界的 Namespace>

預設 Minecraft 裡的三個世界:主世界、地獄、終界,三者的 Namespace 分別為:minecraft:overworld、minecraft:the_nether、minecraft:the_end,如果有其他模組的世界也是如此。

7. positioned

positioned 是位於...執行的意思,positioned 用於改變指令的執行位置,基本格式如下:

positioned <座標>
positioned as <實體>

座標可以是絕對座標、相對座標、局部座標,實體可以是玩家名稱、UUID、目標選擇器。

8. rotated

rotated 是用於改變指令執行時面對的方向,與剛剛的 facing 不同之處在於 rotated 是以角度做指定,可以同時指定以其他實體的面對方向作為值。基本格式如下:

rotated <座標>
rotated as <實體>

9. if 與 unless

if 跟 unless 的功能都是用於條件判斷,只有當條件滿足了才會繼續執行後方的指令,而 unless 的條件判斷完成後會再加上否定,所以 unless 是判斷不符合條件的情況才會繼續執行後方的指令。假設位置(0, 0, 0)是空氣(air):

if block 0 0 0 air
unless block 0 0 0 air

上方的第二行因為條件成立,所以會繼續執行下去,而第三行因為條件不成立,所以後方的其他子指令會被中斷。

if 與 unless 後方可以接許多條件判斷,基本格式如下:為求方便,下方指令中 if 皆可以替換為 unless。

if block <座標> <方塊>

這個適用於單一方塊檢測。

if blocks <起點座標> <終點座標> <區域基準點> all|masked

此於區域性方塊檢測,起點座標與終點座標決定一體積,而區域基準點的指定方式需位於欲檢測之區域三軸值最小的點,因為用起點、終點座標決定的體積長寬高都是正數,與 clone 指令有異曲同工之妙。

all 或 masked 則為選擇性的參數,all 為區域內方塊必須完全相同,而 masked 則為忽略由起點、終點座標決定之體積內的空氣後,其他方塊必須完全相同。


if data block <座標> <NBT>
if data entity <實體> <NBT>

這兩行功能相似,都是檢測該座標的方塊或該實體是否包含指定的 NBT 標籤。

if entity <實體>

偵測是否含有一個以上的該實體,請特別注意有可能包含已死亡的玩家。

if score <實體> <記分板名稱> <運算子> <對照的實體> <對照之記分板名稱>
if score <實體> <記分板名稱> matches <範圍>

這兩行是對記分板分數的判定,因為是記分板,所以實體可以是虛構的,只要是記分板裡有紀錄的「實體」皆可以採用。第一行的運算子可以是:<、<=、=、>=、>。

10. store

store 可說是最強的功能之一,例:可以自動將實體的血量紀錄下來,並即時顯示至 BOSS 血條。

store result|success score <實體> <記分板名稱>
store result|success block <NBT 標籤 key> <資料型態> <倍率>
store result|success entity <NBT 標籤 key> <資料型態> <倍率>
store result|success bossbar <id> value|max

store 的 result 指的是子指令執行結果,success 指的是子指令執行次數,可以將執行成功次數儲存在計分板裡。第二行的 score 就是可以將子指令執行的結果存入記分板內,可以搭配 data block 或 data entity 取值。第三行是可以把子指令的執行結果存入方塊的 NBT 標籤內,而 NBT 標籤 key 是指:例如將資料存入盔甲座的自訂名稱中,那麼 NBT 標籤 key 應該填入 CustomName。第四行與第三行相似,可以將資料存入實體的 NBT 標籤中。第五行則是可以將值存入 BOSS 血條內,value 是設定血條的值,而 max 則是設定其血條值的最大值。

資料型態有六種:byte、short、int、long、float、double。

11. run

run 很簡單,在 run 的後方加上完整的指令即可執行該指令。

總結

execute 提供的子指令很多,這些指令都可以穿插在各個位置中,可是請注意子指令的執行先後順序,放在前面的指令會先執行。在此提供一個可以即時更新 BOSS 血量的指令:只要重複執行就可以自動更新血量條。

/execute if entity @e[tag=boss] store result bossbar BOSSBAR_ID value run data get entity @e[tag=boss,limit=1] Health

0 則留言

熱門文章

《Minecraft》快捷鍵一覽表

《Minecraft》快捷鍵一覽表

鍵盤 嗨!歡迎造訪我的部落格。良好的運用快捷鍵可以讓一件事在短時間內完成,如:整理箱子,而當箱子內的物品不是擺放整齊的單個拿出又太花時間導致你不想整理?或是對箱子的整潔有強迫症每次都會整理卻找不到比較…
前往閱讀 前往閱讀右箭頭
《原神》楓丹七天神像升級需要的水神瞳數量表

《原神》楓丹七天神像升級需要的水神瞳數量表

楓丹廷 / Source: Fandom 楓丹是原神旅行者第五個拜訪的國家,是水的國度,第一個潛水的玩法也在這裡開始。供奉楓丹的七天神像需要一定數量的水神瞳才能供奉至滿級,也就是 10 級。這裡將統整…
前往閱讀 前往閱讀右箭頭
《Pokémon Go》3 個途徑取得神奧之石

《Pokémon Go》3 個途徑取得神奧之石

神奧之石(Sinnoh Stone,又稱神奧石)是 Pokémon Go 的寶可夢進化道具。許多第四代寶可夢都需要用到神奧石才能獲得。神奧石稀有,獲得途徑也有限,遊戲中目前一共有三個途徑。
前往閱讀 前往閱讀右箭頭
《特戰英豪 Valorant》預設快捷鍵

《特戰英豪 Valorant》預設快捷鍵

特戰英豪 特戰英豪是我第一個接觸的射擊競技遊戲,因為我本身對於射擊遊戲非常不上手,瞄準、發射、槍的後座力、等等的影響精準度的變數實在太多。雖然我覺得特戰英豪的鍵位提示、說明、指示、等等做的很清楚,但還…
前往閱讀 前往閱讀右箭頭
《原神》《崩壞:星穹鐵道》《絕區零》國際服最新的兌換碼、前瞻兌換碼

《原神》《崩壞:星穹鐵道》《絕區零》國際服最新的兌換碼、前瞻兌換碼

原石與星瓊 本篇整理三個遊戲《崩壞:星穹鐵道》《原神》《絕區零》的所有國際服最新的兌換碼、前瞻兌換碼。 說明 如果表格超出顯示範圍,表格可以左右滑動 。 過期時間僅供參考。 7 天內新增的會用 螢光筆 標出。 表格依…
前往閱讀 前往閱讀右箭頭
7 個能輕鬆找到理想 Minecraft Skin 的網站

7 個能輕鬆找到理想 Minecraft Skin 的網站

忍者外觀 / pxfuel Minecraft(麥塊、當個創世神、我的世界)是一個可以自訂外觀(skin、皮膚)的遊戲。Minecraft 外觀千百萬種,由許多玩家協力製作出數量如此龐大的外觀,想在其…
前往閱讀 前往閱讀右箭頭
如何進化《Pokémon Go》伽勒爾型態的哭哭面具至死神板

如何進化《Pokémon Go》伽勒爾型態的哭哭面具至死神板

Ghost 562 哭哭面具 デスマス Yamask 《Pokémon 劍/盾》為寶可夢的世界帶來第八代新的寶可夢,當然也連帶影響 Pokémon Go 的遊戲內容。伽勒爾地區是《Pokémon 劍/盾》的主…
前往閱讀 前往閱讀右箭頭
《原神》須彌七天神像升級所需的草神瞳數量一覽表

《原神》須彌七天神像升級所需的草神瞳數量一覽表

蘭那羅:蘭那庫拉 有需要須彌所有草神瞳的位置可以參考原神官方的提瓦特互動地圖,可從 HoYoLAB 進入。目前完整蒐集完會是 10 級神像和 1 個草神瞳(一共 271 顆草神瞳)。
前往閱讀 前往閱讀右箭頭
如何獲得和使用《Pokémon Go》合眾之石

如何獲得和使用《Pokémon Go》合眾之石

unova_stone 神奧之石 是用來進化第四代神奇寶貝的進化道具,那麼合眾之石(又稱為合眾石、Unova Stone)則是用來進化第五代神奇寶貝的進化道具。取得難度與神奧之石有得比。
前往閱讀 前往閱讀右箭頭
《刀劍亂舞》全刀種鍛刀時間以及鍛刀配方

《刀劍亂舞》全刀種鍛刀時間以及鍛刀配方

山姥切国広 孫六兼元期間限定鍛刀開跑中。刀劍亂舞九周年!有一組 兌換碼 可以使用。 刀劍亂舞中,鍛刀的時間與投入的資源、最終成品是有關係的: 投入的資源愈多,鍛刀的時間愈長(純屬趨勢並非絕對) 鍛刀時間愈長,成…
前往閱讀 前往閱讀右箭頭