目標選擇器

“目標選擇器”是遊戲《minecraft》中用於指令方面的一種東西。大多數以玩家作為參數的命令,可以通過某些限定條件來選擇一個或多個玩家,而不必要用名字來指定玩家。以實體作為參數的命令,也可以通過目標選擇器選擇符合條件的一個或多個實體。

格式

目標選擇器格式:

@<變數> [<參數> =<數值> ,<參數> =<數值>......]

(註:“<>"必須要填,“[]”可填可不填)

變數

目標選擇器變數匯總 目標選擇器變數匯總

目標選擇器變數用於指定待選目標的大致分類。共有5種變數。

@p

選擇最近的玩家。在伺服器控制台中輸入時,基準點的坐標為x0 y0 z0。如果有多個最近的玩家,他們與基準點距離完全相同,那么會選擇其中最晚進入伺服器的玩家。

在命令方塊中、玩家或使用execute用實體執行時,會以自身為基準點。

@r

選擇隨機玩家(或使用type目標選擇器參數來包含實體)。

如果沒有使用type參數,@r只會選擇隨機玩家。type參數可以用來選擇非玩家的實體(舉例來說,@r[type=zombie]會隨機選擇殭屍,@r[type=!player]會隨機選擇非玩家實體,等等)。

@a

選擇所有玩家,包括已死亡玩家。除了@a以及@s以外的其他所有目標選擇器都不能選中已死亡玩家。

@e

選擇所有實體(包含玩家)。

@s

只選擇唯一一個實體:執行該命令的實體,包括已死亡玩家。若命令執行者不是一個實體,比如是命令方塊或伺服器控制台執行命令,則此選擇器不會選中任何東西。

(信息來源)

參數

在使用目標選擇器之後,玩家可以隨意地使用參數來限定所要選擇的群組。當使用@a或@e時,待選目標從

目標選擇器參數匯總 目標選擇器參數匯總

全體篩選成特定的少數。當使用@p或@r時,待選目標根據距離遠近或隨機而從全體中產生。當使用@s時,命令執行者只有在所有參數都滿足時才會被選擇,否則命令執行失敗。

在目標選擇器變數之後附加鍵值對構成的逗號分隔,並包含在方括弧中(見“格式”目錄)

鍵值區分大小寫,括弧、等於號和逗號旁可以有空格(目標選擇器和第一個方括弧之間除外),鍵值對只能用逗號(英文的半角逗號)分隔。

坐標類

坐標類參數用於範圍檢測,分為3種。

基準點

通過x、y、z這三個參數可以修改目標選擇器選擇的基準點,與通過距離選擇的參數結合可以選擇特定距離內的目標,與通過體積尺寸參數選擇目標結合可以選擇特定立方體內的目標。如果僅指定基準點而未指定距離和體積尺寸,則會選擇整個世界(對選擇順序及部分選擇參數有效,並且限制選擇範圍為執行的世界)。

坐標可以是整數或像12.34這樣的小數(具體為雙精度浮點數)且不會進行中心校正(center-corrected),這意味著x=0不再自動更正為x=0.5。波浪號可用於此參數‌,僅限手機版。

格式:[x =<數值> ,y =<數值> ,z =,<數值> ,...]

距離

通過距離選擇目標的參數有兩個版本,一個是r和rm(僅手機版)和distance(僅Java版)。該參數的選擇範圍為球狀。

r和rm

r——最大搜尋半徑(圓),值可以填R,這樣會只選擇小於R個方塊的目標執行命令。使用小於0的值則會將命令限制為在相同維度執行,且不限制執行位置的距離。‌

rm——最大不搜尋半徑(圓),值也可以填 ,這樣會只選擇大於RM個方塊的目標執行命令。‌

distance

該參數只選擇與基準點的距離(單位為方塊格數)為某個值或者某個範圍內的目標。只允許非負數。‌

若精確到坐標(上方)和半徑中的一或多個坐標,則半徑將以坐標為執行中心而不是命令執行位置。

在Java版,範圍可以是“最小值..”、“..最大值”或者“最小值..最大值”的格式,比如:‌

•@e[distance=10]— 是距離10範圍

•@e[distance=10..12]— 是距離10到12範圍

•@e[distance=5..]— 是距離5或以上範圍

•@e[distance=..15]— 是距離15或以下範圍

•[1]

立方體

選擇立方體內的實體參數為dx、dy、dz,只會選擇位於一定長方體區域內部的目標,體積定義為從基準點開始,向“x”方向(東/西方)延伸DX格(包括基準點本身,下同),向“y”方向(上/下方)延伸DY格,並向“z”方向(北/南方)延伸DZ格。(dx、dy和dz用來指定與坐標的距離;它們不是指定一個新的坐標。)dx、dy、dz也可以是負數(即為反向延伸)。

例子:

•@e[x=1,y=2,z=3,dx=4,dy=5,dz=6]— 只有碰撞箱在方塊區域(1~5, 2~7,3~9)(或坐標{(x,y,z)|x∈[1,6),y∈[2,8),z∈[3,10)}區域)內有重疊的實體會被選擇。

•@e[x=1,y=2,z=3,dx=0,dy=0,dz=0]— 只有碰撞箱在方塊區域(1,2,3)內有重疊的實體會被選擇。 [1]

玩家可以結合通過距離和通過體積選擇目標,此時只考慮二者重疊的區域。(從西北下角算起在一定的半徑以內,且不超過定義的體積。)

計分板類

計分板類參數有score、tag和team。由於手機計分板暫且沒有隊伍計分板分支,所以沒有team參數。

分數

使用分數來選擇目標的參數為score。score有兩種格式,分別是score_<計分項目名稱> =<值>和score_<計分項目名稱>_min =<值>。前者是用於選擇分數沒有超過選定的計分項目所指定的值的實體,後者是選擇沒有小於選定的計分項目分數所指定的值的實體。

例子:

•score_name——選定叫name 的計分項目分數沒有超過所指定的值的實體。

•score_name_min——選定叫name的計分項目分數沒有小於所指定的值的實體。 [2]

標籤

實體的計分板標籤可以通過/tag來給予或者移除,無需事先定義。每一個實體都可以擁有一個或者多個標籤,或者沒有任何標籤。

格式:

1、[tag =<標籤名> ,....]——選擇指定標籤的實體。

2、[tag =!<標籤名> ,....]——排除指定標籤的實體。

1.[tag= ,......]— 只選擇沒有任何標籤的目標。

2.[tag=! ,......]— 只選擇擁有任意標籤的目標。

3.[tag=標籤1,tag=標籤2 ,......]— 選擇既有標籤1又有標籤2的目標。

4.[tag=!標籤1,tag=!標籤2 ,......]— 選擇既沒有標籤1又沒有標籤2的目標。

5.[tag=標籤1,tag=!標籤2 ,......]— 選擇既有標籤1又沒有標籤2的目標。

隊伍
通過隊伍選擇目標的參數是team。隊伍可以通過計分板指令:/scoreboard team add來創建,詳情見“計分板—百度百科”。

格式:

1、[team =<隊伍名> ,......]——選擇在指定隊伍名的實體。

2、[team =!<隊伍名> ,......]——選擇不在指定隊伍名的實體。

3、[team = ,......]——選擇不屬於任何一個隊伍的實體。

4、[team =! ,...... ]——選擇隨機一個隊伍包含的實體。

其他類

數量

通過數量選擇目標的參數在手機版和Java版都不一樣。

手機版

手機版需要用c參數來選擇,是選擇指定數量的目標,通常以距離命令執行點的順序排列。如果變數為p,數值為負數,將會從最遠的地方向命令執行點的順序排列。

格式:

[c =<數量> ,...... ]

Java版
Java版的數量參數分為兩個,分別是limit和sort。

limit

當使用@p或@r變數時,此參數被預設為1,而更大的數值會增加回傳的目標數量。當使用@a或@e變數時,此參數只會限制目標數量(默認選擇所有目標)。

在Java版,不能使用負數,若要反選實體需要使用sort參數‌。(在1.13之前,用法同基岩版。)

sort

sort參數具體見參數——其他類——數量——Java版——格式目錄。

格式

•limit:[limit =<數量> ,...... ]

•sort:

[sort =nearest ,......]——表示距離最近的,是@p的默認排序方式。

[sort =furthest ,......]——表示距離最遠的。

[sort =random ,......]——表示隨即排序,是@r的默認排序方式。

[sort =arbitrary ,......]——表示無序,是@a和@e的默認排序方式。 [1]

經驗等級

經驗等級分為3種參數,分別是l、lm和level。

l

l參數是選擇經驗值等級低於所給的等級的目標。

格式

[l =<數值> ,...... ]

lm
lm參數是選擇經驗值等級高於所給的等級的目標。

格式

[lm =<等級> ,......]

level

level參數是選擇經驗值等級在某個值或某個範圍內的目標,在1.13以前用法和手機版一樣。

格式

[level =<值> ,...... ]

[level =<最小等級>..<最大等級> ,...... ]

遊戲模式

遊戲模式分為兩種不同版本的參數,分別是m和gamemode。

格式

m:

[m =M ,...... ]——選擇處於指定模式的玩家。

[m =!M ,...... ]——選擇不處於指定模式的玩家。

gamemode:

[gamemode =M ,...... ]——選擇處於指定模式的玩家。

[gamemode =!M ,...... ]——選擇不處指定模式的玩家。

變數M可以是

•0(僅基岩版)、s(僅基岩版)、survival:生存模式。

•1(僅基岩版)、c(僅基岩版)、creative:創造模式。

•2(僅基岩版)、a(僅基岩版)、adventure:冒險模式。

•spectator:旁觀者模式(僅Java版)。

這將自動過濾非玩家目標。

在Java版從1.13,遊戲模式只支持全稱。在1.13之前,用法與基岩版相同。其中,在1.9之前的版本,遊戲模式只允許使用數字,且不能反選。

相關詞條

熱門詞條

聯絡我們