Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
註冊
Advertisement
Jeb twitter

這種方塊將可以透過紅石訊號控制來執行命令。使用恰當的命令,即可編寫很多東西。

——Jeb對命令方塊的介紹[1]

命令方塊(Command Block)是一種用於執行命令方塊,只能透過作弊獲得,常用於多人伺服器與自訂地圖中。

生成[]

命令方塊不會生成在世界中。

取得[]

命令方塊的物品形式只能透過創造模式物品欄[僅Java版]創造模式中使用選取方塊/give @s minecraft:command_block命令獲得,也可用/setblock等命令放置。

Java版中,就像其他的方塊實體一樣,命令方塊有對應的方塊實體,能夠儲存NBT數據,使用Ctrl + 選取方塊會複製命令方塊內的命令和設定。這允許它被放置在別的地方時無須重新輸入裏面的數據。

破壞[]

命令方塊不能被挖掘破壞。

命令方塊被破壞後不會跌落。

權限等級不足2[僅Java版]1[僅基岩版]的玩家,即使處於創造模式也不能破壞命令方塊。

用途[]

命令方塊可以被紅石訊號開啟。此項沒有權限限制,可以被一些通常情況不能使用命令的玩家執行一個特定的命令(比如,允許所有人透過/give獲得一件特定的物品,而不是讓他們用/give獲得任何他們想要的東西)。

命令方塊會擁有朝向(facing),決定哪個連環型命令方塊會受到感應,「有條件」模式的命令方塊會受哪個命令方塊控制。

要執行命令,在Java版中,多人遊戲server.properties檔案中的enable-command-block必須設定為true(預設為false);在基岩版中,必須啟用選項中的「命令方塊已開啟」。

命令方塊的權限等級為2[僅Java版]1[僅基岩版],不能執行需要更高權限等級的命令。

玩家無法在生存模式下打開命令方塊的互動界面並修改其內容。

命令方塊不能在生存模式中或以非管理員身份破壞,不能被點燃,有和基岩一樣的爆炸抗性。命令方塊不能被活塞推動。

設定[]

Command Block GUI

Java版命令方塊GUI

要輸入或修改命令,對命令方塊點擊使用鍵以打開命令方塊GUI(圖形用户界面)。GUI只會在玩家處於創造模式,擁有相關權限才會打開。在單人遊戲裏,玩家必須處於創造模式並啟動了作弊功能才可以編輯命令方塊。在多人遊戲中,只能由創造模式中的管理員所編輯。為了使命令方塊能工作,以下在server.properties的配置必須設定為:

  • enable-command-block必須為true
  • op-permission-level必須為2及以上(預設為4)
Bedrock Command Block GUI

基岩版命令方塊GUI

Java版中,在單人遊戲中打開GUI會暫停遊戲。

控制台命令
命令可被輸入到第一個文字框。命令方塊的命令長度限定在32,500個字元以內,但這個文字框一次只能顯示其中的一小段。按Tab ↹可以補全命令且循環代入可選項。
命令方塊內的命令可以加斜槓前綴(/),就像在聊天框使用時的那樣,但這不是必需的。
在命令文字框下是一些如何使用目標選擇器的小提示。[僅基岩版]
上一個輸出
下方的文字框顯示上一個命令的輸出(執行成功或失敗)。起初它是空白的[僅JE] - [僅BE]。這裏的文字無法編輯。
文字框右邊[僅JE]或左邊[僅BE]的按鈕控制上一個輸出是否儲存並顯示。它設定為輸出時將顯示為O[僅JE]或開關打開[僅BE](預設),設定為隱藏時將顯示為X[僅JE]或開關關閉[僅BE]。當世界中有很多命令方塊,尤其是電路高速運轉時,不顯示輸出可以減少記憶體使用以處理很多請求。
脈衝/重複/連環
點擊「脈衝/重複/連環」按鈕可變更命令方塊類型。預設為「脈衝」,但非預設類型的命令方塊也能被放置。命令方塊改變類型時也會改變顏色:
  • 脈衝型命令方塊是橙色的。這種方塊是「標準」的命令方塊,啟動一次執行一次命令。
  • 連環型命令方塊是綠色的。這種方塊只在指向它的方塊執行命令時才會執行命令。指向它的命令方塊不必是連環型命令方塊。
  • 重複型命令方塊是紫色的。這種方塊被啟動時每一遊戲刻都執行一次命令。
