命令方塊

命令方塊

命令方塊(Command Block)又稱命令塊,是遊戲《Minecraft》里,被紅石信號激活后(在Java1.9加入了保持開啟的功能,無需紅石)能執行命令的方塊,這對冒險地圖提供了極多的功能。

自Minecraft Java快照15w35a后,命令方塊可以不再使用紅石信號便可激活。

這是一種用於執行minecraft遊戲命令的實體方塊。只能通過作弊獲得,它常用在多人伺服器與自訂地圖中。僅在創造模式下可以打開命令方塊的GUI和放置命令方塊。

另外,命令方塊的字元限制再次翻倍,並且在PE攜帶版(在1.2中與其他C++版本合併為BE基岩版)1.0.5也加入了命令方塊。命令方塊的材質也曾改變過。

正文


命令方塊可以通過選取方塊鍵或各種命令。

獲取命令方塊指令:/give minecraft:command_block 1 0
基岩版獲取指令:/give @s command_block 64
在1.8之前,物品id可用數字id,命令方塊id為137。
命令方塊
命令方塊
命令方塊不在創造模式物品欄中,不能在生存模式中或非管理員身份破壞,有和基岩一樣的爆炸抗性。命令方塊不能被活塞推動。

用途


命令方塊可以被紅石信號所開啟。此項沒有許可權限制,可以被一些通常情況不能使用命令的玩家執行一個特定的命令(比如,允許所有人通過/give獲得一件特定的物品,而不能讓他們用/give獲得任何他們想要的東西)。
在1.9及以上版本,命令方塊會擁有方向(“facing”),決定哪個連鎖方塊會受到感應,哪個"條件制約"模式的命令方塊執行命令會受其控制。

設置

要輸入或修改命令,對命令方塊點擊使用鍵以打開 命令方塊GUI(圖形用戶界面)。GUI只會在玩家處於創造模式, 擁有相關許可權才會打開。在單機遊戲里,作弊必須開啟,使得可以編輯命令方塊。在多人遊戲中,只能由創造模式中的管理員所編輯。為了使命令方塊能工作,以下在server.properties的配置必須設置為:
• enable-command-block必須為true
• op-permission-level必須為2級以上 (默認為 4)
控制台命令
• 命令可被輸入到第一個文本框。命令方塊的命令長度限定在32,500個字元以內,但這個文本框一次只能顯示其中的一小段。在1.9以上,按Tab ↹可以補全命令且循環代入可選項。
• 命令方塊內的命令前綴不強制要求加斜杠(/),可以加。
• 在控制台命令文本框下是一些如何使用目標選擇器的小提示。
上一個輸出
• 下方的文本框顯示上一個命令的輸出(成功或是失敗)。
• 文本框右邊的按鈕設置上一個輸出是顯示還是隱藏。它設置輸出將顯示時為O(默認),將隱藏時為X。當世界中有很多命令方塊,尤其是電路高速運轉時,不顯示輸出可以減少內存使用以處理很多請求。
脈衝/循環/連鎖(1.9)
• 點擊"脈衝/連鎖/循環"按鈕可更改命令方塊類型。默認為“脈衝”,但非默認類型的命令方塊也能被放置。命令方塊改變類型時也會改變顏色:
• “脈衝”方塊是橙色的。
• “連鎖”方塊是綠色的。
• “循環”方塊是紫色的。
命令方塊
命令方塊
條件制約/不受制約(1.9+)
• 點擊“條件制約/不受制約”按鈕來改變命令方塊的條件制約行為
• “條件制約”: 命令方塊只有在背後的命令方塊成功滿足條件且已執行命令時才會執行命令 ("背後" 的意思是命令方塊前指的對立方向,無視連鎖方向,甚至連鎖已被佔用也一樣)。
• “不受制約”(默認): 命令方塊將忽略背後的方塊。
保持開啟/紅石控制(1.9+)
• 點擊“保持開啟/紅石控制”按鈕改變命令方塊的開啟需求條件:
• “紅石控制”(脈衝型命令方塊的默認設置):命令方塊必須像紅石機械一樣激活才能執行命令。
• “保持開啟”(連鎖型命令方塊與循環型命令方塊的默認設置):命令方塊甚至在沒有紅石信號時也會保持為開啟狀態(連鎖型命令方塊將在感應后執行命令,循環型命令方塊將在每一遊戲刻執行一次命令(每秒20次),脈衝型命令方塊激活后將不能再次激活)。
完成
• 點擊“完成”按鈕或按↵ Enter以保存命令並退出命令方塊GUI。
• 基岩版應點×退出
取消
• 點擊“取消”按鈕或按Esc在不保存任何修改的情況下退出命令方塊GUI。

激活

