最後更新當前版本:1.18.2
以實體或玩家作為參數的指令,除了少數情況,例如直接使用玩家ID來指定外,大部分情形皆需要使用目標選擇器來選擇指令執行時的作用目標。
在使用目標選擇器時,變數是必須的,這會讓指令知道要如何選擇目標。此外,可以利用額外參數來進一步縮小選擇的範圍。
關於目標選擇器作用的指令,詳見指令:簡介。
目標選擇器變數(點擊以Google文件觀看)
目標選擇器變數用來選擇要成為目標的實體類型,共有五種選擇方式。
變數 | 方式 | 說明 |
@a |
選擇全部玩家 |
包含死亡玩家 無法使用type參數 |
@e |
選擇全部實體 |
選擇全部玩家及實體,但不包含死亡玩家 |
@p |
選擇最近的玩家 |
包含死亡玩家 若有數個同距離的玩家,會選擇最後加入伺服器的玩家 若由伺服器主控台輸入指令,則會選擇最靠近(0,0,0)的玩家 無法使用type參數 |
@r |
選擇隨機玩家 |
包含死亡玩家 無法使用type參數 |
@s |
選擇執行此指令的實體 |
包含死亡玩家 若指令執行者非實體,例如指令方塊,則不會選中東西 |
目標選擇器參數
目標選擇器參數是用來限制要選擇的範圍。
對於@a或@e來說,目標由遊戲內的全部,變成選擇完全符合參數條件的全部;對於@p或@r來說,目標需先符合參數條件,才會被變數條件選擇;對於@s來說,只有完全符合參數條件時才能被選擇,若有至少一項不符合,則無法被選擇,將會導致指令執行失敗。
參數 |
說明 |
範例 |
x |
x軸 |
使用@e時,x、y及z需搭配dx、dy、dz或distance來選擇,否則條件無效,仍會選擇全部 選擇最靠近且位於高度128的玩家:@p[y=128] 選擇所有位於(0,127,0)及(10,255,10)間的實體:@e[x=0,y=127,z=0,dx=10,dy=128,dz=10] 選擇所有剛好位於(-60.59,74.42,-341.02)的玩家:@a[x=-60.59,y=74.42,z=-341.02] 選擇最靠近且位於自身半徑5以內的玩家:@p[distance=..5] 選擇所有位於離(10,144,10)3到4格的玩家:@a[x=10,y=144,z=10,distance=3..4] |
y |
y軸 |
|
z |
z軸 |
|
dx |
位於x和x+dx之間的實體 |
|
dy |
位於y和y+dy之間的實體 |
|
dz |
位於z和z+dz之間的實體 |
|
distance |
與實體間的距離 |
|
advancements |
玩家擁有進度 |
選擇所有達成「冒險」進度的玩家:@a[advancements={minecraft:adventure/root=true}] 選擇所有吃過蘋果的玩家: @a[advancements={minecraft:husbandry/balanced_diet={apple=true}}] |
gamemode |
玩家於遊戲模式 |
選擇所有創造模式的玩家:@a[gamemode=creative] 選擇所有非生存模式的玩家:@a[gamemode=!survival] |
level |
經驗等級 |
選擇所有經驗剛好等於10等玩家:@a[level=10] 選擇所有經驗在30到40等之間的玩家:@a[level=30..40] 選擇所有經驗低於100等的玩家:@a[level=..100] 選擇所有經驗高於60等的玩家:@a[level=60..] |
limit |
最大回傳實體數 |
選擇一名加入時間最久的玩家:@a[limit=1,sort=arbitrary] 選擇一名最遠的玩家:@a[limit=1,sort=furthest] 選擇一名最近的玩家:@a[limit=1,sort=nearest],或@a[limit=1] 選擇一名隨機的玩家:@a[limit=1,sort=random] 選擇兩個最靠近的盔甲座:@e[type=minecraft:armor_stand,limit=2,sort=nearest] |
sort |
對實體進行排序 |
|
name |
實體名稱 |
隨機選擇一個名為Johnny的衛道士:@r[type=minecraft:vindicator,name="Johnny"] 選擇所有不叫jeb_的綿羊:@e[type=minecraft:sheep,name=!"jeb_"] |
nbt |
實體擁有NBT |
選擇所有不在地上的玩家:@a[nbt={OnGround:0b}] 選擇所有被馴服的動物:@e[nbt={Tame:1b}] 選擇所有藍色項圈的狼:@e[type=minecraft:wolf,nbt={CollarColor:11b}] |
predicate |
自定義述詞 |
選擇所有符合述詞dragon:macro的玩家:@a[predicate=dragon:macro] 選擇所有不符合述詞dragon:micro的玩家:@a[predicate=!dragon:micro] |
scores |
實體擁有分數 |
選擇所有記分板finalScore分數介於40到60的盔甲座: @e[scores={finalScore=40..60},type=minecraft:armor_stand] 選擇所有記分板size分數大於1,000,000、age小於1,000的實體: @e[scores={size=1000000..,age=..1000}] |
tag |
實體擁有標籤 |
選擇所有持有macro_dragon標籤的玩家:@a[tag=macro_dragon] 選擇所有未持有op標籤的玩家:@a[tag=!op] |
team |
實體於隊伍 |
隨機選擇兩名在red隊伍中的玩家:@r[team=red,limit=2] 選擇所有不在blue隊伍中的玩家:@a[team=!blue] 選擇所有不在任何隊伍中的玩家:@a[team=] 選擇所有已在任意隊伍中的玩家:@a[team=!] |
type |
實體類型 |
選擇所有的苦力怕:@e[type=minecraft:creeper] 選擇所有除玩家外的實體:@e[type=!minecraft:player] 選擇所有除終界龍或凋零怪外的實體: @e[type=!minecraft:ender_dragon,type=!minecraft:wither] 選擇所有具標籤#skeletons的實體:@e[type=#skeletons] |
x_rotation |
實體的x軸方向 |
選擇所有剛好平視的玩家:@a[x_rotation=0] 選擇所有看向天空的玩家:@a[x_rotation=-90..-30] 選擇所有剛好看向正南方的玩家:@a[y_rotation=0] 選擇所有看向東方的玩家:@a[y_rotation=-135..-45] |
y_rotation |
實體的y軸方向 |