有條件/無條件
Command block textures

上方:「無條件」模式的命令方塊
下方:「有條件」模式的命令方塊

點擊「有條件/無條件」按鈕來改變命令方塊的條件制約行為:
  • 「有條件」:只有當背後的命令方塊成功執行命令時才會執行命令(「背後」的意思是該命令方塊上箭頭指向的反方向,無視連鎖方向)。
  • 「無條件」(預設):無論背後的命令方塊是否成功執行命令,該命令方塊都會正常執行命令。
保持激活/需要紅石
點擊「保持激活/需要紅石」按鈕改變命令方塊的開啟需求條件:
  • 「需要紅石」(脈衝型命令方塊和重複型命令方塊的預設設定):命令方塊必須像紅石機械一樣啟動才能執行命令。
  • 「保持激活」(連環型命令方塊的預設設定):命令方塊在沒有紅石訊號時也會保持為開啟狀態 。連環型命令方塊將在感應後執行命令,重複型命令方塊將在每一遊戲刻執行一次命令(每秒20次),脈衝型命令方塊在設定完畢後將立即啟動,此後使用/clone複製或放置帶有NBT的命令方塊才可以再次啟動。
執行第一個已選項[原文如此][2][僅基岩版]
指定重複型命令方塊是否在啟動後立即執行其命令。如果已停用,則從啟動時起延遲後第一次執行。
已選項中的延遲[原文如此][3][僅基岩版]
對於脈衝型命令方塊和連環型命令方塊,指定在被啟動或觸發後,執行命令之前延遲的遊戲刻。對於重複型命令方塊,指定其重新執行命令所延遲的遊戲刻。對於脈衝型命令方塊和重複型命令方塊,延遲設定為0和1的效果相同,遊戲將把0視為1。但是,對於連環型命令方塊,0和1是不同的。當被設定延遲的命令方塊被破壞,未執行的命令將不會執行。
懸浮文字[僅基岩版]
指定命令方塊的名稱,當你指向該方塊時可以看到它。它也用於訊息命令。如果命令方塊有在鐵砧中命名,將採用此名稱。如果為空,則預設為!
完成
點擊「完成」按鈕或按↵ Enter以儲存命令並退出命令方塊GUI。[僅Java版]
點擊「關閉」按鈕或按Esc以儲存並退出命令方塊GUI。[僅基岩版]
取消
點擊「取消」按鈕或按Esc[僅Java版]會在不儲存任何修改的情況下退出命令方塊GUI。

啟動[]

當處於「需要紅石」模式下,命令方塊屬於紅石元件且能由以下物件啟動:

處於「保持激活」的命令方塊將一直被啟動。

命令方塊有1遊戲刻的延遲,當它受到上升沿時將在1遊戲刻後做出反應(啟動或撤銷啟動)。

當被啟動時,命令方塊將嘗試執行它的命令。啟動後的動作將取決於命令方塊的類型:

  • 脈衝型命令方塊會在剛啟動時嘗試執行命令一次。
  • 連環型命令方塊將在指向它的命令方塊執行命令後才會執行命令。
  • 重複型命令方塊將會在每個遊戲刻都嘗試執行一次命令直到不再被啟動為止。

連鎖執行[]

如果一個指向連環型命令方塊的命令方塊被啟動了,它將向該方塊發出準備執行命令的訊號。連環型命令方塊只有在被啟動開啟時(在「條件制約」模式下還要在它所指向方向的反方向的命令方塊成功執行命令時)才會執行命令。不管這個連環型命令方塊方塊是否執行命令,只要指向另一個連環型命令方塊,它也同樣會發送出準備執行命令的訊號。