命令方塊屬於紅石機械且能由以下物件激活:
• 毗鄰的充能方塊
• 位置上對命令方塊進行充能的任意紅石機械
• 另外,當命令方塊由命令複製到一個會被激活的位置時,新的命令方塊只有在原有命令未被執行過時才會執行命令。 (可從F3調試屏幕的 "triggered"看到)。
• 不像除了音符盒的其它紅石元件,命令方塊可在每個遊戲刻激活一次(註:20遊戲刻=1秒)。然而,在兩個遊戲刻中都激活一次需要使其在同一刻鐘從被激活轉為未激活狀態; 見教程/高頻電路以獲取技術細節以完成此工作。
• 在 1.9,處於"保持開啟"的命令方塊將一直被激活。默認的模式為“紅石控制”,也就是需要充能才能運行。
• 當被激活時,命令方塊將嘗試執行它的命令。在1.9以上,激活后的動作將取決於命令方塊的類型:
• 命令方塊(“脈衝型”)會嘗試執行命令一次。
• 連鎖型命令方塊(“連鎖型”)將在指向它的命令方塊執行命令后才會執行命令。
• 循環型命令方塊(“循環型”)將會在每個遊戲刻都嘗試執行一次命令直到不再被激活為止。
命令方塊
命令方塊

連鎖執行

命令方塊
命令方塊
如果任何指向連鎖方塊的命令方塊被激活了,它將向連鎖方塊發出準備執行命令的信號。連鎖型命令方塊只有在被激活開啟時,或在"條件制約"模式下還要在背後的命令方塊成功執行命令時(背後針對前指方向而言,不是說某個命令方塊接入連鎖的方向)才會執行命令。不管這個連鎖型命令方塊是否開啟或是成功執行過命令,如果指向另一個連鎖方塊,它也同樣會發送出準備執行命令的信號。
連鎖中的方塊將在同一遊戲刻執行命令。連鎖執行中無法傳遞過一個已經在這個遊戲刻執行過命令的方塊。

輸出

當激活時,命令方塊可以有幾種不同類型的輸出:
紅石比較器
• 命令方塊可以向背對它的紅石比較器輸入一個強度決定於上一個命令的執行情況的信號(例如,被命令所影響的玩家數)。
• 信號強度一直根據上一個命令的執行情況保持,即使是在命令方塊關閉之後。
消息
• 輸出消息描述執行命令的成功與否,會有幾種輸出位置:
• 上一個輸出:輸出消息都會寫入命令方塊GUI的“上一個輸出”文本框里。
• 聊天框:輸出信息將在單人模式下或多人模式下對所有管理員寫入聊天框。(可用/gamerule取消在聊天框輸出命令結果。)
• 一些命令可能會在聊天框寫入其正常工作時的附帶文本,這不會被攔截。(比如,/say命令將在所有玩家的聊天框寫入消息)。通常會帶有玩家的名字作為前綴的聊天信息(比如命令/me,/say和/tell)會使用@作為玩家名字(這實際是命令方塊的名字,為空值時默認是@)。如果命令方塊在放置前已經被命名過,那麼就使用這個名字。在攜帶版,命名的命令方塊並不能使此類輸出更改名字,但可在命令方塊GUI下更改,同時在命令方塊上方顯示一個半透明的名字框。
• 日誌:輸出信息會寫入到多人聯機伺服器日誌除非使用攔截。
命令統計
• 命令方塊可以推送多種成功結果到記分板目標,這實際上是命令方塊的一部分NBT,包括:
• SuccessCount:成功的次數(之前也能用紅石比較器輸出,但不會限制到15)
• AffectedBlocks:被修改的方塊的個數
• AffectedEntities:被修改的實體的個數,包括玩家
• AffectedItems:被修改的物品的個數
• QueryResult:命令的返回值
要使用的目標可以用命令/stats確定或直接用命令/blockdata修改命令方塊的NBT數據。
命令方塊可以用ctrl+v粘貼指令。

備註

以下命令不能在命令方塊中使用:/ban(因為如果加上@a、@e、@p可能會導致所有傳入伺服器的連接被禁止)、/banlist、/ban-ip、/debug、/deop、/kick、/op、/pardon、/pardon-ip、/publish、/save-all、/save-off、/save-on、/stop和/whitelist(也就是,/debug、/publish和所有除了/list外的多人遊戲命令)。
以下命令可以使用但功能受限(它們的輸出只會在命令方塊的“上一個輸出”文本框顯示而不是聊天框):/help、/seed、/list、/scoreboardobjectives、/scoreboardplayers和/scoreboardteams list。
以下命令會在輸出中用到命令方塊的名字(默認為“@”):/me、/say和/tell。

數據值


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

ID

命令方塊的ID決定於其類型:
Command Block ID名稱:minecraft:command_block 方塊/物品ID:137
Repeating Command Block ID名稱:minecraft:repeating_command_block 方塊/物品ID:210(PE版為188)
Chain Command Block ID名稱:minecraft:chain_command_block 方塊/物品ID:211(PE版為189)

另見:數據值方塊數據

