函式 (附加包)

出自Minecraft基岩版开发Wiki

函式(Function)是一個允許玩家利用副檔名為.mcfunction的文字檔編寫和執行多行指令的功能。

函式的功能與指令方塊類似,用於在遊戲中執行指令。不同於指令方塊,使用函式檔案可以一次性執行多條指令。函式通常被用於在附加包中批量執行指令。

檔案[編輯]

函式檔案是一種後綴名為.mcfunction的McFunction檔案[注 1]。函式檔案本質上是文字,因此使用文字編輯器就可以編輯函式檔案,

下面列出了行為包中函式檔案的目錄:

  •  <行為包>
    •  manifest.json
    •  pack_icon.png
    •  functions
      •  example_1.mcfunction
      •  example_2.mcfunction
      •  example_3.mcfunction
      •  ……
      •  tick.json

函式檔案中每一行寫一條指令,指令前面不需要加/。增加空行不會影響遊戲對檔案的讀取,遊戲在讀取檔案時會跳過空行。

函式檔案中的註釋使用#表示。在一行的開頭加上井號可以將此行表示為註釋行,遊戲在讀取時將會跳過該行。

讀取與執行[編輯]

函式檔案中的指令將被從上往下依次在遊戲中的一個遊戲刻內執行。

在進入存檔時,遊戲會對函式檔案進行預讀取,若指令中出現了語法錯誤,遊戲將會在內容記錄中彈出報錯並取消載入,進入存檔後將無法在聊天欄或指令方塊中使用含有語法錯誤的函式檔案。

使用/reload指令可以重新載入行為包中的函式檔案。

tick.json[編輯]

tick.json可以重複執行一系列函式。

其使用每秒20刻的遊戲刻,即設定執行的函式將每秒執行20次;因此包含大量要執行的函式會嚴重影響效能,尤其是在低端裝置中。



使用[編輯]

透過在指令方塊或聊天欄中使用/function指令可以執行函式,在函式中也可以使用/function指令來嵌套執行函式。將大量的指令透過函式來執行是一個不錯的選擇,方便編輯、檢視、使用和移植到其他存檔,但同時也可能帶來遊戲卡頓。

註釋[編輯]

  1. 如果檔案中包含中文字元,則需使用UTF-8格式儲存檔案,否則會導致中文在遊戲中顯示不正常。