此頁面的(部分)內容需要被翻譯。 |
該文章是關於控制台指令的。關於可以執行指令的方塊,請參閱
。關於可以執行指令的礦車,請參閱
指令(Command)是在、及中通過輸入特定文本字符串而激活的高級功能。
在普通的Minecraft客戶端和中,指令通過Minecraft的窗口輸入,通過按下T鍵(默認)或/鍵喚出聊天窗口。使用/鍵會同時輸入指令必需的前綴斜槓(/),因此這是個實用的快捷鍵。在輸入指令時按下Tab ?鍵會循環顯示當前可用的指令或參數,也可以快速輸入準星當前指向方塊的坐標。
指令也可以在多人的控制台中輸入,但是不需要加入前綴/。
指令方塊中的指令可以加入前綴/,但這不是必需的。指令方塊中的指令可能還會要求可選參數,譬如玩家的名稱。
大多數指令只能在以下狀況有效:
在不允許作弊的生存模式中仍然可用。
注意:在單人遊戲中,如果不允許作弊,仍可以通過公開目前的遊戲至區域網 (Esc→「公開至區域網」,點選「允許作弊」為開,接著「開始區域網遊戲」) 而暫時可以作弊。你不必實際連入區域網或等待別人加入。這並不是永久的,但直至退出世界前都可以使用指令,且指令做出的修改都會被保存(物品,生物生成等)。你可以在再次開啟遊戲時重複以上步驟。注意當公開至區域網時遊戲便無法暫停,所以在打開遊戲目錄時最好找個安全的地方。你可以重新載入世界來取消公開至區域網。
很多指令可以使用(~
)來指定相對坐標。在波浪號後方的數字是個偏移量而不是絕對坐標。數字的正負號表示以坐標軸的正或負方向偏移。一個單獨的波浪號~
是~0
的簡寫。
舉例來說,/tp 0 64 0
將會移動使用者到坐標(0, 64, 0),而tp ~3 ~ ~-3
會使使用者往x軸移動3米(東方),保持原本高度,並在z軸移動-3米(北方)。
通常絕對坐標和相對坐標可以混合使用。舉例來說,/ ~ 64 ~
會保持使用者的x軸和z軸坐標,但是傳送使用者到絕對高度64。
偏移量的基準點由指令本身決定。一般以指令的執行位置為基準點。
很多指令可以使用(^
)來指定局部坐標。局部坐標即以執行位置為基準點,執行者左、上、前為坐標軸,計算目標坐標。
在插入符後方的數字是指定方向的偏移量而不是絕對坐標。數字的正負號表示以坐標軸的正或負方向偏移。一個單獨的插入符^
是^0
的簡寫。
注意,局部坐標不可與絕對或相對坐標混合使用。
本段文字中,variable翻譯為變量,argument翻譯為參數,而value代表數值。有些指令因為易讀性的關係,並不會把它翻譯出來。 |
大多數以玩家作為參數的指令,可以通過某些限定條件來選擇一個或多個玩家,而不必要用名字來指定玩家。要用條件來選擇玩家,先選擇一個目標選擇器變量,然後,可選地,選擇一個或多個目標選擇器參數以制定具體的條件。
比如,要改變紅(red)隊所有玩家的遊戲模式為創造模式,而不使用名字來逐個指明:
目標選擇器變量用於指定待選目標的大致分類。共有5種變量:
@p[team=Red]
只會選擇紅隊中距離最近的玩家,即使有其他非紅隊玩家更為靠近。
c
[僅版]目標選擇器參數可以用來追加待選目標。(舉例來說,@p[c=3]
會選擇最近的三名玩家)。若參數是負值,c
會反轉選擇目標的順序(舉例來說,@p[c=-1]
會選擇最遠的一名玩家)[僅版]。在,該參數被limit
取代,比如@p[limit=3]
會選擇最近的三名玩家,選擇最遠的一名玩家則應該使用@a[limit=1,sort=furthest]
[僅版]。
type
目標選擇器參數來包含實體)。
@r[team=Red]
只會隨機選擇紅隊玩家。
type
參數,@r
只會選擇隨機玩家。type
參數可以用來選擇非玩家的實體(舉例來說,@r[type=zombie]
會隨機選擇,@r[type=!player]
會隨機選擇非玩家實體,等等)。
@s
以外的其它所有目標選擇器都不能選中已死亡玩家。
@a[team=Red]
只會選擇紅隊的所有玩家。
@e[type=cow]
只會選擇牛。
@s[type=cow,team=Red]
只會在指令執行者是紅隊的一頭牛時才會將其選中。
在使用目標選擇器之後,你可以隨意地使用參數來限定所要選擇的群組。當使用@a
或@e
時,待選目標從全體篩選成特定的少數。當使用@p
或@r
時,待選目標根據距離遠近或隨機而從全體中產生。
在目標選擇器變量之後附加鍵值對構成的逗號分隔表,並包含在方括號中:
鍵值區分大小寫,括號、等於號和逗號旁不能有空格,鍵值對只能用逗號分隔。
[x=X,y=Y,z=Z]
— 修改目標選擇器選擇的基準點(對選擇順序及部分選擇參數有效,並且限制選擇範圍為執行的世界)。
x
和z
系統不會過度校正,譬如x=0
不再等於x=0.5
。
[r=R]
— 只選擇小於R個方塊的目標執行指令。使用小於0的值則會將指令限制為在相同維度執行,且不限制執行位置的距離。
[rm=RM]
— 只選擇大於RM個方塊的目標執行指令。
r
和rm
改為distance
。不再具有單獨的「最小」和「最大」值,而是改為相應範圍。
dx
、dy
和dz
用來指定與坐標的距離;它們不是指定一個新的坐標。)
[tag=某标签]
— 只選擇記分板標籤為「某標籤」的目標。
[tag=!某标签]
— 只選擇記分板標籤不為「某標籤」的目標。
[tag=]
— 只選擇沒有任何記分板標籤的目標。
[tag=!]
— 只選擇擁有任意記分板標籤的目標。
由於實體可以同時有多個標籤,因此該參數可以多次使用,比如[tag=a,tag=b]
表示選擇既有標籤a又有標籤b的實體,[tag=a,tag=!b]
表示選擇有標籤a且沒有標籤b的實體。
[team=某队伍]
— 只選擇屬於隊伍「某隊伍」的目標。
[team=!某队伍]
— 只選擇不屬隊伍「某隊伍」的目標。
[team=]
— 只選擇不屬任何隊伍的目標。
[team=!]
— 只選擇屬於任意隊伍的目標。
[c=C]
— 僅選擇指定數量的目標。通常以距離指令執行點的順序排列。
@p
或@r
變量時,此參數被方案集為1,而更大的數值會增加回傳的目標數量。當使用@a
或@e
變量時,此參數只會限制目標數量(默認選擇所有目標)。
@p[c=-3]
會回傳3個最遠的目標,而且,如果所有目標距離都一樣遠,@e[c=-3]
會選擇3個剛加載/生成的目標。
c
改成limit
。現在的limit不能使用負數了。若要反選實體需要使用sort=furthest
。
[l=L]
— 只選擇經驗等級低於L的目標。
[lm=LM]
– 只選擇經驗等級高於LM的目標。
l
和lm
改成level
。 而且最小和最大值也不在分開了,而是改為了選擇範圍。
[m=M]
— 選擇處於指定的玩家。
[m=!M]
— 選擇不處於指定的玩家。
[rx=RX]
— 僅選擇最大垂直旋轉為RX的目標。
[rxm=RXM]
— 僅選擇最小垂直旋轉為RXM的目標。
rx
和rxm
改為x_rotation
。而且最小和最大值也不在分開了,而是改為了選擇範圍。
[ry=RY]
— 僅選擇最大水平旋轉為RY的目標。
[rym=RYM]
— 僅選擇最小水平旋轉為RYM的目標。
rx
和rxm
改為y_rotation
。而且最小和最大值也不在分開了,而是改為了選擇範圍。
[type=TYPE]
— 只選擇特定的實體類型的目標。
[type=!TYPE]
— 只選擇不屬於特定的實體類型的目標。
creeper
指定,minecart
指定普通,tnt
指定等等)。實體ID必須區別大小寫,且無效的實體ID會造成指令失敗。
@r
一起使用時,原本用來選擇玩家的指令也可以被用來選擇其它實體。
[nbt=NBT]
— 只選擇擁有指定數據標籤的目標。
[nbt=!NBT]
— 只選擇沒有指定數據標籤的目標。
{}
。如{CustomName:"foo"}
指定名字(CustomName)為foo的實體。無效的數據標籤會導致指令失敗。
數據標籤是一段文字序列,描述組成的數據結構。數據標籤用於Java版的指令中,用於指定玩家、實體和一些方塊的較為複雜的數據。
數據標籤由零個或以上、用逗號分隔的鍵值對組成,且用大括號括住。每個鍵值對包含鍵名和鍵值,用冒號分開。但是,有些鍵值可以繼續包含鍵值對,因此數據標籤可以用來描述層次結構。
這些數據標籤所採用的數據結構與Minecraft世界存檔相同。這種數據結構在其它條目中有詳細描述。指令使用的數據標籤中鍵名有嚴格的限定(區分大小寫):
儲物箱、熔爐、指令方塊、刷怪蛋、告示牌等 |
物品欄中的物品 (包括附魔、自訂名稱等) |
弓箭、火球、噴濺藥水等 |
引燃的TNT、正在掉落的沙、礫石、鐵砧 |
指定鍵名的鍵值也必須符合數據類型要求。
介於-128和127之間(包含)的整數。 |
介於-32768和32767之間(包含)的整數。 |
介於-和之間(包含)的整數。 |
一串字符,如果內容包含不在 a-z A-Z 0-9 _ . (不包括空格)的字符則需要在整個字符串前後加上雙引號並將內容轉義。
轉義方式為,在 |
值的序列,用逗號分隔並用方括號包含。所有值的數據類型必須統一——數據類型標準由列表的第一個元素決定。
檢測的時候僅檢測是否擁有特定物品,不在乎順序及整個列表是否一樣。 |
用逗號分隔內容並用方括號包含,首個元素前方需要加入類型標識,字節則為 檢測時需要檢測整個數組是否一致,包括順序。 |
鍵值對的序列,用逗號分隔並用花括號包含。
每個數據標籤的內容本身就是一個複合標籤。 檢測時僅檢測特定名稱的元素是否一致。 |
一種數據類型,只有「true」和「false」兩種取值。由於程序通常使用 字節存儲布爾值,布爾型只會在JSON格式中出現。 |
字節數組類型無法用於指令。
某些指令要求明確指明某些數值的數據類型,這可以通過在數值後附加限定字符(B、S、L、F、D)來實現。舉例來說, 3s
表示短整型,3.2f
表示單精度浮點,等等。(字符I不能限定整型。)限定字符不區分大小寫。在不加限定字符,且Minecraft無法根據上下文來確定數據類型或需要比對數據標籤時,會將數據類型假定為雙精度浮點型(數值有小數部分時)、整型(數值沒有小數點,且在整型取值範圍內)或字符串(若前述情況均不符合)。被方括號包含的集合中,被逗號分隔的元素若全為整型,則會將數據類型假定為整型數組;否則會假定為列表。但有以下特例:[]
是一個空列表,而[,]
是一個空整型數組。
如果用/
、/
、/
等指令來查找數據標籤,這些指令只會檢查目標實體/方塊/物品是否存在此標籤。這意味著一個符合條件的實體/方塊/物品可能同時還擁有其他標籤。這對列表和數組同樣成立:只要列表或數組中包含待查找的所有元素,就會成功匹配,既不考慮元素的排列順序,也不考慮是否有多餘的元素存在。
數據標籤的數據結構是的形式。
/
和/
指令使用嚴格的JSON語法。
在被放置或修改時,或在一本被「翻開」(書寫後第一次打開)時,記分板分數和目標選擇器會被解析成具體的值。這些結果不再更新,使用NBT編輯器修改已存在的告示牌或已翻開的書也不會起作用。解析的結果無法在告示牌上換行,或在書上換頁,超出的文字只會直接消失。
JSON文本的格式支持以下(大多是可選的)元素的JSON對象:
key.inventory
會向玩家顯示打開物品欄的按鍵,若玩家使用默認設置,則會顯示「E」。
/
指令所使用的「dataTag」標籤中的組合相同)。
/
指令相同。
/tellraw @a
value:可選。如果存在,將以此覆蓋目標原先的分數。
selector:一個包含了一個選擇器(@p、@a、@r或@e)的字符串以及可選的選擇器參數。不像text,此處的選擇器將會被解析為正確的玩家/實體名。如果多於一個玩家/實體符合條件,其將會被以例如'名字1和名字2'或'名字1,名字2,名字3,和名字4'的形式顯示。此參數存在時完全忽略text、translate和score。在/
指令中使用此標籤時,點擊結果中的玩家名稱會出現私信該玩家的指令建議;按住?
Shift點擊玩家名稱會將名稱填入聊天框中;按住? Shift點擊非玩家實體的名稱會將其UUID填入聊天框中。
由於extra標籤的存在,以上格式可遞歸地嵌套成非常複雜與多功能的字符串。然而,JSON文本不必弄得如此複雜:幾乎所有的屬性都可選或會被忽略。
為了確保有效,每一個對象至少應該包含以下至少一個元素:text、translate、score或selector(其餘的元素都是可選的)。為使用方便,整個對象可以只用一個字符串表示。此時,將這個字符串賦作text的值即可。例如,"This is raw
JSON文本也接受一個對象或字串的數組,數組與
extra的處理方式大致相同(首個元素視作其後元素的父元素,繼承文字樣式)。它甚至接受多層嵌套的數組樹,並以深度優先遍歷。例如:
許多指令要求指定某種方塊或物品。在下文的指令語法中,這些參數會被標註為<方块>
、<物品>
或類似的表述,在舉例中會以類似minecraft:stone
的形式出現。在Java版中,方塊和物品名稱擁有特定的命名空間作為前綴,可省略,默認為minecraft:
;而在基岩版中,這些前綴必須刪去。
下表列出了所有可用指令。點擊表頭可以排序。
直接輸入該文本,應完全一致。 |
以合適的值替換斜體部分。 |
在多個選項當中選擇一個。 候選字符用豎線隔開:|。 |
此參數可能是含有空格的多個單詞。 |
此參數可輸入多個單詞,且允許包含空格。 |
/
、/
、/
和/
。
/
、/
、/
、/
、/
、/
、/
、/
、/
、/
、/
、/
、/
、/
和/
。
/
所有的任何多人聯機指令都不能由執行。
until
和from
的混合,所有「經由(through)」指定進度,任何上下游進度。進度的遍歷順序是until
和from
的結合,首先進行until
,然後進行from
。
這類指令能控制伺服器的封禁列表或黑名單。黑名單是不被允許連接到伺服器的玩家名稱或者IP位址列表。封禁操作將取消已有的白名單。
創建Boss欄與修改他們。
id
用來選擇Boss欄,他的將為 命名空间:名字
。 示例: foo:bar
。 如果沒有 命名空间
,他的將默認為 minecraft
。
name
為Boss欄的名字,必須為有效的JSON文本。
清空玩家物品欄的物品。
clear [玩家:目标] [物品名:字符串] [数据:整数] [最大数量:整数]
-1
,則所有符合物品值的物品會被清除而不考慮物品數據。
-1
,則所有符合物品與數據值的物品會被清除。若定義為0
,則不會清除任何物品,但會成功執行並返回是否有物品本應該被清除(用來檢測物品但不清除物品)。
0
的情況),則失敗。
clear
/
— 更改或移除方塊物品欄內的物品
/
— 替換方塊或實體的物品欄中的物品
在區域之間複製方塊結構。
定義目標區域的西北方向較低(即在各軸上坐標較小)的角。可以使用來指定指令執行地的相對距離。
指定是否過濾被複製方塊。必須為下列之一:
filtered
— 僅複製方塊ID符合方塊名定義的方塊。
masked
— 僅複製非空氣方塊。會保持目的區域中原本會被替換為空氣的方塊不變。
replace
— 複製所有方塊,用源區域的方塊覆蓋目標區域中的所有方塊。
replace
。
force
— 強制複製,即使源區域與目標區域有重疊。
move
— 將源區域複製到目標區域,並將源區域替換為空氣。在filtered遮罩模式下,只有被複製的方塊才會被替換為空氣。
normal
。
/
— 用一類方塊填充整個區域
允許獲取、合併或是移除或的。
[limit=1]
。
get
獲得的NBT具體數值。
get
— 返回指定位置的方塊或單個目標實體的NBT數據。可以指定一個路徑來檢索指定的數值型NBT數據。可選參數比例可以縮放檢索到的數值數據。
merge
— 合併指定位置的方塊或單個目標實體的NBT數據與提供的NBT數據。無法修改玩家的數據。
remove
— 移除指定位置的方塊或單個目標實體指定路徑的NBT數據。無法移除玩家的NBT數據。
disable
— 將禁用指定資料包。
enable
— 將啟用指定資料包。
first
— 將啟用指定資料包,並將它置於所有資料包之前(即優先級最低)。
last
— 將啟用指定資料包,並將它置於所有資料包之後(即優先級最高)。
before
— 將啟用指定資料包,並將它置於指定已存在資料包之前(優先級低於之)。
after
— 將啟用指定資料包,並將它置於指定已存在資料包之後(優先級高於之)。
list
— 將列出所有資料包,或僅列出可用/已啟用的資料包。將滑鼠懸停於資料包名上將顯示它們於pack.mcmeta
中的描述。
[僅版] 鎖定或解鎖日夜循環。
設置新玩家進入伺服器時默認的(生存、創造等)。
/
— 更改玩家的遊戲模式
設定難度等級(和平、簡單,等等)。
peaceful
(在基岩版可被簡寫為p
或0
)為難度
easy
(在基岩版可被簡寫為e
或1
)為難度
normal
(在基岩版可被簡寫為n
或2
)為難度
hard
(在基岩版可被簡寫為h
或3
)為難度
/
— 更改一位玩家的遊戲模式(創造、生存,等等)
effect指令管理玩家及其它實體上的。
@e
選擇非玩家實體)。
true
或false
。若未指定,默認為false
。
clear
模式下沒有該效果可以移除,或目標實體對效果免疫時失敗。
clear
— 從目標身上清除所有狀態效果。
give
或效果 — 給目標添加狀態效果。如果一個目標已經擁有該狀態效果,同等級的新狀態效果僅在擁有更長的持續時覆蓋舊的持續時間,但更高等級的新狀態效果將會覆蓋之前的持續時間。如果秒數設為0,則會取消指定的效果。
為一位玩家手持的物品添加。受限於。
minecraft:sharpness
),可以省略命名空間(如sharpness
)。在基岩版,可以是數字(如16
)。
enchant @a 51
[僅版]
/enchant
對附魔有等級和兼容性限制,但其它指令(如/
、/
和/
)可以繞過這些限制。
使用此指令執行者的權限,以子指令設置的高級設置執行一條指令。
使用此指令執行者的權限,以其它玩家或實體的身份執行一條指令。可以添加一個/
格式的限制條件 。
以上文字的顏色是為了便於閱讀。
detect
模式可用)
minecraft:stone
)。
detect
模式可用)
-1
可匹配任意的方塊數據。
/
— 檢測一個特定位置的某個方塊(包括指定的數據標籤)
在Java版中,的快照後execute指令有較大改動,關於之前的用法,請見。
在Java版,execute後由多個子指令連接而成。子指令分為修飾子指令、條件子指令、存儲子指令和run
子指令。修飾子指令改變指令執行的方式,在特定的執行者、執行位置、執行維度和執行朝向執行指令。條件子指令用於測試特定條件是否成立。條件子指令和run
子指令同時使用時可以限制指令執行的條件,只有在特定條件成立或不成立時執行指令,否則不執行指令。存儲子指令可以將指令的結果存儲至或者或的中,也可以更改的最大值或當前值。
run
後的指令和存儲子指令之前,先處理其他子指令,故run
後的指令和存儲子指令無法影響其他子指令。
execute
指令才執行成功。只要有一個子指令失敗,指令就失敗。
以下為execute指令可連接的子指令。
x
、y
、z
的任意組合。
run
子指令使用時或者使用朝向指令時更改此指令的基準點為實體腳或眼睛的位置。
<实体>
的坐標、朝向和維度,不改變指令執行者。
<x> <y> <z>
,可以使用和。執行朝向將會是朝向該坐標。
overworld
、the_end
或the_nether
,或中的維度(若有)。
execute in the_end run locate EndCity
as
模式可用)
<实体>
所處的坐標,可以是玩家名、UUID或目標選擇器。
as
模式可用)
探測特定條件是(if
)否(unless
)成立。
<开始坐标>
到<结束坐标>
之間的區域與對應<對照區域位置>的區域內的方塊相同
<实体>
是否存在(1個或以上)。可能包括死亡的玩家,
<实体>
的<目标记分项>
的分數與<对照实体>
的<对照实体记分板项>
的分數是否符合運算符的關係。
<x> <y> <z>
,可以使用和。參見。
3
、..5
或3..5
,參見。
if
,如果條件不成立則指令失敗。
unless
,如果條件成立則指令失敗。
run
之後的指令不須用/
開頭。
將指令結果儲存於、實體數據、方塊數據或者boss欄中。
AffectedItems
—返回受指令影響的物品的數量。
store success
將會記錄這個指令執行的成功次數。此數值通常會是0
或1
, 但如果此指令分開被每個實體執行(像是as @a
)那麼其成功數也就大於1
了。
SuccessCount
— 返回一個指令成功執行的次數。
success
為0
)時,result
也將為0
。
<实体>
的<目标记分项>
分數里。
/ merge entity
一樣,不能修改玩家的數據。
实体
、目标记分项
、路径
或boss欄id
不存在時指令失敗
以上文字的顏色是為了便於閱讀。
|
用特定方塊填充一個區域的全部或部分。
replace
參數時的語法:
以上文字的顏色是為了便於閱讀。
方塊(基岩版:方塊:方塊)
數據:整數[僅版](可選)
指定用於填充方塊的方塊數據。必須在0到15間(含)。
destroy
- 用指定方塊替換填充區域內所有方塊(包括空氣),原有方塊視為被無附魔的鑽石或採掘而掉落對應的實體形式。(只能被採集的方塊,如,不會掉落;流體方塊同理。)
hollow
- 僅用指定方塊替換填充區域外層的方塊。內部方塊被替換為空氣,掉落被替換方塊可能擁有的內容物,但方塊自身不會掉落。若被填充的區域沒有內部(長、寬、高至少一個不足3方格)時,與replace
效果相似。
keep
- 僅用指定方塊替換填充區域內的空氣方塊。
outline
- 僅用指定方塊替換填充區域外層的方塊。內部方塊不受影響。若被填充的區域沒有內部(長、寬、高至少一個不足3方格)時,與replace
效果相似。
replace
- 用指定方塊替換填充區域內所有方塊(包括空氣),而不以實體形式掉落被替換的方塊和方塊內容物。可選地,不指定替換後方塊的數據標籤,而是指定方塊ID和數據值,用於限制被替換的方塊類型(見下替換方塊名和替換方塊數據)
replace
。
條目中某些信息已經不符合當前版本情況。 |
survival
(在基岩版可簡寫為s
或0
)為
creative
(在基岩版可簡寫為c
或1
)為
adventure
(在基岩版可簡寫為a
或2
)為
設置或查詢一條遊戲規則。
true
或false
指定方案集的遊戲規則會真正影響遊戲玩法,除maxEntityCramming
、randomTickSpeed
和spawnRadius
以外,任何0或以上的整數都會影響遊戲玩法(見下方案集遊戲規則)。
minecraft:iron_shovel
),或為一個存在物品形態的有效的。不支持數字ID。
1
。
/ @s minecraft:iron_sword 5
會給予1組5把鐵劍,但正常情況下鐵劍應為1組1把。一組最少1個物品、最多64個物品的限制仍然有效。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。