命令方塊的方塊數據用於確定方塊是否處於開啟狀態:
位元數值
0x1在命令方塊已經在上一次激活了當前命令時設定
0x2
0x4
0x8
(未使用)
在1.9:
位元0x1,0x2,0x4
3個位元的空間儲存了命令方塊的朝向
• 0: 朝下
• 1: 朝上
• 2: 朝北
• 3: 朝南
• 4: 朝西
• 5: 朝東
• 6 和 7 未被使用但會造成命令方塊分別朝下和朝上
位元 0x8
未使用但設置后造成命令方塊的朝向相似於那些沒有設置位元的方塊。
方塊實體數據方塊實體值
• SuccessCountName: 儲存上一個命令成功數量的玩家名稱。可以是玩家選擇器但可能只有一個結果目標。
• SuccessCountObjective: 儲存上一個命令成功數量的目標名稱。
• AffectedBlocksName: 儲存上一個命令修改方塊數量的玩家名稱。可以是玩家選擇器但可能只有一個結果目標。
• AffectedBlocksObjective: 儲存上一個命令修改的方塊數量的目標名稱。
• AffectedEntitiesName: 儲存上一個命令修改實體數量的玩家名稱。可以是玩家選擇器但可能只有一個結果目標。
• AffectedEntitiesObjective: 儲存上一個命令修改的實體數量的目標名稱。
• AffectedItemsName: 儲存上一個命令修改物品數量的玩家名稱。可以是玩家選擇器但可能只有一個結果目標。
• AffectedItemsObjective: 儲存上一個命令修改的物品數量的目標名稱。
• QueryResultName:儲存上一個命令查詢返回的玩家名稱。可以是玩家選擇器但可能只有一個結果目標。
• QueryResultObjective: 儲存上一個命令查詢返回值的目標名稱。
• id:Control
• x: 方塊實體的X坐標。
• y: 方塊實體的Y坐標。
• z: 方塊實體的Z坐標
• CustomName: 可選。命令方塊的名字,用以在say,tell等命令中代替 '@' 。
• Command: 命令方塊中的命令。
• SuccessCount: 表達用紅石比較器輸出的模擬信號強度。只在命令方塊用紅石信號激活后更新。
• LastOutput: 上一條命令方塊生成的輸出。遊戲規則commandBlockOutput為false時依舊會儲存。在右鍵打開命令方塊GUI時顯示,包含生成輸出的時間戳
• TrackOutput: 1 或 0 (true/false) - 決定LastOutput是否儲存。可以在GUI中點擊"上一個輸出"文本框旁的按鈕進行開關。按鈕上的標誌指示出當前的狀態:O為true,X為false。
• CommandStats: 關係到根據上一個命令運行情況變化的記分板參數。

方塊狀態

• 另見:方塊狀態(java版)
名稱描述
triggered (在1.9中移除)
true
false
當命令方塊已經在上一次激活了當前命令時為真。
conditional (1.9)
true
false
當命令方塊為條件制約模式為真
facing (1.9)
north
south
east
west
up
down
命令方塊的指向

歷史(JAVA早期)


正式版本快照
2012年7月27日Jeb開始發一些關於擴展生存模式的新方塊的推文,推送圖片,想法和方塊將來用法
2012年7月31日Notch在他的AMA中暗示這個方塊會在1.4出現。
1.4.212w32a加入了命令方塊。
1.513w03a命令方塊的成功運行可用紅石比較器輸出信號。
13w04a用鐵砧重命名的命令方塊會用其名字代替@。
1.6.113w19a命令方塊除創造外不可破壞,也不會因爆炸破壞,但藍色的凋零骷髏頭顱除外。
1.7.213w37a加入了一個顯示上一個輸出的框。
13w42a增加遊戲的字元限制到16,369,第三方編輯器可以達到32,767。
1.814w07a發射器將會放置命令方塊,而不是發射它。
14w20a移除了遊戲內字元限制,達到最高的 32,767 個字元。
14w27a加入了CommandStats NBT 標籤。
1.8.6發射器不再放置指令方塊。
1.915w34a
命令方塊
命令方塊
命令方塊
命令方塊
加入了連鎖型和循環型命令方塊以及方塊朝向,升級了命令方塊材質
加入了方塊朝向。
命令方塊
命令方塊
升級了命令方塊材質。
15w34b加入了條件制約模式。
15w35a加入了保持開啟和紅石控制,autoNBT標籤負責控制此項.
加入了保持開啟和紅石控制選項。加入了autoNBT 標籤負責控制此項。
設置為條件制約模式后,命令方塊箭頭尾部會彎曲。
15w36a不能使用像/give這類命令的玩家不再能放置命令方塊。
15w36d不同類型的命令方塊在地圖上將顯示不同的顏色。
16w02a在命令方塊中運行/help將隨機使用各種不同的幽默短語作為先前的輸出。
16w04a運行“searge”命令在命令塊前面不帶“/”已將以前的輸出“# itzlipofutzli”。
1.1116w32
教程/命令方塊
命令方塊是一種幫助支持冒險模式,SMP的自動化,和自定義地圖。了解更多細節,請參見命令方塊頁。如果你不知道在某些命令中如何設置x,y,z的值最好先看看坐標。

