Template:Desktop
這些特性已經在開發版本中出現,但包含這些特性的正式更新尚未發布。
函數(Function)是一個使玩家更容易用文字文件使用多行指令的未來功能。
用法
要在一個Minecraft世界中使用函數,首先必須把文字文件到放置世界名称/data/functions資料夾。它們隨後可被下面列出的幾種方法執行。函數可由子資料夾進一步分隔,並且可以在遊戲中使用指令namespace:path/to/function/file執行。
例如,執行custom:example/test會引用位於世界名称/data/functions/custom/example/test.mcfunction的函數。
在文字文件裡,要每行放置一個有效的指令。玩家可以在函數文字文件中使用//或#加注釋。如果加入了或修改了一個函數,/reload指令將會重新載入函數檔案並且執行新指令。在函數裡執行的指令會遵守/gamerule maxCommandChainLength。
它們是簡單的文字文件,因此函數是易修改的,並且在大量使用時與指令方塊相比可能會產生更少的延遲。然而,函數的成功輸出不能被紅石中繼器(沒有使用複雜的計分板指令)檢測;函數也不支持可選參數。
在遊戲中目前有三種方式執行函數:
/function指令
/function指令允許玩家一次執行一個函數。函數中的指令透過實體或執行/function指令的指令方塊執行。
語法:/function <namespace:path/to/function/file>
/gamerule gameLoopFunction指令
/gamerule gameLoopFunction將會每刻執行一個函數。函數中的指令透過伺服器執行。
語法:/gamerule gameLoopFunction <namespace:path/to/function/file>
進度獎勵
完成進度時可以作為獎勵執行一個函數。函數裡的指令透過完成了進度的玩家執行。
語法:
{
"rewards": {
"function": "namespace:path/to/function/file"
}
}
歷史
| Upcoming | |||||
|---|---|---|---|---|---|
| 1.12 | 1.12-pre1 | 加入函數。 | |||
| 1.12-pre3 | 現在使用新的檔案拓展名「.mcfunction」而非之前的「.txt」 | ||||
| 每一欄的指令不再以"/"開頭。 | |||||
| 現在僅能使用「#」來注釋,而非之前的「//」 | |||||
| 1.12-pre4 | 加入了新的參數: [if|unless] [selector] | ||||
錯誤
Template:Issue list