Minecraft/命令
- 歡迎正在閱讀這個條目的您協助編輯本條目,請儘量用萌百化的語言編輯且以中文Minecraft Wiki作為主要參考資料來源!
新聞
- 2023年4月18日
- Minecraft Legends發佈。
- 2022年11月29日
- Minecraft: Castle Redstone發佈。
- 2022年11月1日
- Minecraft: Mob Squad: Don't Fear the Creeper發佈。
- 2022年10月15日
- Minecraft Live 2022舉行。
- 2022年6月13日
- Mojang Studios宣佈了一款Minecraft主題的動作策略遊戲Minecraft Legends。
最近更新
- 2023年6月7日
- Java版1.20和基岩版1.20.0發佈。
- 2023年5月17日
- 基岩版1.19.83發佈。
- 2023年4月27-28日
- 基岩版1.19.81發佈。
- 2023年4月26日
- 基岩版1.19.80發佈。
- 2023年3月29-30日
- 基岩版1.19.73發佈。
另請編輯者注意:請不要在人物歷程等相關內容中懸掛此模板。具體使用方法詳見模板說明文檔。
命令(Command)是通過輸入特定文本字符串而激活的高級濫權功能。
其可以用於改變世界參數,達成修改天氣、時間、遊戲模式、遊戲規則等各種在未開啟作弊時無法達成的事情。
它和紅石電路一樣,本身也是Minecraft有別於其它沙盒遊戲中最優秀與突出的元素之一。但跟紅石電路不同的是,它只有打開作弊選項才可任意使用,紅石電路則在任何模式都可以運行。
使用命令的方法
第一種
直接輸入法:在打開作弊模式的前提下按「T」或「/」調出對話欄以輸入命令,同時會出現提示大不了你按照提示一個一個試在命令未輸完整的情況下按TAB鍵可以循環補全命令,也可以補全參數,和輸入準星指向方塊的坐標,在Java版輸入實體參數時,如果準星指向某個實體,則可以直接輸入其UUID。
在多人伺服器的軟件後台也有可以輸入命令的終端。在這裏輸入命令時不能輸入「/」。
第二種
命令方塊法:在打開作弊模式的前提下輸入/give @p minecraft:command_block
來獲取一個命令方塊(值得注意的是命令方塊只有在創造模式且擁有管理員權限才能輸入命令)。對着已放置的命令方塊按下使用鍵以打開命令方塊GUI然後可以在命令輸入區輸入命令(在其中輸入命令時可以省略斜槓「/」)。然後保存你的更改,在命令方塊的模式為紅石控制時用紅石激活等方式激活它,命令執行的反饋會在gui內的「上一個執行」處顯示,執行成功的情況下,會使指,向該方塊(箭頭背向該方塊)的模式為的「條件約束」的「保持開啟」得循環或鏈命令方塊被激活,輸入端指向該方塊的比較器按執行情況輸出相應的紅石信號(如在有13個玩家的多人遊戲中用命令方塊執行指令list,比較器輸出的紅石信號為13)。在普通遊戲中需要開啟「enablecommandblock」開啟。在伺服器中,還需要配修改配置文件將命令方塊啟用[僅Java版]或將遊戲規則「enablecommandblock」打開[僅基岩版]
第三
文件腳本法[僅Java版、基岩版]:Minecraft遊戲原生提供了一種被稱為函數的命令腳本功能,可以以文件形式批量儲存和自動化運行命令。這一功能的出現使得MC又多了一個編程遊戲的名號。函數需要以擴展名為.mcfunction
的文本文件儲存。文件中的每一行文本都是一條命令。空行或者以「#」符號開頭的註釋不會被解析。
在通過數據包[僅Java版]或行為包[僅基岩版]的形式將函數文件導入遊戲後,你可以通過/function 函数名
命令來調用函數
第四種
遠程執行法:與直接輸入法類似,不同的是這是通過rcon或websocket[僅基岩版、教育版]來實現的。實現這種辦法需要你有一個rcon客戶端或websocket服務端,不同點:rcon只能在服務端上啟用,且需要密碼,因此如果服務端開啟了rcon且密碼泄露或密碼十分簡單,將會十分危險,websocket只能在基岩版上使用,並且連接需要開遊戲客戶端主動連接到websocket伺服器,相對安全。rcon執行指令時執行者顯示的是[RCON],而websocket顯示為[外部]。通過這兩種方式可以在純原版的情況下做到通過記分板將外部標準時間同步到遊戲中同步群內消息,顯示新聞等純原版不可能做到的事情。這些程序一般需要自己編寫真就編程遊戲了。
絕對坐標、相對坐標和局部坐標
Minecraft中實行三種坐標參考系。世界坐標被視為絕對坐標,在遊戲中默認按下F3鍵調出調試界面(Debug screen),在左上角即可查看絕對坐標,順序為X、Y、Z。例如56 37 -28
表示你在這個世界的絕對坐標。(腿部位置)
相對坐標使用波浪號(~)表示。其以絕對坐標為偏移量。表示方法為在~後面跟一個數字,此數字稱為偏移量。例如~7 ~ ~-5
表示在當前絕對坐標處,x軸方向上增加7,z軸方向上減少5,y軸方向上不變,~為~0的省略形式。
局部坐標使用插入符(^)表示。其以命令執行者頭部為基準,並在包括頭部的傾斜角度下分別指向左、上、前方為坐標軸的正方向。表現方法同相對坐標。
一般來說,絕對坐標可以和相對坐標混用,例如37 ~10 -89
。但局部坐標只能獨立使用,不可以和另外兩種坐標混用。
目標選擇器
目標選擇器在命令中用於選擇目標實體。
目標選擇器變量
共有7種,其中有2種為教育版特有。
@p
:
選擇最近玩家,基準點為~ ~ ~
。
@r
:
選擇隨機玩家。在基岩版中,可以使用type
參數來選擇非玩家實體。但在Java版中,type
參數不適用於@r
;要選擇隨機的實體,請使用@e[sort=random,limit=1]
代替。
@a
:
選擇所有玩家,包括處於死亡狀態的。
@e
:
選擇所有實體,包括玩家。
@s
:
選擇此命令的執行者。若執行命令的是命令方塊,則不會選中任何實體。
@c
[僅教育版]:
選擇自己的智能體。
@v
[僅教育版]:
選擇所有智能體。
目標選擇器參數
格式為目標選擇器變量後緊跟着一對方括號,方括號中間輸入目標選擇器參數,後接等於號,等於號後面接參數,可以在等於號後加感嘆號來表示不等於。
例子:@e[type=!player]
以下為目標選擇器參數匯總:
有關坐標
x
、y
、z
:坐標。可以加在@p後面以確定新的基準點。
dx
、dy
、dz
:體積尺寸。用以選擇範圍。
distance
[僅Java版];r
、rm
[僅基岩版]:距離。用以選擇範圍。
有關計分板參數
scores
:該實體在某一記分板的分數列表,以大括號包裹,列表內每項滿足<记分项>=<最小值>[..[<最大值>]]
的格式,表示分數是否等於某值,或處於某左開右閉/左閉右開/閉區間內(即包括最大/最小值)。等於號後可加感嘆號!
表示以整數集為全集的對應集合的補集。例如@e[scores={mark=5,death=1..,xp=..10,kills=!3..6}]
會選擇同時滿足mark
分數等於5、death
分數大於等於1、xp
分數小於等於10、kills
分數小於3或大於6的所有實體。
team
[僅Java版]:隊伍。
其他
limit
[僅Java版]:數量。limit=5
表示5個。
sort
[僅Java版]:決定limit
的排序方式,分為nearest
按距離升序,furthest
按距離降序,arbitrary
按生成時間由早到晚排序,random
隨機排序。
c
[僅基岩版]:上面兩條的結合版,c=1
表示最近一個,c=-3
表示最遠三個。
level
[僅Java版];l
、lm
:經驗等級。
gamemode
[僅Java版];m
[僅基岩版]:遊戲模式。
type
:實體類型。
nbt
[僅Java版]:實體數據標籤。
name
:實體名稱。
advancement
[僅Java版]:進度。
x_rotation
、y_rotation
[僅Java版];rx
、rxm
、ry
、rym
[僅基岩版]:水平、垂直旋轉角度。
數據標籤
數據標籤是一種樹狀數據結構,可以被用花括號包含的鍵值對描述。數據標籤用於Java版的命令中,用於指定玩家、實體和一些方塊的較為複雜的數據。
數據標籤由零個或多個用逗號分隔的鍵值對組成,且本身用大括號括住。每個鍵值對包含鍵名和鍵值,用冒號分開。但是,有些鍵值可以繼續包含鍵值對,因此數據標籤可以用來描述層次結構。
例: {name1:123,name2:"sometext",name3:{subname1:456,subname2:789}}
這些數據標籤所採用的數據結構與Minecraft世界存檔相同。這種數據結構在其他條目中有詳細描述。命令使用的數據標籤中鍵名有嚴格的限定(區分大小寫):
數據結構規範連結
對象 | 例子 |
---|---|
方塊 | 箱子、熔爐、命令方塊、刷怪蛋、告示牌等 |
物品 | 物品欄中的物品 (包括附魔、自定義名稱等) |
物品實體 | 在地上的物品 |
生物 | 苦力怕、牛、村民等 |
彈射物 | 弓箭、火球、噴濺藥水等 |
交通工具 | 船、礦車等 |
動態方塊 | 引燃的TNT、正在掉落的沙子、砂礫、鐵砧 |
其他實體 | 煙花火箭、畫和物品展示框 |
指定鍵名的鍵值也必須符合數據類型要求。
數據標籤鍵值數據類型 這部分內容超綱了!如果你是萌新的話,根本不需要了解辣麼多!
類型 | 說明 |
---|---|
字節(byte) | 介於-128和127之間(包含)的整數。 |
短整型(short) | 介於-32768和32767之間(包含)的整數。 |
整型(int) | 介於-2147483648和2147483647之間(包含)的整數。 |
長整型(long) | 介於-9,223,372,036,854,775,808和9,223,372,036,854,775,807之間(包含)的整數。 |
單精度浮點型(float) 雙精度浮點型(double) |
Float: 32位單精度浮點數,介於-3.4E+38和+3.4E+38之間。 例: Double: 64位雙精度浮點數,介於-1.7E+308和+1.7E+308之間。 例: |
字符串(string) | 一串字符,如果內容包含不在 a-z A-Z 0-9 _ .(不包括空格)的字符則需要在整個字符串前後加上雙引號。\可以將後面的字符轉義(支持像json那樣\u00a7這樣的轉義)。轉義方式為,在"及\號前加上\。
例: |
列表(list) | 值的序列,用逗號分隔並用方括號包含。所有值的數據類型必須統一——數據類型標準由列表的第一個元素決定。
例: |
複合標籤(compound) | 鍵值對的序列,用逗號分隔並用花括號包含。
例: 複合標籤裏面可以包含任何標籤。 |
字節數組(byte-array) | 介於-128和127(包含)之間的整數序列,用逗號分隔內容並用方括號包含,首個元素前方需要加入類型標識B;。
例: |
整型數組(int-array) | 介於-2,147,483,648和2,147,483,647(包含)之間的整數序列,用逗號分隔內容並用方括號包含,首個元素前方需要加入類型標識I;。
例: |
長整型數組(int-array) | 介於-9,223,372,036,854,775,808和9,223,372,036,854,775,807(包含)之間的整數序列,用逗號分隔內容並用方括號包含,首個元素前方需要加入類型標識L;。
例: |
布爾型(boolean) | 一種數據類型,只有「true」和「false」兩種取值。由於程序通常使用 字節存儲布爾值,布爾型只會在JSON格式中出現。在NBT中,true和false相當於1和0。
例: |
某些命令要求明確指明某些數值的數據類型,這可以通過在數值後附加限定字符(B、S、L、F、D)來實現。舉例來說,3s
表示短整型,3.2f
表示單精度浮點,等等。(字符I不能限定整型。)限定字符不區分大小寫。在不加限定字符,且Minecraft無法根據上下文來確定數據類型或需要比對數據標籤時,會將數據類型假定為雙精度浮點型(數值有小數部分時)、整型(數值沒有小數點,且在整型取值範圍內)或字符串(若前述情況均不符合)。被方括號包含的集合中,被逗號分隔的元素若全為整型,則會將數據類型假定為整型數組(如[I;1,2,3]
是一個整型數組,[L;1L,2L,3L]
是一個長整型數組);否則會假定為列表。但有以下特例:[]
是一個空列表,而[,]
是一個空整型數組。
如果用/testfor
、/testforblock
、/clear
等命令來查找數據標籤,這些命令只會檢查目標實體/方塊/物品是否存在此標籤。這意味着一個符合條件的實體/方塊/物品可能同時還擁有其他標籤。這對列表和數組同樣成立:只要列表或數組中包含待查找的所有元素,就會成功匹配,既不考慮元素的排列順序,也不考慮是否有多餘的元素存在。
數據標籤的數據結構是JSON的lenient形式。
比較常用的命令
/gamemode creative
、/gamemode survival
、/gamemode adventure
、/gamemode spectator(或/gamemode sp)
三者按照順序分別是將遊戲模式設為創造、生存、冒險或旁觀者模式(此為1.13以上,1.13以下分別為/gamemode 1
、/gamemode 0
、/gamemode 2
、/gamemode 3
在1.8版本(不含1.8)以下是不存在旁觀者模式的)。
/weather clear
或/weather rain
或/weather thunder
三者按照順序分別是將遊戲天氣設為晴朗,下雨,雷雨。
/kill @a
和/kill @e
以及/kill
這三個命令的效果分別是殺死所有玩家,殺死/清除所有實體,自殺。
/locate <结构名称>
命令效果為獲得離自己最近的指定建築[1]的坐標。<结构名称>
處填寫你想要找的指定建築。例如村莊為village
,叢林神殿(或沙漠神殿、女巫小屋、雪屋)為temple
。基岩版對着提示一個一個試就行了,反正特殊建築也沒有幾種(笑)
/tp @s <坐标>
為將自己傳送到指定坐標處。搭配/locate
食用。locate的坐標是不帶y坐標的,自己填一個就好。填大了:史蒂夫落地過猛;填小了:史蒂夫掉出了這個世界或卡在方塊里窒息。建議填65左右。
命令列表及用法
以下列出Minecraft原版所帶有的命令 (Minecraft Wiki正在向你招手)
單人遊戲
說明:下面的表格中,"WS"指該指令只能在WebSocket伺服器的控制台中執行。
命令 | 功能 | Java版 | 基岩版 | 教育版 |
---|---|---|---|---|
/help(/?) | 提供命令使用幫助。 | 是 | 是 | 是 |
/ability | 賦予或剝奪玩家的能力。 | 已移除 | 否 | 是 |
/advancement | 給予或移除玩家的進度。 | 是 | 否 | 否 |
/agent | 創建一個智能體。 | 否 | WS | WS |
/bossbar | 添加/查詢/設置/移除一個Boss欄或列出所有已創建的Boss欄。 | 是 | 否 | 否 |
/classroommode | 編輯受限制方塊的能力。 | 否 | 否 | 是 |
/clear | 從玩家物品欄中刪除指定物品,不帶選擇器默認清空所有格子。 | 是 | 是 | 是 |
/clone | 將特定區域的方塊複製到另一處。 | 是 | 是 | 是 |
/closechat | 關閉本地玩家打開狀態下的聊天窗口。 | 否 | WS | WS |
/closewebsocket | 斷開已連接的WebSocket伺服器。 | 否 | WS | WS |
/connect | /wsserver的替代命令,連接至WebSocket伺服器。 | 否 | 是 | 是 |
/data | 允許玩家獲取、合併或是移除實體或方塊的數據標籤。 | 是 | 否 | 否 |
/datapack | 控制加載的數據包。 | 是 | 否 | 否 |
/debug | 開始或結束調試會話。 | 是 | 否 | 否 |
/defaultgamemode | 更改默認的遊戲模式。 | 是 | 否 | 否 |
/difficulty | 設置難度等級。 | 是 | 是 | 是 |
/effect | 添加或移除狀態效果。 | 是 | 是 | 是 |
/enableencryption | 為當前WebSocket連接啟用加密。 | 否 | WS | WS |
/enchant | 附魔玩家手持的物品,受限於鐵砧機制。 | 是 | 是 | 是 |
/execute | 執行另一命令。 | 是 | 是 | 是 |
/experience | 給予玩家經驗。 | 是 | 是 | 是 |
/fill | 將某個區域填滿特定方塊。 | 是 | 是 | 是 |
/forceload | 強制不斷加載區塊。 | 是 | 否 | 否 |
/function | 運行一個函數。 | 是 | 是 | 否 |
/gamemode | 更改玩家的遊戲模式。 | 是 | 是 | 是 |
/gamerule | 更改或查詢遊戲規則的值。 | 是 | 是 | 是 |
/give | 給予玩家物品。 | 是 | 是 | 是 |
/immutableworld | 設置世界的不可變狀態。 | 否 | 是 | 否 |
/item | 替換,複製,或修改實體或容器內的物品。 | 是 | 否 | 否 |
/kill | 殺死實體(玩家、生物、掉落物等)。 | 是 | 是 | 是 |
/list | 列出伺服器中的玩家。 | 是 | 是 | 是 |
/listd | 以JSON形式列出伺服器中的玩家。 | 否 | 是 | 是 |
/locate | 顯示最近給定結構的坐標。 | 是 | 是 | 是 |
/locatebiome | 顯示最近給定生物羣落的坐標。 | 是 | 是 | 是 |
/loot | 從一個物品欄中掉落物品到地面上。 | 是 | 否 | 否 |
/me | 顯示一條關於自己的信息。 | 是 | 是 | 是 |
/mixer | Mixer交互性控制。 | 否 | 是 | 否 |
/mobevent | 控制或查詢允許運行的生物事件。 | 否 | 是 | 否 |
/msg | /tell的替代命令,向另一玩家發送私信。 | 是 | 是 | 是 |
/particle | 創建粒子效果。 | 是 | 是 | 否 |
/playsound | 播放音效。 | 是 | 是 | 是 |
/querytarget | 檢測某實體所在坐標、y旋轉角度、所在維度及專用ID。 | 否 | WS | WS |
/recipe | 給予或剝奪合成配方。 | 是 | 否 | 否 |
/reload | 從硬盤中重新加載戰利品表、進度[僅Java版]和函數[僅基岩版]。 | 是 | 是 | 否 |
/remove | 移除智能體。 | 否 | 否 | 是 |
/replaceitem | 替換物品欄中的物品。 | 已移除 | 是 | 是 |
/resupply | 村民重新補給。 | 否 | 已移除 | 否 |
/say | 向多個玩家發送消息。 | 是 | 是 | 是 |
/schedule | 安排函數或標籤在特定的遊戲刻後運行。 | 否 | 是 | 否 |
/scoreboard | 管理記分板目標、玩家、隊伍[僅Java版]與標籤。 | 是 | 是 | 否 |
/seed | 查看世界種子。 | 是 | 否 | 否 |
/setblock | 設置某一位置的方塊。 | 是 | 是 | 是 |
/setworldspawn | 設置世界出生點。 | 是 | 是 | 是 |
/spawnpoint | 設置玩家的重生點。 | 是 | 是 | 是 |
/spreadplayers | 將實體傳送至隨機位置。 | 是 | 是 | 是 |
/stopsound | 停止當前聲音。 | 是 | 是 | 是 |
/summon | 生成實體。 | 是 | 是 | 是 |
/tag | 修改玩家或實體的標籤。 | 是 | 是 | 否 |
/team | 修改隊伍。 | 是 | 否 | 否 |
/teleport | 同/tp。 | 是 | 是 | 是 |
/teammsg | 指定要發送給隊伍的消息。 | 是 | 否 | 否 |
/tell | 給另一玩家發送私信。 | 是 | 是 | 是 |
/tellraw | 向玩家顯示JSON消息。 | 是 | 是 | 否 |
/testfor | 統計符合給定條件的實體。 | 已移除 | 是 | 是 |
/testforblock | 檢測特定位置的方塊是否是某方塊 | 已移除 | 是 | 是 |
/testforblocks | 檢測兩個區域的方塊是否完全一致。 | 已移除 | 是 | 是 |
/tickingarea | 管理常加載區域。 | 否 | 是 | 是 |
/time | 設置遊戲時間。 | 是 | 是 | 是 |
/title | 向玩家顯示標題。 | 是 | 是 | 是 |
/toggledownfall | 切換天氣 | 已移除 | 是 | 是 |
/tp | 傳送玩家和實體。 | 是 | 是 | 是 |
/trigger | 設置觸發器。 | 是 | 否 | 否 |
/w | 同/tell | 是 | 是 | 是 |
/weather | 更改天氣。 | 是 | 是 | 是 |
/worldborder | 管理世界邊界。 | 是 | 否 | 否 |
/worldbuilder | 編輯受限制方塊的能力。 | 否 | 是 | 是 |
/wsserver | 連接至WebSocket伺服器。 | 否 | 是 | 是 |
/xp | 增加或減少經驗。 | 是 | 是 | 是 |
多人遊戲
說明:該列表下的命令僅允許打開了局域網開放或多人遊戲可用。且通常不能在命令方塊中執行。帶有WS標誌的命令為僅WebSocket伺服器可用。
命令 | 功能 | Java版 | 基岩版 | 教育版 |
---|---|---|---|---|
/ban | 在伺服器或多人遊戲中封禁玩家。儘管玩家的名字可以不存在或未上線。(啟用了正版驗證的伺服器將封禁玩家的UUID,未啟用正版驗證的伺服器僅封禁玩家名稱) | 是 | 否 | 否 |
/pardon | 取消封禁玩家。 | 是 | 否 | 否 |
/ban-ip | 封禁玩家的網絡ip。 | 是 | 否 | 否 |
/pardon-ip | 取消封禁玩家的網絡ip。 | 是 | 否 | 否 |
/kick | 踢出伺服器中在線的玩家。 | 是 | 是 | 否 |
/op | 給予玩家管理員權限。 | 是 | 是 | 是 |
/deop | 撤銷玩家管理員權限。 | 是 | 是 | 是 |
|