Skip to main content

“我的世界”中的命令塊初學者指南

“我的世界”中的命令塊初學者指南

Geoffrey Carr

Minecraft是引入年輕人和新人編碼的最佳方式之一。命令塊易於學習和使用,Java編程即將推出Minecraft mods和Bukkit插件。對於經驗豐富的編碼人員而言,這也是一個非常有趣的地方。

什麼是命令塊以及我為什麼要使用它們?

命令塊是一個redstone組件,在通電時執行控制台命令。可以從聊天窗口運行控制台命令,方法是使用正斜杠“/”。命令用於以手動無法實現的方式修改遊戲世界,並且,當在命令塊中正確使用時,為Minecraft提供它自己的偽造編程語言。代碼由兩部分組成:邏輯和執行,大多數編程語言都需要用文本編寫。 Minecraft編碼採用不同的路線;程序的邏輯和結構取決於塊的放置位置以及它們的連接方式,這意味著您可以飛越您的世界並看到程序的不同部分逐塊佈局。

好的,我該如何開始?

本指南使用1.9版中的新命令塊。它將在1.8中工作,但可能需要更多的專業知識。

打開一個新的Minecraft世界(Superflat效果最好),確保你處於創意模式,然後按“/”按鈕。這是命令窗口,它與聊天窗口是相同的,除了它以“/”開始,而以正斜杠開頭的任何東西都是命令。您可以運行的第一個命令是

/give @p minecraft:command_block

讓我們打破這個。命令“/ give”將項目放入玩家庫存中,並有兩個參數:玩家和要提供的項目。 “@p”是一個 目標選擇器。 選擇器“@p”選擇最近的玩家。或者,您也可以使用您的Minecraft用戶名,但如果您從控制台運行命令,您將始終是最近的玩家。其他目標選擇器對於所有玩家都是“@a”,對於隨機玩家是“@r”,而“@e”將是所有玩家的目標選擇器實體。 實體包括不是塊的所有東西,如怪物,雪球,動物和箭頭。

該命令應該成功執行並為您提供一個新塊。將它放在地面上任何地方即可開始使用。

您可以看到命令塊指向您放置它的方向,很像料斗或熔爐。這在以後很重要。

右鍵單擊該塊(或使用您用來訪問工藝表和熔爐的任何鍵),您將看到命令塊GUI。

起初看起來有點嚇人,但不要擔心,所有這些按鈕都會有所作為。顯示“Impulse”的按鈕會更改命令塊的類型。有三種不同類型的命令塊:

  • Impulse,運行命令上升的邊緣 紅石當前。這意味著當它們通電時,即使它們繼續通電,它們也會一次運行並停止運行。這是默認設置,是1.8中唯一可用的設置
  • 重複,每次運行命令 他們是動力的。勾選就像一個框架,多個命令可以在一個刻度線中運行,最多可達每秒20次。
  • 鏈,僅在指向它的命令塊執行其命令時才運行。這些將按順序一個接一個地順序運行,因此名稱為“鏈”。

顯示“無條件”的按鈕會阻止命令塊檢查鏈中的前一個塊是否已成功執行。另一個選項“條件”僅在前一個塊沒有錯誤的情況下運行。

如果命令塊已通電,則表示“需要Redstone”的按鈕僅運行命令。另一個選項“始終處於活動狀態”會阻止命令塊檢查它是否已通電並且只是假定它是。此選項不應與Impulse命令塊一起使用,因為它使它們無用。

讓我們製作一個鏈,我們的第一個'腳本'。將一個或兩個鏈指令塊放入第一個脈衝命令塊,如下所示:

確保將鏈塊設置為“始終激活”。否則我們需要放下紅石塊或電流,這會佔用不必要的空間。在鏈條開頭的脈衝命令塊上放置一個按鈕,然後按下它。

什麼都不會發生。這是因為我們尚未用命令填充它們!右鍵單擊脈衝塊進行編輯,然後輸入基本命令

say start

注意我們如何在命令塊中不需要正斜杠。如果你願意,你可以使用一個,但這是不必要的。 “/ say”命令接受一個參數text,並從執行它的人的角度說出它。如果你運行它,它將顯示為“ 消息“就像常規聊天一樣。如果它是從命令塊運行的,它將是“[@] message”。或者,有“/ tell”,它接受一個玩家參數,而“/ tellraw”就像“/ tell”,除了它採用原始JSON而不是文本。

您可以填充鏈命​​令塊以寫入更多內容進行聊天。它們將按順序執行,並且不會有任何延遲。如果您想延遲運行它們,則需要使用redstone中繼器進行設置。除了“/ say”之外,還有其他基本命令可以執行更多操作,例如“/ give”,它會提供項目,“/ effect”,它會應用藥水效果,“/ setblock”和“/ fill”會修改您的世界等等。可以在Minecraft Wiki上找到大型命令數據庫以及其他有用的內容。

目標選擇器

“@p”目標選擇器實際上比它們第一眼看上去要強大得多。例如,如果我們想要定位所有實體,我們會使用“@e”,但如果我們只想定位Zombies,我們會使用

@e[type=Zombie]

注意“@e”後面的括號。這些括號裡面是 目標選擇器參數,其完整列表可以在Minecraft Wiki上找到。 “type”參數僅選擇特定類型的實體,這一個是“Zombie”。如果我們想要在命令塊的10個塊內定位所有Zombies,我們會使用

@e[type=Zombie,r=10]

“r”是半徑參數。您還可以按位置,名稱,團隊和分數等進行定位。

鏈接命令

讓我們介紹另一個與其他命令不同的命令。命令是“/ execute”。此命令將另一個命令作為輸入,並從另一個實體的角度執行它。 “/ execute”的結構是

/execute @target X Y Z /command

X,Y和Z是運行命令的坐標。這對大多數命令都無關緊要,但如果使用則很重要相對定位。 相對位置以“〜”開頭,後跟一個正數或負數,表示原點有多少個塊,用“~~~”表示。所以,例如,如果我們想要像在村民談話中那樣運行“/說”,我們可以像這樣設置命令:

/execute @e[type=Villager] ~ ~ ~ /say Hey

這個命令將向每個村民發出一條消息。如果我們有一個以上的人或一個以上的村民,這不是最佳的,所以讓我們重新格式化該命令:

/execute @a ~ ~ ~ /execute @e[type=Villager,c=1] ~ ~ ~ /tell @p Hey

這比第一個複雜得多,並且涉及將兩個“/ execute”命令鏈接在一起。命令的第一個“/執行”在每個玩家上運行,然後第二個檢查附近的一個村民,然後讓村民告訴最近的玩家“嘿”。這確保每人只有一個村民講話。

學習語法

Minecraft中肯定有很多命令,每個命令都有自己的語法。每個命令的幫助菜單通常會告訴您命令需要什麼參數,而Minecraft Wiki會詳細列出每個命令所執行的操作。並不是要確切知道每個命令的作用,而是知道如何一起使用它們。畢竟,Minecraft是一款遊戲,所以玩這些命令是學習過程的一部分。

Link
Plus
Send
Send
Pin