連鎖中的方塊將在同一遊戲刻執行命令。連鎖執行的訊號無法傳遞給一個已經在這個遊戲刻執行過命令的方塊。遊戲規則maxCommandChainLength決定了連環型命令方塊能連鎖執行的總數量,預設為65536。

輸出[]

當啟動時,命令方塊可以有幾種不同類型的輸出:

成功次數
命令方塊可以啟動背對它的紅石比較器(兩者可以被一個固體方塊隔着),強度等於命令方塊的成功次數。成功次數是0到2,147,483,647(含)之間的整數。
訊號強度總是反映命令方塊最後一次執行的結果,即便命令方塊取消啟動。
Java版中,成功次數通常是0或1,除了/function/execute。在基岩版中,成功次數通常與命令有關(例如,被命令所影響的玩家數,改變的方塊數,命令的回傳值)。
Java版中,點擊「完成」按鈕或按下↵ Enter退出GUI時,會將成功次數重設為0,無論是否作出修改。在基岩版中,在有變更的情況下退出GUI會將成功次數設為0。
訊息
輸出訊息描述執行命令的成功與否,會有幾種輸出位置:
上一個輸出:輸出訊息都會寫入命令方塊GUI的「上一個輸出」文字框裏。
聊天框:輸出資訊將在單人模式下或多人模式下對所有管理員寫入聊天框,除非已經用/gamerule commandBlockOutput false關閉。一些命令可能會在聊天框寫入其正常工作時的附帶文字,這不會被攔截。(比如,/say命令將在所有玩家的聊天框寫入訊息)。帶有執行者的名字作為前綴的聊天資訊(比如命令/me/say/tell)會使用@[僅Java版]/![僅基岩版]作為執行者名字。如果命令方塊在放置前已經被命名過,那麼就使用這個名字。
日誌:輸出資訊會寫入到多人遊戲伺服器日誌,除非使用/gamerule logAdminCommands false關閉。

備註[]

以下命令不能在命令方塊中使用:/ban/banlist/ban-ip/debug/deop/kick[僅Java版]/op/pardon/pardon-ip/publish/reload[僅基岩版]/save-all/save-off/save-on/stop/whitelist(也就是/debug/publish和所有除了/list外的多人遊戲命令)。

以下命令可以使用但功能受限(它們的輸出只會在命令方塊的「上一個輸出」文字框顯示而不是聊天框):/help/seed/list/scoreboard objectives/scoreboard players/team list

以下命令會在輸出中用到命令方塊的名字(預設為@[僅Java版]![僅基岩版]):/me/say/tell

彩蛋[]

主條目:彩蛋§Searge

在命令方塊中不加「/」執行命令「Searge」會把上一個輸出設為「#itzlipofutzli」。

音效[]

Java版

字幕字幕分類描述命名空間ID音高
方塊被破壞方塊破壞方塊block.metal.breaksubtitles.block.generic.break
[音效 1]玩家帶有墜落傷害時墜落在方塊上block.metal.fall[音效 1]
方塊正在損壞方塊挖掘方塊block.metal.hitsubtitles.block.generic.hit
方塊被放置方塊放置方塊block.metal.placesubtitles.block.generic.place
腳步聲玩家在方塊上行走block.metal.stepsubtitles.block.generic.footsteps

基岩版

字幕分類描述命名空間ID系統音效類型音高音量衰減距離預載
-方塊方塊作為物品使用時發出的音效use.anvilitem.use.on2.0 1.8 16
方塊破壞方塊dig.stonebreak2.0 1.65-1.8 16
方塊挖掘方塊hit.stonehit0.31.125 16
方塊放置方塊dig.stoneplace2.0 1.8-1.875 16
玩家帶有墜落傷害時墜落在方塊上fall.stonefall0.41.5 16
玩家在方塊上行走step.stonestep0.351.5 16
方塊在方塊上跳躍jump.stonejump0.121.5 16
方塊在方塊上着陸land.stoneland0.221.5 16

數據值[]

命令方塊擁有ID名稱minecraft:command_block並在方塊數據方塊實體中有更深的定位。命令方塊也有 方塊狀態旨在未來的版本中取代方塊數據,

