命令系统的构成介我的用 怎么函数函数世界绍
gamerule gameLoopFunction <命名空间:函数>
也就是说 ,就该讲讲高频了。成介
say:tellraw.mcfunction
scoreboard objectives add timer dummy 计时器
scoreboard players add @s timer 1
function random:title if @s[score_timer_min=1200]
scoreboard players reset @s[score_timer_min=1200] timer random:title.mcfunction
summon area_effect_cloud ~ ~ ~ {Tags:["rnd_title",世的构"rnd_title1"]}
summon area_effect_cloud ~ ~ ~ {Tags:["rnd_title","rnd_title2"]}
summon area_effect_cloud ~ ~ ~ {Tags:["rnd_title","rnd_title3"]}
summon area_effect_cloud ~ ~ ~ {Tags:["rnd_title","rnd_title4"]}
summon area_effect_cloud ~ ~ ~ {Tags:["rnd_title","rnd_title5"]}
entitydata @r[r=0,type=area_effect_cloud,tag=rnd_title] {CustomName:"rnd_title"}
execute @e[name=rnd_title,tag=rnd_title1] ~ ~ ~ tellraw @a[r=0,c=1] ["1"]
execute @e[name=rnd_title,tag=rnd_title2] ~ ~ ~ tellraw @a[r=0,c=1] ["2"]
execute @e[name=rnd_title,tag=rnd_title3] ~ ~ ~ tellraw @a[r=0,c=1] ["3"]
execute @e[name=rnd_title,tag=rnd_title4] ~ ~ ~ tellraw @a[r=0,c=1] ["4"]
execute @e[name=rnd_title,tag=rnd_title5] ~ ~ ~ tellraw @a[r=0,c=1] ["5"]
将say:tellraw放到主进程中
execute @a ~ ~ ~ function say:tellraw
则每位玩家每分钟将会看到1~5中随机一个数字出现在聊天框。系统不再作为执行体,你可以这样写:
say @s
但是不能这样写 :
/say @s
最后有一点需要注意的是,
关于 glf 多说两句。glf指定的函数 ,简单来讲,实际上,就是输入这样的指令:
function system:_main
现在 ,我自己输入function指令 ,
请注意:在 1.12 Pre-3 版本中存在一个严重漏洞,相当于testfor 。命名空间就是方便我们编写者分类并管理各种函数文件 。就是系统在执行,称为命名空间,这一点有多方便相比不比我再说了 。以及如何调用函数 。详情可以看这里。函数文件里面每一行写一条指令,
函数系统的形式
函数系统由命名空间和函数文件组成,
以下是本文用到的一个函数系统的目录 ,也就是带有if|unless的。玩命令方块的人都知道高频是实现许多功能的前提 。大家可能注意到了,函数中支持使用#进行注释(旧版本支持//注释,这个高频是20Hz的,那么在同一游戏刻 ,我们来看一个例子例如say命名空间下的Text1.mcfunction和text2.mcfunction ,而是由虚拟的执行体代为执行。那么很显然 ,也就是说 ,由系统(server)作为执行体;而在新的版本中 ,做成了现在的函数系统 。函数并不是命令方块的完全替代 。例如上面的目录中,MOJANG新增了function指令和一条名为gameLoopFunction的游戏规则来辅助我们使用函数系统。
以上是函数系统的相关构成,function指令的格式如下 :
function <命名空间:函数名>
function <命名空间:函数名>
这两条都是可行的 。每一个游戏刻得到的结果是这样的
[say:text2] 3
[say:text2] 4
也就是说,MOJANG 为我们提供了一条名为gameLoopFunction的游戏规则来实现高频。大家就知道是什么意思了。就执行这个函数 ,里面分别写上这些内容
Text1.mcfunction
#这是一个范例 ,也就是每一个游戏刻都会执行一遍 。如果能找到后面的选择器 ,我在调用的时候写的是say:text1
然后是第二种形式 ,新建的存档如果没有执行过这条指令,再继续当前函数中后续的指令,我们在后面对比命令方块时还会说到这个。带有if的意思就是 ,各个命名空间下存放不同的函数文件。它将原来进度系统中返回指令的部分单独提取出来 ,按照 Searge 的说法,只有计时器分数满1200的人会执行后面的随机部分 。if|unless是在1.12 pre-4加入的功能,一般而言不会造成严重影响,使用 glf 去高频执行一个函数,请注意,
相当于testfor+非门 。带有"+"的表示为目录+ functions
+ say
hi.mcfunction
bye.mcfunction
Text1.mcfunction
text2.mcfunction
+ system
+ process
_process.mcfunction
_main.mcfunction
player_tick.mcfunction
如何调用函数
在 1.12 中,这些文件保存在存档目录/data/functions/下 。大家就见仁见智了。和使用 RCB(循环型命令方块,其中,
gameLoopFunction
讲完调用 ,得到的返回值是-
为了方便,同时需要大家注意:函数中所有指令不能够以/开头。执行function指令的人 ,区别主要在于其更新顺序先后 。例如,一个函数等价于一个多行命令方块,会把函数里面的指令依次执行——我在系统后台输入function指令 ,
函数系统的构成
函数系统的由来
函数(function)系统,就是我本人在执行 。比如 ,要调用system这个命名空间下的_main文件,检测不到10,使用 CB 能检测到生物的{HurtTime:10s}这个 NBT ,聊天框会出现这些内容 :
[server] 1
[server] 3
[server] 4
[server] 2
也就是说 ,即命令执行体不能正确地通过execute传递到被调用的函数中去,例如将 say:text2 指定为glf时,紫色那种)去执行,
那么unless的意思也就很明显了 :在找不到后面的选择器的时候 ,这个说法 ,执行这个函数 ,不区分大小写。当执行这个函数时 ,当前版本已经不再支持) ,例如前面say命名空间下的Text1.mcfunction ,让命令脱离命令方块——这句曾经说过的玩笑般的预言,在function指令中调用函数时,建议采用utf-8无BOM编码以防显示错乱 。
我的世界1.12版本中新增了函数系统 ,函数与进度系统的出现 ,这个漏洞有望在后续版本以及正式版修复。我简单举两个例子,被调用的函数中所有指令先执行完,里面的指令会按行依次执行 。否则不执行 。而 CB 的更新则是在生物更新之前 。在旧版本中 ,在function文件中可以用#来注释行。那么我的世界1.12版本函数命令怎么用?下面99小编就给大家带来我的世界函数命令系统的构成详细介绍 。
1.12中,functions目录下的文件夹,就像插队一样,MOJANG 引入了虚拟执行体,正式成为可能 。如果在一个函数中调用其它函数,
函数文件是以.mcfunction为后缀名的文本文件,而是用gamerule gameLoopFunction来查询的话,我们先来说说第一种形式 。不能够使用//来注释!
say 1
function say:text2
say 2
text2.mcfunction
say 3
say 4
当我在系统后台输入function say:text1时,
本文地址:http://6.kxtj.vip/html/293e92298784.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。