Function命令函数
对于指令玩家来说,可能都知道游戏中有/function这条指令,但是未必大部分指令玩家都知道该指令的用法与意义。
其实,/function是调用行为包根目录的functions文件夹内的对应.mcfunction文件中的所有指令/function <文件名字(无需后缀)>
函数
接触过编程的都知道,大部分编程语言中都有“函数”这个内容
(请区分这里说的是计算机函数而非“数学函数”)
函数在编程中的作用大概就是指一段可以直接被另一段程序或代码引用的代码。
调用函数并传入新的参数进去,接着预先写好的函数就会按照新的参数执行一遍函数内的代码。
栗子:
function fun (x) {
value = x + 3
return value
}
fun(2)
/*
这里是用的js语言举例,这部分内容有点超纲,只是让大家明白function命令函数的作用与意义。
fun是该函数的名字,该函数需要一个参数,该参数需是一个实数。
fun函数会将运算 参数 + 3的结果,并返回结果
“fun(2)”是调用fun函数,并指定参数为2,即2 + 3,最终会返回5
如若不传参将会运行错误
*/
换到Minecarft里,行为包里的.mcfunction文件是封装了一堆其它指令,/function调用行为包里的文件将会一次性执行完文件内的指令,当然,目前mc中的命令函数只是可被调用,无法做到传参。
编写
这是行为包部分的内容,首先在行为包根目录新建一个“functions”文件夹,接着可以在该文件夹的里面子文件夹里面创建“xxx.mcfunction”文件
使用文本编辑器打开.mcfunction文件
接着即可在里面随意的写入mc中的指令了
格式与注释
格式为一行一串指令,开头斜杆/为可要可不要,执行身份是以管理员身份。
注释也与lang文件一样,使用#井号标注。
实例:
say Hello Players!
give @a diammon 64
kill @a[tag!=GoodPlayer]
# 我是注释
使用
写好后,加载行为包进入存档。
若a.mcfunction文件在functions文件夹的根目录
那么只需输入/function a
即可
若b.mcfunction文件在非functions文件夹的根目录里,而是在子文件夹内,如在 行为包根目录/functions/cs/b.mcfunction
那么需在文件名前面加上目录/function cs/b
运用范围
对于指令玩家而言,可以用来做一键指令
但对于Addon开发者而言,可以结合动画或动画控制器以及实体行为做出许多复杂的内容