ID[]

Java版

名稱命名空間ID方塊標籤JE本地化鍵名
命令方塊command_blockdragon_immune
wither_immune
block.minecraft.command_block
連環型命令方塊chain_command_blockblock.minecraft.chain_command_block
重複型命令方塊repeating_command_blockblock.minecraft.repeating_command_block
名稱命名空間ID
方塊實體command_block

基岩版

名稱命名空間ID數字ID 本地化鍵名
命令方塊command_block137tile.command_block.name
連環型命令方塊chain_command_block189tile.chain_command_block.name
重複型命令方塊repeating_command_block188tile.repeating_command_block.name
名稱存檔ID
方塊實體command_block

方塊數據[]

基岩版中,命令方塊的方塊數據用於確定方塊朝向與條件制約模式:

位元 數值
0x1
0x2
0x4

3個位元的空間儲存了命令方塊的朝向

  • 0: 朝下
  • 1: 朝上
  • 2: 朝北
  • 3: 朝南
  • 4: 朝西
  • 5: 朝東

6 和 7 未被使用但會造成命令方塊分別朝下和朝上

0x8 決定該方塊的條件制約狀態

方塊狀態[]

參見:方塊狀態

Java版

名稱 預設值 接受值 描述
conditionalfalsetrue
false
當命令方塊為條件制約模式時為「true」
facingnorthnorth
south
east
west
up
down
命令方塊的朝向

基岩版

名稱對應的附加值位 預設值 接受值附加值位的值 描述
conditional_bit0x8falsefalse
true
0
1
當命令方塊為條件制約模式時為「true」
facing_direction0x1
0x2
0x4
00
1
2
3
4
5
0
1
2
3
4
5
命令方塊的朝向
  • 0:朝下
  • 1:朝上
  • 2:朝北
  • 3:朝南
  • 4:朝西
  • 5:朝東

方塊實體[]

Java版

  • 方塊實體數據
    • 方塊實體共通標籤
    •  auto:表示此命令方塊是否保持開啟。
    •  Command:命令方塊中的命令。
    •  conditionMet:表示受條件制約的命令方塊是否滿足條件。如果此命令方塊不受制約,此值為true
    •  CustomName:表示目前命令方塊名稱的JSON文字,預設為「@」。
    •  LastOutput:上一條命令的輸出,是一個JSON文字。遊戲規則commandBlockOutputfalse時依舊會儲存。當 TrackOutputfalse時不存在。
    •  LastExecution:上一條命令執行的時間戳。當 UpdateLastExecutionfalse時不存在。
    •  powered:表示命令方塊是否已被啟動。
    •  SuccessCount:表示用紅石比較器輸出的模擬訊號強度。只在命令方塊啟動後更新。
    •  TrackOutput:表示是否儲存上一條命令的輸出。可以在GUI中點擊"上一個輸出"文字框旁的按鈕進行開關。按鈕上的標誌指示出目前的狀態:O為true,X為false
    •  UpdateLastExecution:表示是否儲存上一條命令執行的時間戳。

基岩版

  • 方塊實體數據
    • 方塊實體共通標籤
    •  Command:命令方塊內的命令。
    •  Version:數據版本。
    •  SuccessCount:成功次數,表示紅石比較器輸出的訊號強度。
    •  CustomName:命令方塊的自訂名稱,顯示在方塊頂部以及GUI內。
    •  LastOutput:由命令方塊最新的一行輸出的本地化鍵名。在遊戲規則commandBlockOutput被設定為false時仍會儲存。在命令方塊的GUI中顯示。
    •  LastOutputParams:輸出的本地化字串的參數列表。
      • :具體參數。
    •  TrackOutput:用於決定是否儲存LastOutput。可以在命令方塊UI內的「上一個輸出」旁邊的按鈕進行控制。
    •  LastExecution:儲存命令方塊最後一次執行命令的時間。
    •  TickDelay:執行每次命令的間隔時間(刻)。
    •  ExecuteOnFirstTick:在儲存或啟動後在首個刻執行命令時為true。

