Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性为基岩版独有。
Move arrows

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

Disambig gray  本文章介绍的是基岩版中的函数。关于Java版中的函数,请见“函数(Java版)”。关于函数命令,请见“命令/function”。

函数(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在命令列表中现在可以看到函数文件。
Advertisement