一般的應用

命令方塊可以做許多事情,改變難度,改變天氣的狀態,或者給你預先指定的物品等。他們在這些領域特別有用:/weather和/time命令(在部分基岩版、中國版中有菜單可以直接設置) /time命令很有用,它允許你改變當前預定時間再按下一個開關。
命令方塊也可以被用來使文本出現於人的聊天菜單。格式是tell @p , 或者tell .如果加上@p在tell的後面,那麼只有最近的玩家會看到信息 If a username was specified, the username will be sent the message.
你可以用已下命令去改變難度/difficulty x 0=和平,1=簡單,2=普通,3=困難,或者在後面直接打上難度的名字。(例如:/difficulty peaceful。)(數字id即將在未來的1.13被禁用。)
另一種方法是使用命令塊使用/ tp @p 坐標>在你的世界之間的不同基地傳送
你不討厭壓力板和4種材料混合在一起嗎?(石櫟木板、鐵和金)你不必忍受。壓力板可以採用命令/命令塊代替testforwith範圍和時鐘電路。命令/測試@ P [ 2 ] r將測試以查看是否有任何球員在2範圍內(命令本身加上各個方向的2塊)。2是你想要的一個命令塊下一層的範圍。記住,這將產生一個球形觸發區(而不是一個立方體),所以一系列的2作約5x5x5面積和範圍1使一個3x3x3地區(更像是一個額外的塊以上+模式下中心)。您可以通過使用DX繞過這個,Dy和DZ的論點。或者你可以在代碼中指定XYZ坐標(例如/測試@ P [ x = 50,y = 64,z = 46,r = 1 ]但被警告說,不能把範圍縮小到1塊點。與非XYZ版本範圍的中心塊加塊周圍的範圍,這使得從一個命令塊感(“只是中心塊”意味著你必須在命令塊站)但在這裡沒道理。在任何速度範圍1球(+模式與頂部和底部的一個額外的塊),可以埋在地下的頂貼出來,只要你知道沒有人會走通過底部2層的世界。在這個代碼中非XYZ版本需要命令本身是嵌入在地板表面可以看出。)

使用命令