命令方塊有包含方塊附加數據的方塊實體。方塊的方塊實體ID為command_block

歷史[]

Java版
2012年7月27日Jeb開始發一些關於擴展生存模式的新方塊的推文。他開始推送一些圖片,想法和方塊將來用法的線索。
2012年7月31日Notch在他的AMA中暗示這個方塊會在1.4中出現。
1.4.212w32aImpulse Command Block Revision 1 加入了命令方塊。
1.513w03a命令方塊的成功執行可用紅石比較器輸出訊號。
13w04a鐵砧重新命名的命令方塊在聊天框中會用其名字代替@
1.6.113w19a命令方塊在生存模式中不再可破壞,也不會在爆炸中破壞,但藍色的凋零頭顱除外。
1.7.213w37a加入了一個顯示上一個輸出的框。
增加遊戲內輸入命令的字元限制從256到16,369。使用第三方編輯器可以達到32767個字元。
1.814w07a發射器會放置命令方塊,而不是發射它。
14w20a移除了遊戲內16369的字元限制,允許達到最高的32767個字元。
14w27a加入了CommandStatsNBT標籤。
1.8.6發射器不再放置命令方塊。[4]
1.915w34aChain Command Block Revision 1Repeating Command Block Revision 1 加入了連環型命令方塊和重複型命令方塊。
加入了方塊朝向。
Impulse Command Block Revision 2 變更了命令方塊紋理。
15w34b加入了條件制約模式。
15w35aImpulse Command Block Revision 3Chain Command Block Revision 2Repeating Command Block Revision 2 變更了所有命令方塊的紋理。
加入了保持開啟和紅石控制選項。加入了autoNBT標籤負責控制此項。
設定為條件制約模式後,命令方塊箭頭尾部會彎曲。
15w36a不能使用像/give這類命令的玩家不再能放置命令方塊。
15w36d不同類型的命令方塊現在在地圖上將顯示不同的顏色。
16w02a現在在命令方塊中執行/help將隨機使用各種不同的幽默短語作為上一個輸出。
16w04a在命令方塊中不帶「/」將「Searge」作為命令執行,輸出會變成「#itzlipofutzli」。
1.1116w32a方塊實體ID由Control變更為command_block
1.1217w16a連環型命令方塊不再安排命令鏈中的命令在下一刻執行了,現在這些命令會在被讀取後的同一刻執行。這使之後放置的方塊可以經由之前放置的方塊被修改,由此可以在一個遊戲刻內實現分支、循環等手法。
加入了遊戲規則maxCommandChainLength以決定連環型命令方塊執行的限度。
17w17a加入了NBT標籤UpdateLastExecutionLastExecution,可以控制對儲存連環型命令方塊最後執行的那一刻的跟蹤。
pre6命令方塊中使用Tab鍵來自動補全的命令名稱不再加入/前綴。
1.1317w47a平坦化之前,命令方塊、循環型、連環型命令方塊的數字ID分別為137、210、211。
pre1玩家現在可以重新用Tab ↹補全命令了。
1.1418w43aImpulse Command Block TextureUpdate Revision 1Chain Command BlockRepeating Command Block TextureUpdate Revision 1 變更了所有命令方塊的紋理。
18w47bImpulse Command BlockRepeating Command Block 變更了脈衝型和重複型命令方塊的紋理。
1.19.322w44a現在所有種類的命令方塊均可從創造模式物品欄中取得。
攜帶版
1.0.51.0.5.0Impulse Command Block Revision 3Chain Command Block Revision 2Repeating Command Block Revision 2 加入了所有種類的命令方塊。
基岩版
1.8.01.8.0.8命令方塊現在的預設名稱為!而不是@
1.10.01.10.0.3Impulse Command BlockChain Command BlockRepeating Command Block 變更了紋理。
1.12.01.12.0.2加入了自動完成功能。
加入了延遲選項。
原主機版
TU19CU71.12Patch 1 Impulse Command Block Revision 2 加入了命令方塊。
命令方塊沒有任何功能。

畫廊[]

參考[]

語言

Advertisement