函数(基岩版)

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为基岩版独有。
Move arrows.svg

原因:与其他Java版/基岩版特性页面的标题统一
注意: 中文Wiki的移动页面需要在讨论批准后进行,大量移动由机器人完成。
请不要使用复制粘贴来移动页面,因为这样会丢失所有的编辑历史。

函数(Function)是一个允许玩家利用扩展名为.mcfunction的文本文档编写和运行多行命令的功能。本条目主要讲述如何使用基岩版中的函数。

用法[编辑 | 编辑源代码]

函数的文本文件应处于行为包内的顶层文件夹“functions”([行为包]/functions)或其子文件夹内。

子文件夹与命名空间[编辑 | 编辑源代码]

该文件夹下可以有不同的子文件夹,以代表不同的命名空间。

举个例子:执行函数sub/foo就是在执行文件[行为包]/functions/sub/foo.mcfunction

/reload[编辑 | 编辑源代码]

注意:现在/reload命令只重载游戏启动时便已存在的函数,这意味着启动后新加入的函数必须重启游戏才能重载。以后的游戏版本可能会修复。

成功结果[编辑 | 编辑源代码]

成功执行一个函数后,聊天栏中会出现“Executed [数量] Command(s) from function [函数文件的路径].”在版本1.12.0则是“Successfully executed [数量] function entries.”

函数的语法[编辑 | 编辑源代码]

.mcfunction文件中,一条命令应该占单独一行,且开头不能有斜杠/。可以在一行开头加上#来进行注释。

min_engine_version[编辑 | 编辑源代码]

需要在包内的manifest.json文件中声明函数适用的最低版本。

该字段指定了运行命令的游戏版本的版本号。例如,若/fill命令在1.9.0中发生了变动,如果您的行为包带有"min_engine_version": [1, 8, 0],那么在运行包含/fill的函数时,它将视为旧版本的fill命令来运行(如同游戏版本仍为1.8.0 )。

manifest文件范例[编辑 | 编辑源代码]

{
    "format_version": 1,
    "header": {
        "description": "Function worldedit",
        "name": "Function worldedit",
        "uuid": "11111111-1111-1111-1111-111111111111",
        "version": [1, 8, 1],
        "min_engine_version": [1, 8, 0]
    },
    "modules": [
        {
            "description": "",
            "type": "data",
            "uuid": "22222222-2222-2222-2222-222222222222",
            "version": [1, 8, 1]
        }
    ]
}

简易的函数范例[编辑 | 编辑源代码]

test.mcfunction

title @p title Test
setblock ~ ~2 ~ diamond_ore
say Test
#这里是注释

更复杂的函数范例[编辑 | 编辑源代码]

BuildHut.mcfunction ——这个函数会在你身边建造一个简易的木头或石头房子。注意:因为函数会依次执行逐行命令,玻璃窗和木门将会取代第一条命令放置的石头墙。

fill ~-2 ~-1 ~-2 ~2 ~2 ~2 stonebrick 0 hollow
fill ~-2 ~-1 ~-2 ~2 ~-1 ~2 planks
fill ~ ~ ~2 ~ ~ ~2 wooden_door 1
fill ~-2 ~1 ~ ~-2 ~1 ~ glass
fill ~2 ~1 ~ ~2 ~1 ~ glass
fill ~ ~1 ~-2 ~ ~1 ~-2 glass

执行函数[编辑 | 编辑源代码]

函数会在一个游戏刻内执行其中的所有命令,包括所调用的函数里的命令。

限制[编辑 | 编辑源代码]

一个函数最多可运行10,000个命令(包括对其他函数的调用)。

命令[编辑 | 编辑源代码]

/function[编辑 | 编辑源代码]

  • 运行一次指定函数。
  • 通过执行/function命令的执行者来执行函数中的命令。
  • 用法/function <文件路径/函数文件>

历史[编辑 | 编辑源代码]

基岩版
1.8.0beta 1.8.0.10函数功能加入游戏。
?函数文件只在行为包中可用。
1.13.0beta 1.13.0.1在命令列表中现在可以看到函数文件。