通過更改遊戲模式可以在單人模式之外的創造性使用命令方塊。輸入/gamemode 1命令 變成創造模式,設置命令方塊命令,無論你想要什麼指令,然後換回/gamemode 0。該命令方塊只需要設置在創造模式,但仍將功能恢復正常。
它也可以被用來傳送到特定區域(例如一個遙遠的據點,深入挖掘操作,或浮動島)。如果你花了很長的時間去那裡,如果你不作弊,不介意,你可以設置一個傳送系統。確保你在創作模式而設置(使用命令/遊戲模式1。如果你沒有開啟作弊,打開區域網和設置的作弊,但你仍然可以激活它的生存模式。鍵入該命令時,該命令的命令塊。然後,激活命令塊紅石(包括按鈕、槓桿、壓力板),和你將被發送到遙遠的目的地。你可以設置多個不同的傳送。這也可以用來做一個大項目,跨越一個非常大的區域,或如果你將箱子從老房子到新房子的時候。

探險地圖繪製

如果一個人希望創造一個單人玩家的探險地圖,做/publish命令來讓其他的命令(見下方)被使用。

在多人中的應用 (SMP)

這個章節詳細介紹了命令方塊在多人遊戲中的應用。
• 傳送/運輸
通過/tp指令,可以製作一個所有人都可以使用的傳送裝置。可以在每個地方都使用。例如,在整個世界里做一個龐大的傳送系統,所有的傳送點入口都彙集到傳送大廳中,而傳送大廳可以進入每個傳送點入口處進而達到出口。這樣就可以建造一個“快速交通中心”了。
• "定格動畫"
通過使用/tp,或者Minecraft地圖編輯器,例如MC地圖編輯器可以複製一張圖片(利用方塊做出來的繪畫),然後粘貼到一處遙遠的地方,並變動繪畫的一些方塊,利用一些壓力板或者絆線鉤,在玩家短時間欣賞繪畫后,命令方塊做出/tp指令,將玩家傳送到下一張繪圖點. 如果大量的複製粘貼這樣的零件,讓玩家按順序的在這些之間傳送並稍稍弄出一點點的延遲,那麼玩家就會產生幻覺,認為這個繪畫是在運動的(甚至認為是某MOD做出來),這就是利用命令方塊來實現定格動畫技術。
1.7+里可以使用/setblock來直接放置和刪除方塊,利用/setblock還可以免除傳送時不必要的卡頓和一大堆的房間,而1.8+的/fill和/clone更是可以極其方便地放置、複製大量的方塊。
• 抽獎
用/give @r命令,可以創造一個抽獎。但是記住,/give命令實質是在他們身上召喚一個可以被瞬間拾起的物品,並且在非常準確的位置,那個玩家會最先拾起它
• 監獄
通過連接高頻紅石到一個命令方塊和用/tp命令,你可以強制玩家留在某個地方。如果你想讓這個方法成為可行的,在你的聊天窗內使用指令/gamerule commandBlockOutput false.。使用"Range"(最大範圍)和"Minimum Range"(最小範圍)兩個參數,你可以在玩家離開一定距離后再將他們傳送回來。
• 只針對管理員
如果使用參數[m=1],那麼只有創造模式的玩家才會受到這條命令的影響,當然輸入m=0既只對生存模式的玩家有效。
• 戲弄創造模式玩家
你可以放置一個命令方塊,輸入“/tp @p[m=1] <坐標>”或者一些整人命令。當創造模式的玩家激活這個命令方塊就會被傳送到某個地方或者變成生存模式,好無聊的惡作劇!
• 公告
註:使用AutoMessage等服務端插件就可以達到自動公告的功能
通過在命令方塊中使用/me,可以創造一個無人自動廣播(需要連接循環紅石等不斷發出激活信號的紅石元件),不需要OP,用1.7+的新指令/tellraw {"text":"<信息>"}可以免除開頭的[@]並且可以做到懸浮事件和點擊事件等。
• 安全掃描
註:大部分伺服器管理插件支持封禁危險物品。
使用/clear指令,你可以清除玩家背包中的某物品。具體步驟是這樣的,使用/clear @a(或者某玩家ID) <清除的物品名>。如果想實現自動清理危險品需要連接循環紅石。
• 比賽裁判
使用/say @p,命令方塊就能報告最近的玩家。如果命令方塊放在終點線后,他會很方便的說出贏家,但是/say會給所有玩家發送信息,為了防止刷屏,建議使用/tell或/tellraw。
• 建立保護區域
註:Residence等伺服器領地插件的拓展插件可以實現領地內遊戲模式的變化。
你可以通過命令方塊創造一個“創造/生存模式區域”,但是很繁瑣。可以通過用命令方塊的範圍限制來製作一個“圍欄”,通過圍欄的玩家會變成生存或創造模式。在命令方塊中輸入指令/gamemode 2 @a[x=<區域中心坐標> y=<區域中心坐標> z=<區域中心坐標> r=<最大的玩家搜索半徑> rm=<最小的玩家搜索半徑>]這樣放置兩個搜索區域不重合的命令方塊,就可以將規定半徑內的玩家改變模式。
• 無插件PVP
使用指令 /gamerule keepInventory true 來關閉玩家死亡后的物品掉落(同樣在重生後會保留物品和經驗等,所以需要在玩家重生后清空背包) 。使用 /give @p <物品ID>可以給予玩家武器(可以添加NBT標籤),你可以設計一套完善的職業系統,玩家選擇不同的職業會有不同的裝備。使用 /spawnpoint [x y z坐標] 設置玩家重生地點,使用 /tp [x y z坐標]移動地圖中的玩家到指定區域。
• 新手工具包
你可以很簡單的給新手工具包不用任何插件使用命令方塊:"/give @p[r=2] 274". 為了防止有人第二次按下按鈕得到他們的工具包,您可以設置按鈕激活兩個命令方塊:: 1."/give @p[r=2,m=2] 274"2."/gamemode 0 @p[r=2]"(玩家一開始是冒險模式,獲得工具包后調成生存模式,然後再限定工具包僅限冒險模式能拿即可)
• 特殊的彩字
通過McEdit濾器可以編輯那些伺服器內的文本,或使用§+0~9、a~f均可打出不同顏色的彩字
同時/tellraw可以直接利用color等參數來弄出彩色字體
• 警報系統
當玩家走上踏板時,他能觸發命令方塊 /say @p <警告內容>
• 獎勵屋
如果某個玩家在伺服器有著過人的貢獻或者有元老資歷,但卻不足給他管理,你可以獎勵他一組鑽石或者一些奇怪的東西.... 創建一個只有通過傳送指令才能進入的房間,將有卓越貢獻的玩家傳送進去,玩家會激活房間中的命令方塊從而獲得獎勵,而後他又會被另一個命令方塊傳送回原地,如果伺服器允許/back的話,連續2次傳送到原點,這樣/back就無效了。(可以避免玩家二次領取獎勵)
• 天氣機
使用/toggledownfall和/weather thunder來開始或者結束降雨(雷雨。)合理安排這個指令的許可權會十分有用,你可以順隨自己的意願開始或停止降雨。這個技術可以用於村民和一些由降水控制的紅石機械,不用輸入任何指令就可以控制天氣(需要管理員激活命令方塊自動執行),合理利用將會十分有效,比如在森林火災時或者在雨天刷怪
• 有獎競賽
使用/tp @p 和 /give @p,你可以製作一個障礙賽跑或者獎勵迷宮,遊戲結束后就將玩家傳送匯出生點或其他地方。
• 時間機器
在地圖上模擬兩個十分相似的環境,通過命令方塊將玩家從一個 tp(傳送)到另一個,並且時間也會被設置為開始的時刻,這就好像是時間倒退。註:可以廣泛用於劇情RPG地圖。
• 地雷
使用指令/testfor @p[r=<檢測範圍>,name=<玩家名(如果沒有限制可不寫)>]使用紅石中繼器連接命令方塊和TNT,當命令方塊檢測到有玩家經過就會激活TNT!Boom!註:命令方塊的/testfor指令為一次性指令,命令方塊檢測到一次就會一直輸出信號,如果需要多次性的話,你可以直接使用/summon召喚出TNT。
• 安全門
通過使用/testfor @p[r=5,name=<房主>],命令方塊會在一定範圍內檢測房主並且為他開門,也只會為他開門。註:命令方塊的/testfor指令為一次性指令,命令方塊檢測到一次就會一直輸出信號。

在自定義地圖中的應用

這一節詳細介紹了命令方塊在自定義地圖的應用。
Minecraft中使用大量命令方塊的地圖有很多優勢。比如:SethBling's TF2 Map
另一個優秀的應用例子是 Hypixel's Gladiator Arena,這個地圖中的戰鬥職業系統完全依賴於命令方塊。
• “沉默的”命令方塊
在地圖中控制命令方塊不輸出提示信息很重要,這可以保持玩家對地圖的未知性和劇情的隱蔽性,如果玩家看到了各種指令的提示信息,地圖將會索然無味。關閉命令方塊輸出信息(除非是/say這類的指令)使用/gamerule commandBlockOutput false就可以實現。
• 庇護所/角斗場
使用壓力板或者絆線(以安全城堡為例)檢測到有玩家進入城堡的話就把遊戲模式設置為和平模式(對於不同區域視情況而定)。城堡大門可以有連接命令方塊的絆線,玩家一旦走過絆線,激活命令方塊,就會變為和平模式,這樣就可以創造一個“避難所”。反之,你可以用同樣的方法創造一個“困難模式區域”,只要有玩家進入遊戲模式就會變為困難模式。
• 對於不同遊戲模式玩家的控制
使用值[m=1]你就可以設置指令只對創造模式的玩家有效,生存模式就是[m=0]。例:傳送所有創造模式的玩家到254,47,-874,使用的指令為 /tp @a[m=1] 254 47 -874
(更多:[lm=x,l=x,m=x,x=x,y=x,z=x,r=x])
• “聯合”住宅
在房間的入口或者出口設置一個 /tp(傳送)指令的命令方塊,你不必將你的建築都在同一個地方建設,它們可以在任何地方,只需要入口的命令方塊傳送過去,玩家會忽然覺得外面感覺很小的建築內部空間竟如此之大。用這種方法聯合多個建築,可用作與伺服器或單人地圖中的場景瞬移。
• 出生地
使用/spawnpoint可以設定玩家出生地點。(應用十分廣泛,PVP地圖,RPG地圖等等)
• 岩漿跑酷
之前的內容提到過,/gamerule keepInventory true可以在玩家死後保存背包物品。在跑酷地圖的出發點設置一個這樣的命令方塊,就可以使掉落岩漿死亡的玩家不會丟失物品,同時記錄點可以用/spawnpoint來做。
• 我要睡覺!
使用/spawnpoint可以直接設置出生點,但是要跳過白天就需要/time set <時間>指令,18000為夜晚(並非絕對,可以按喜好設置,不要少於12500),這樣就可以模擬出睡覺的效果了。(可用/time set 700 直接轉為白天,/spawnpoint指令和/time set 700配合不就行了么?)
• 時間和天氣下的場景
比方說,你的地圖開始在一個寒冷的暴風雨之夜,你可以設置突然天晴了,外面有燦爛的陽光(光影mod么?)!或者,如果你想開始一個光明的一天,想讓雨突然下起來又沒辦法?不要怕,有/weather指令。只需使用/weather,輸入就行了!你也可以使用/time set輸入:0是凌晨,6000是中午,12000是黃昏,18000是午夜(月亮還掛在頭上吶!)。
• 檢測玩家是否切換到了和平模式
創建一個攻擊型生物,把它放在壓力板上。(請確保它會保持始終按下狀態,所以一定要確保它不能跳或走開)。做一個紅石電路,讓壓力板在沒有接收到紅石信號的時候激活命令方塊。命令方塊里設置一個消息,通知玩家的地圖由於和平模式了已經損壞,需要的怪物已經消失,必須重新下載這個地圖。你甚至可以做一個隱形傳輸命令方塊,把那些故意切換到和平模式的玩家換成冒險模式後傳送到一間基岩屋內,並讓他不能使用/kill或/tp指令,並把他的重生點設在那個房子里,讓他永生見不得光明!(單人的話,可以點“對區域網開放”,或用修改器)
/say指令非常有用因為它可以直接給玩家發送消息. 用命令方塊將會更好,這樣你就不需要放很多的牌子和編頁碼長到不行的書來告訴玩家遊戲規則. 你只需要把命令方塊放成一條線然後在中間鋪中繼器來弄各個語段之間的延遲(so the player isn't spammed)接著你就可以把那堆牌子和放著書的箱子移走。
有一些是和NPC配合使用的. 想象一下你進了鐵匠鋪並且你想要讓裡面的鐵匠說些什麼。在命令方塊出現之前, 你需要一些書和牌子來充當對話的效果, 然後在鐵匠鋪里造些房間並放些雜物,這樣會讓這個鐵匠鋪看起來變得非常亂,但是!你只需要使用/say命令來製造鐵匠說話的效果. 也許一頭豬在櫃檯後面甚至會乞求憐憫!讓我們再舉一個例子:你在一個工廠里,一個鬧鐘突然響了,說它會爆炸。在聊天中,特別是如果文本很長,讓那些有壓力的心情;同樣的事情為炸彈定時器。玩家將獲得更多的地圖的心情,如果聊天顯示“10……”8……' 9…。
最後但並非最不重要的,它使它更容易創建一個探索系統。比方說,球員會在一個屠宰場。他通過激活連接到RS和鎖存器壓力板(所以無法激活兩次)和/ saycommand,屠夫要求玩家的幫助命令塊:他要殺一頭豬(可恥)。玩家在一塊石頭上的壓力盤上得到了一頭豬,當豬死了的時候,他就開始了。所以,當玩家回到屠殺,他激活另一個電路包含另一個RS和鎖存器和兩命令兩命令塊。首先,/ saycommand,屠夫感謝球員,和其他人,/ givecommand,所以玩家得到獎勵。在那之後,別忘了使用“命令”,所以屠夫說,玩家的名字。例如,如果命令塊被設置為:謝謝,“你幫我殺了那頭豬”,頻道會說:“謝謝,”。你幫我殺了那隻豬,“這使地圖更酷,看起來像是為玩家做的,因為它說他/她的名字!
• 創建商店
使用/give @p[lm=(等級)] (物品) (數量)和/xp -(等級)l @p[lm=(等級)],你可以創建一個使用經驗交易物品的商店系統。例如,如果你創建了一個使用/give @p[lm=5] 2 64的命令方塊以及一個使用/xp -5l @p[lm=5]的命令方塊,並把它們連接到同一個紅石電路,那麼激活時就會從最近的玩家身上扣除5級經驗並給他64個草方塊。
• 另一種方法是使用命令塊使用/tp @p 坐標>在你的世界之間的不同基地傳送
• 你不討厭壓力板和4種材料混合在一起嗎?(石櫟木板、鐵和金)你不必忍受。壓力板可以採用命令/命令塊代替testforwith範圍和時鐘電路。命令/測試 @p [ 2 ] r將測試以查看是否有任何球員在2範圍內(命令本身加上各個方向的2塊)。2是你想要的一個命令塊下一層的範圍。記住,這將產生一個球形觸發區(而不是一個立方體),所以一系列的2作約5x5x5面積和範圍1使一個3x3x3地區(更像是一個額外的塊以上+模式下中心)。您可以通過使用DX繞過這個,Dy和DZ的論點。或者你可以在代碼中指定XYZ坐標(例如/testfor @p[x=50,y=64,z=46,r=1 ]但被警告說,不能把範圍縮小到1塊點。與非XYZ版本範圍的中心塊加塊周圍的範圍,這使得從一個命令塊感(“只是中心塊”意味著你必須在命令塊站)但在這裡沒道理。在任何速度範圍1球(+模式與頂部和底部的一個額外的塊),可以埋在地下的頂貼出來,只要你知道沒有人會走通過底部2層的世界。在這個代碼中非XYZ版本需要命令本身是嵌入在地板表面可以看出。
• 使用命令
• 通過交換遊戲模式可以在單人模式之外的創造性使用命令塊。簡單的交換與/遊戲模式1命令的創作模式,設置命令塊命令,無論你想要什麼,然後交換回/遊戲模式0。該命令塊只需要設置在有創意的,但仍將功能恢復正常。
• 它也可以被用來傳送到特定區域(例如一個遙遠的據點,深入挖掘操作,或浮動島)。如果你花了很長的時間去那裡,如果你不作弊,不介意,你可以設置一個傳送系統。確保你在創作模式而設置(使用命令/遊戲模式1。如果你沒有欺騙,打開區域網和設置的欺騙,但你仍然可以激活它的生存模式。鍵入該命令時,該命令的命令塊。然後,激活命令塊紅石(包括按鈕、槓桿、壓力板),和你將被發送到遙遠的目的地。你可以設置多個不同的傳送。這也可以用來做一個大項目,跨越一個非常大的區域,或如果你將箱子從老房子到新房子的時候。
• (註:還有種商店,比如說:/testfor @p[lm=5,r=5],再用比較器連接一個命令方塊,指令:/give @p[lm=5,r=5] 276 1 0,最後在/xp -5l @p[lm=5,r=5]就做出了一個給半徑為五以內的等級至少為5級的玩家一把鑽石劍並扣除他5級)
命令方塊
命令方塊

1.7命令的用法

Minecarts over floating rails created with the setblock command. (礦車多年來與setblock命令搭配來創造浮空鐵軌。)
在1.7版本中,命令方塊的潛力得到了擴大。也就是/summon /setblock命令的添加, 並可用於自動構建結構,填充箱子,
以及生成以前不能生成的實體。下面是這些命令的語法:
setblock的使用方法:/setblock <方塊名> [數據值] [舊方塊處理方式] [數據標籤]
summon的使用方法:/summon <實體名> [x] [y] [z] [數據標籤]
setblock指令也可以用於做突然消失的地板或突然出現的牆。
/give、/summon、/setblock等指令只能用方塊數字代碼,暫不支持英文。

我的世界分類項


另見:紅石
紅石
紅石電路時鐘電路邏輯電路傳輸電路脈衝電路雜項電路
優秀教程高級紅石電路邏輯門方塊更新感應器(BUD)機械活塞電路紅石音樂
電源紅石塊按鈕陽光感測器探測鐵軌拉杆壓力板
紅石火把陷阱箱絆線鉤(線)測重壓力板偵測器
傳輸元件紅石比較器紅石中繼器紅石
機械元件命令方塊投擲器發射器門(柵欄門)漏斗音符盒
活塞(粘性活塞)鐵軌充能鐵軌(激活鐵軌)紅石燈TNT活板門
雜項紅石礦石幫助:紅石圖例
方塊
方塊
自然基岩砂礫黑曜石
主世界氣泡柱粘土(陶瓦)泥土(砂土)(灰化土)草方塊(菌絲)冰(浮冰)(藍冰)沙子(紅沙)
雪(雪塊)石頭沙石(紅沙石)花崗岩閃長岩安山岩
礦石煤礦石鐵礦石金礦石鑽石礦石綠寶石礦石
青金石礦石紅石礦石
液體熔岩
氣體空氣
僅Java版洞穴空氣虛空空氣
下界螢石岩漿塊地獄岩靈魂沙
礦石下界石英礦石
末地末地石
結構主世界骨塊書架磚塊地毯圓石(苔石)圓石牆
蜘蛛網末地傳送門柵欄花盆玻璃(玻璃板)
草徑怪物蛋鐵欄桿梯子木板磨製安山岩
磨製花崗岩磨製閃長岩海晶石(海晶石磚)暗海晶石海晶燈平滑沙石
鏨制沙石刷怪箱海綿(濕海綿)石磚裂石磚苔石磚
鏨制石磚羊毛
下界地獄磚塊地獄磚柵欄下界傳送門地獄疣
末地龍蛋末地折躍門方塊末地傳送門方塊末地燭末地石磚紫珀塊
豎紋紫珀塊染色玻璃
生物植物甜菜仙人掌胡蘿蔔紫頌植物紫頌花珊瑚
珊瑚塊珊瑚扇海泡菜枯死的灌木蕨(大型蕨)
草(高草叢)海帶(干海帶塊)樹葉睡蓮原木西瓜
馬鈴薯南瓜樹苗海草甘蔗藤蔓
小麥
動物海龜蛋
菌類蘑菇蘑菇方塊
人造旗幟混凝土混凝土粉末潮湧核心南瓜南瓜燈苔石牆
地獄疣塊紅色地獄磚台階粘液塊平滑石台階
僅Java版木頭去皮原木
僅基岩版化合物創建器元素構造器物品展示框試驗台材料分解器
礦物煤炭塊鐵塊金塊鑽石塊綠寶石塊紅石塊青金石塊
石英塊
實用火把
機械按鈕發射器陽光感測器投擲器柵欄門漏斗
偵測器活塞壓力板(測重壓力板)鐵軌(充能鐵軌)(探測鐵軌)(激活鐵軌)紅石紅石比較器紅石中繼器
紅石火把活板門陷阱箱絆線鉤(線)
創造頭顱命令方塊
移除上鎖的箱子青花玫瑰
其他鐵砧信標釀造台蛋糕煉藥鍋箱子
末影箱熔爐附魔台耕地霜冰TNT潛影盒
命令
多人遊戲
任何遊戲模式