函数 (附加包)

From Minecraft基岩版开发Wiki

函数(Function)是一个允许玩家利用扩展名为.mcfunction的文本文件编写和运行多行命令的功能。

函数的功能与命令方块类似,用于在游戏中执行命令。不同于命令方块,使用函数文件可以一次性执行多条命令。函数通常被用于在附加包中批量执行命令。

文件[edit]

函数文件是一种后缀名为.mcfunction的McFunction文件[注 1]。函数文件本质上是文本,因此使用文本编辑器就可以编辑函数文件,

下面列出了行为包中函数文件的目录:

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

函数文件中每一行写一条命令,命令前面不需要加/。增加空行不会影响游戏对文件的读取,游戏在读取文件时会跳过空行。

函数文件中的注释使用#表示。在一行的开头加上井号可以将此行表示为注释行,游戏在读取时将会跳过该行。

读取与执行[edit]

函数文件中的命令将被从上往下依次在游戏中的一个游戏刻内执行。

在进入存档时,游戏会对函数文件进行预读取,若命令中出现了语法错误,游戏将会在内容日志中弹出报错并取消加载,进入存档后将无法在聊天栏或命令方块中使用含有语法错误的函数文件。

使用/reload命令可以重新加载行为包中的函数文件。

tick.json[edit]

tick.json可以重复运行一系列函数。

其使用每秒20刻的游戏刻,即设置运行的函数将每秒执行20次;因此包含大量要运行的函数会严重影响性能,尤其是在低端设备中。



使用[edit]

通过在命令方块或聊天栏中使用/function命令可以运行函数,在函数中也可以使用/function命令来嵌套运行函数。将大量的命令通过函数来运行是一个不错的选择,方便编辑、查看、使用和移植到其他存档,但同时也可能带来游戏卡顿。

注释[edit]

  1. 如果文件中包含中文字符,则需使用UTF-8格式保存文件,否则会导致中文在游戏中显示不正常。