之前发了一个贴问过这个问题,但是太复杂原本打算放弃function继续用ccb串,可后来发现不用function不行
这两个帖子琢磨了半天依然没有进展(1、2)1.12的function我是会用的,但是到了1.13就完全懵了,到处查资料然后又在q群里一直询问别人,有了一点数,但依然一脸懵逼
比如高频执行以下指令(设命名空间为test):effect give @a conduit 1 0 true数据包函数上(设函数名为a)应该怎么做,在哪个文件夹应该创建哪些文件,如果再加一个effect give @a night_vision 1 0 true呢?以及如果再创建一个新的函数(设函数名为b)并且里面的指令为
复制代码这两条呢,如何同时再高频a和b这两个函数
最好是可以带给出一个带有数据包的1.13地图或者是直接提供数据包文件夹以供我参考(百度网盘形式)
这两个帖子琢磨了半天依然没有进展(1、2)1.12的function我是会用的,但是到了1.13就完全懵了,到处查资料然后又在q群里一直询问别人,有了一点数,但依然一脸懵逼
比如高频执行以下指令(设命名空间为test):effect give @a conduit 1 0 true数据包函数上(设函数名为a)应该怎么做,在哪个文件夹应该创建哪些文件,如果再加一个effect give @a night_vision 1 0 true呢?以及如果再创建一个新的函数(设函数名为b)并且里面的指令为
- execute as @a[nbt={SelectedItem:{id:"minecraft:diamond_sword"}}] as @e[tag=OG,nbt=!{Invulnerable:0b}] run data merge entity @s {Invulnerable:0b}
- execute as @a[nbt=!{SelectedItem:{id:"minecraft:diamond_sword"}}] as @e[tag=OG,nbt=!{Invulnerable:1b}] run data merge entity @s {Invulnerable:1b}
最好是可以带给出一个带有数据包的1.13地图或者是直接提供数据包文件夹以供我参考(百度网盘形式)
本帖最后由 aghinouz 于 2018-7-23 22:20 编辑
私聊证明:
私聊证明:
本帖最后由 Yat-man 于 2018-7-23 19:21 编辑
在datapacks/命名空间/data/minecraft/tags/function中加一个叫tick格式为json的文件
在tick.json文件中写{ "replace": false, "values": [ "命名空间:你要的函数文件(名字,不用格式)" ]}
同理,如两个就是{ "replace": false, "values": [ "命名空间:你要的函数文件(名字,不用格式)","命名空间:你要的函数文件(名字,不用格式)" ]}
在datapacks/命名空间/data/minecraft/tags/function中加一个叫tick格式为json的文件
在tick.json文件中写{ "replace": false, "values": [ "命名空间:你要的函数文件(名字,不用格式)" ]}
同理,如两个就是{ "replace": false, "values": [ "命名空间:你要的函数文件(名字,不用格式)","命名空间:你要的函数文件(名字,不用格式)" ]}
补充...楼上这种是利用minecraft会自动高频tag有minecraft tick的mcfunction。tick.json里面那段自己写的如你例子则为test:a。
同样的做法,如果是minecraft load的话会在每次进入存档或/reload时执行一次tag有load的mcfunction
虽然我个人是习惯在tick里标一个test:a,在a.mcfunction里直接加上各种需要高频的/function,免去总是打开tick.json编辑的烦恼...也可以说是1.12时gamerule只能高频执行一个function的结果...
同样的做法,如果是minecraft load的话会在每次进入存档或/reload时执行一次tag有load的mcfunction
虽然我个人是习惯在tick里标一个test:a,在a.mcfunction里直接加上各种需要高频的/function,免去总是打开tick.json编辑的烦恼...也可以说是1.12时gamerule只能高频执行一个function的结果...
aghinouz 发表于 2018-7-23 19:12
链接: https://pan.baidu.com/s/1rPExFzmNzga_lTBB1SwCUg 密码: amm8
非常抱歉刚才传的文件里,关于命名空 ...
这是高频多个函数的唯一办法吗
本帖最后由 aghinouz 于 2018-7-23 20:45 编辑
在函数内实现的话……据我所知应该是的(如有错误求轻点打脸),
原理是把需要高频的函数文件加入minecraft命名空间下tags/functions目录中的tick.json文件里
你可以根据实际情况写代码,例如加一个条件表示这个函数需不需要高频
安达市vfg 发表于 2018-7-23 20:29
这是高频多个函数的唯一办法吗
在函数内实现的话……据我所知应该是的
原理是把需要高频的函数文件加入minecraft命名空间下tags/functions目录中的tick.json文件里
你可以根据实际情况写代码,例如加一个条件表示这个函数需不需要高频
aghinouz 发表于 2018-7-23 20:33
在函数内实现的话……据我所知应该是的(如有错误求轻点打脸),
原理是把需要高频的函数文件加入m ...
那如何在那个lobby外的文件夹里(比如跟lobby在同一个文件夹的另一个文件夹"mob"里面的另外一批函数)创建函数并执行,也就是给多个函数分类
本帖最后由 aghinouz 于 2018-7-23 21:19 编辑
那就在lobby相同目录下创建一个其他名字的文件夹,例如"func",然后"func"里面添加一个函数文件,do.mcfunction
那么调用这个函数的命令就是
function test:func/do
按照你所描述的就是
funciton test:mob/...
不重启地图的话,注意要输入/reload命令
安达市vfg 发表于 2018-7-23 21:10
那如何在那个lobby外的文件夹里(比如跟lobby在同一个文件夹的另一个文件夹"mob"里面的另外一批函数)创 ...
那就在lobby相同目录下创建一个其他名字的文件夹,例如"func",然后"func"里面添加一个函数文件,do.mcfunction
那么调用这个函数的命令就是
function test:func/do
按照你所描述的就是
funciton test:mob/...
不重启地图的话,注意要输入/reload命令
aghinouz 发表于 2018-7-23 21:14
那就在lobby相同目录下创建一个其他名字的文件夹,例如"func",然后"func"里面添加一个函数文件,do.mcfun ...

这样有什么不对吗,我reload了很多遍就是没法在function指令里找到它
本帖最后由 aghinouz 于 2018-7-23 22:17 编辑
链接: https://pan.baidu.com/s/1VVPUT0sN_vnQ9uymzgW-Pw 密码: 1cfq
请将压缩包内的文件覆盖至存档根目录

如图所示,命名空间为test,且将命令集合到了a和b两个函数文件内
然后因为主函数加入了tick会一直循环,所以将a和b函数写进主函数也就可以反复运行了
链接: https://pan.baidu.com/s/1VVPUT0sN_vnQ9uymzgW-Pw 密码: 1cfq
请将压缩包内的文件覆盖至存档根目录

如图所示,命名空间为test,且将命令集合到了a和b两个函数文件内
然后因为主函数加入了tick会一直循环,所以将a和b函数写进主函数也就可以反复运行了