【我的世界】函数 /function

接下来我教大家一个最简单的数据包;在游戏外运行指令,也就是函数 /function
MC的数据包是存储在地图文件夹里的,目录是:<地图文件夹名称>\datapacks
在这个文件夹里新建一个文件夹,就是你数据包的名称

与资源包一样,数据包支持平铺的文件夹形态也支持压缩包形态

然后是新建一个文件夹data,然后是一个元信息文件pack.mcmeta
压缩包形态的数据包,一定要保证在点开压缩包后,能第一眼看见data文件夹
注意,元信息文件的文本格式必须为UTF-8,由于win10记事本默认文本格式就是UTF-8,所以一般不用注意
{
"pack": {
"pack_format": 6,
"description": "The default data for Minecraft"
}
}
这是1.16的元信息数据格式,不想挨个理解的,直接照抄进去就行了
data文件夹下就是一个命名空间文件夹,这个文件夹相当于你的数据包内部代码标签,所以只支持有限的字符内容,只支持这些字符:
_-.abcdefghijklmnopqrstuvwxyz0123456789
不可使用大写字母、空格或中文。
注意,如果你想在这里修改原版数据包,那么只需要把文件夹命名成 "minecraft" ,里面与原版同名的文件都会覆盖掉原版的数据包内容。

然后是functions,函数文件夹。
然后是一个任意名称的文件夹,这个相当于你对你写的函数进行一个大体的分类。

在这个文件夹下可以再建立文件夹进行函数内容细分,也可以直接新建一个 ".mcfunction" 格式的文件。
注意,数据包内的所有文本文件的格式必须都是UTF-8。
然后就可以写命令了,每一条命令写在同一行,使用空行来隔开。
一个函数文件里的命令会在同一tick执行,20tick是一秒,命令前面不需要打斜杠,例如:

更改数据包的过程,不需要重新打开游戏,更不需要重新打开地图,使用/reload可以重载所有数据包

使用/datapack list可以列出已经加载的所有数据包

这样就加载成功了。
注意,数据包是基于地图存档进行加载的,所以可以在发布的时候,直接把地图文件夹连带着数据包一起打包。在重载地图时会默认加载地图文件夹里携带的所有数据包。
接下来是执行函数:

直接使用/function ,命令补全系统会自动帮你罗列出所有可以执行的函数文件


成功了!
如果想要在地图里摆脱CB,是需要把一些函数放到 "常加载函数(每tick都执行)" 的文件或 "在载入地图时就执行一次" 的文件里,这样地图里出现可选择的目标时,命令会自动生效。
更多数据包教程:https://zhangshenxing.gitee.io/vanillamodtutorial/