【{$randkws}】我的世界函数命令怎么用 函数系统的构成介绍 - {$web_name} 函数与进度操控系统的呈现

来源:豺狼之吻网 | 栏目:知识 | 2026-06-16 04:42:17

  我的全球1.12版次中新增了函数操控系统,那么我的全球1.12版次函数命令怎么用?下面99小编就给大家带来我的全球函数命令操控系统的构成详尽说明。

我的全球函数命令怎么用 函数操控系统的构成说明

  1.12中,函数与进度操控系统的呈现,让命令脱离命令方块——这句曾经说过的玩笑般的预言,官方变成或许。关于电影资讯,攻略

函数操控系统的构成

  函数操控系统的由来

  函数(function)操控系统,是 MC 1.12 Pre-1 版次中新增的一个特性,它将原来进度操控系统中返回指令的若干单独提取出来,做成了如今的函数操控系统。

  函数操控系统的形式

  函数操控系统由命名空间和函数文件组成,这些文件保存在存档目录/data/functions/下。functions目录下的文件夹,称为命名空间,关注彩蛋解析消息各个命名空间下存放各异的函数文件。实际上,命名空间就是便捷我们编写者分类并治理各类函数文件。

  函数文件是以.mcfunction为后缀名的文本文件,提议使用utf-8无BOM编码以防显示错乱。简易来讲,一个函数等价于一个多行命令方块,函数文件里面每一行写一条指令,当执行这个函数时,里面的指令会按行依次执行。假如在一个函数中调用其它函数,那么在同一游戏刻,被调用的回顾赵露思动态函数中所有指令先执行完,再持续当前函数中后续的指令,就像插队一样,我们在后面对比命令方块时还会说到这个。

  请注意:在 1.12 Pre-3 版次中存在一个严重漏洞,即命令执行体不能正确地经由execute传递到被调用的函数中去,这个漏洞有望在后续版次以及官方版修复。

  以下是本文用到的一个函数操控系统的目录,带有"+"的强调为目录

  + functions

  + say

  hi.mcfunction

  bye.mcfunction

  Text1.mcfunction

  text2.mcfunction

  + system

  + process

  _process.mcfunction

  _main.mcfunction

  player_tick.mcfunction

  如何调用函数

  在 1.12 中,MOJANG新增了function指令和一条名为gameLoopFunction的游戏规则来辅助我们使用函数操控系统。function指令的格式如下:

  function <命名空间:函数名>

  function <命名空间:函数名><挑选器>

  这两条都是可行的。其中,if|unless是在1.12 pre-4加入的特性,后面我会阐释到这个。天气变化最新进展报道我们先来说说第一种形式。例如上面的目录中,要调用system这个命名空间下的_main文件,就是输入这样的指令:

  function system:_main

  如今,我们来看一个例子例如say命名空间下的Text1.mcfunction和text2.mcfunction,里面分别写上这些信息

  Text1.mcfunction

  #这是一个范例,在function文件中可以用#来注释行。请注意,不能够使用//来注释!

  say 1

  function say:text2

  say 2

  text2.mcfunction

  say 3

  say 4

  当我在操控系统后台输入function say:text1时,聊天框会呈现这些信息:

  [server] 1

  [server] 3

  [server] 4

  [server] 2

  也就是说,执行function指令的人,会把函数里面的指令依次执行——我在操控系统后台输入function指令,就是操控系统在执行,我自己输入function指令,就是我本人在执行。大家或许注意到了,函数中扶持使用#开展注释(旧版次扶持//注释,当前版次已然不再扶持),也就是说被注释行不会身为指令而执行,这一点有多便捷相比不比我再说了。另外需要大家注意:函数中所有指令不能够以/开头。例如,你可以这样写:

  say @s

  但是不能这样写:

  /say @s

  最后有一点需要注意的是,在function指令中调用函数时,不确认大小写。例如前面say命名空间下的Text1.mcfunction,我在调用的时候写的是say:text1

  然后是第二种形式,也就是带有if|unless的。我简易举两个例子,大家就得知是什么意思了。

  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中随机一个数字出如今聊天框。也就是说,只有计时器分数满1200的人会执行后面的随机若干。那么很显然,带有if的意思就是,假如能找到后面的挑选器,就执行这个函数,否则不执行。相当于testfor。

  那么unless的意思也就很显著了:在找不到后面的挑选器的时候,执行这个函数,相当于testfor+非门。

  gameLoopFunction

  讲完调用,就该讲讲高频了。玩命令方块的人都得知高频是做到许多特性的前提。在函数操控系统中,MOJANG 为我们提供了一条名为gameLoopFunction的游戏规则来做到高频。它的格式是

  gamerule gameLoopFunction <命名空间:函数>

  也就是说,你可以指定一个函数来高频执行,这个高频是20Hz的,也就是每一个游戏刻都会执行一遍。新建的存档假如没有执行过这条指令,而是用gamerule gameLoopFunction来查询的话,得到的返回值是-

  以便便捷,我们将这个规则简称为glf。在旧版次中,glf指定的函数,由操控系统(server)身为执行体;而在新的版次中,MOJANG 引入了虚拟执行体,例如将 say:text2 指定为glf时,每一个游戏刻得到的结局是这样的

  [say:text2] 3

  [say:text2] 4

  也就是说,操控系统不再身为执行体,而是由虚拟的执行体代为执行。

  有关 glf 多说两句。使用 glf 去高频执行一个函数,和使用 RCB(循环型命令方块,紫色那种)去执行,是不一样的。区别首要在于其升级顺序先后。普通而言不会导致严重作用,但是在某些状况会不一样。比如,使用 CB 能测试到生物的{ HurtTime:10s}这个 NBT,而使用 glf 执行函数只能测试到的是{ HurtTime:9s},测试不到10,这是由于有关函数的升级,都放在了生物升级之后,而 CB 的升级则是在生物升级之前。详情可以看这里。按照 Searge 的说法,函数并不是命令方块的完全替代。这个说法,大家就见仁见智了。

  以上是函数操控系统的有关构成,以及如何调用函数。接下来我们来知晓一下函数操控系统的模块分类>>>

上一篇:恐怖模拟游戏《动物精神病》将于9月23日正式登陆Steam

下一篇:《看墓人》实机操作视频放出 中世纪墓园管理游戏

相关文章