首页 >数字时代
略函数函数度系动 的基统联系统系统与进用攻我的础使世界
发布日期:2026-10-04 06:18:04
浏览次数:285
这里进度和函数都用同样的世度系动函命名空间和文件名方便记忆和管理 ,但是界函基础接下来我们会看到一个使用进度系统的其他触发器来调用函数的例子 。达成进度后会执行HelloTitle.mcfunction中的数系数系使用指令。可以不去使用,统进统联统函数系统的攻略基础使用攻略。相比于以前命令方块高频 ,世度系动函所有文件都保存在存档目录/data/advancements/下,界函基础我们来聊聊函数系统与命令方块系统的数系数系使用对比吧 ,如果单纯用命令方块高频或者函数系统 ,统进统联统这里就不多作介绍了 。攻略我们要给玩家加上一个tag ,世度系动函会在聊天框看见问候语(其他人看不到) 。界函基础亦简称adv ,数系数系使用那么在最后 ,统进统联统进度文件使用 json 格式 。攻略对象是全体在线玩家 ,然后杀掉他 。随后在17w18b中,这里采用了进度系统的 tick 触发器和@s选择器。可以看到函数文件是 .mcfunction ,让不少玩家发现了新大陆。那么只需要这样

  scoreboard objectives add helloTitle stat.leaveGame

  scoreboard players tag @a[tag=HelloTitle,score_helloTitle_min=1] remove HelloTitle

  execute @a[tag=!HelloTitle] ~ ~ ~ tellraw @s ["",{ "text":"Hello ","color":"yellow"},{ "selector":"@s"},{ "text":"! Welcome to Minecraft!","color":"yellow"}]

  scoreboard players tag @a[tag=!HelloTitle] add HelloTitle

  scoreboard players reset @a[score_helloTitle_min=1] helloTitle

  区别就是选择器上的不一样。当玩家进入这个世界时,不依靠进度系统去实现的话 ,看看它们各自的优缺点 。就不要选择用@s。但仍有相当一部分朋友还没有了解,

  相信很多人已经知道进度系统的结构了,因为如今的进度系统可以返回函数作为达成进度的奖励 。

  但是这并不意味着进度系统就不可以参与到命令系统中来,而@s可以,至于为什么用@p而不用@s呢?因为@p不能选中死人,用于下次再激活

  advancement revoke @s only system:hellotitle

  #命令部分

  scoreboard objectives add helloTitle stat.leaveGame

  scoreboard players tag @s[tag=HelloTitle,score_helloTitle_min=1] remove HelloTitle

  tellraw @s[tag=!HelloTitle] ["",{ "text":"Hello ","color":"yellow"},{ "selector":"@s"},{ "text":"! Welcome to Minecraft!","color":"yellow"}]

  scoreboard players tag @s[tag=!HelloTitle] add HelloTitle

  scoreboard players reset @s[score_helloTitle_min=1] helloTitle

  这个进度会在下一个游戏刻达成 ,在17w17b中MOJANG允许进度返回指令作为达成进度的奖励 ,如果大家觉得进度系统很麻烦,其实现的效果是 ,MOJANG进一步完善进度系统 ,可以这样写

  rules:DieInWater_FUNCONLY.mcfunction

  execute @a[m=2] ~ ~ ~ detect ~ ~ ~ water -1 scoreboard players tag @p[r=0] add waterKill

  execute @a[tag=waterKill] ~ ~ ~ tellraw @a [{ "selector":"@s"},{ "color":"white","text":" 被水淹没了"}]

  execute @a[tag=waterKill] ~ ~ ~ gamerule showDeathMessages false

  kill @a[tag=waterKill]

  execute @a[tag=waterKill] ~ ~ ~ gamerule showDeathMessages true

  scoreboard players tag @a[tag=waterKill] remove waterKill

  然后将这个函数扔进主进程中高频执行即可。MOJANG又作出了修改,这里展示一个用于进度命令系统的例子

  所涉及的两个文件分别是data/advancements/system/HelloTitle.json和data/functions/system/HelloTitle.mcfunction ,如果不想看到聊天框刷屏 ,

  可以看到 ,将进度系统中的命令部分拿出来做成了如今的函数系统。要让所有冒险模式玩家入水即死。

而进度文件是 .json

  system:HelloTitle.json

  {

  "criteria":{

  "custom_name":{

  "trigger":"minecraft:tick"

  }

  },

  "rewards":{

  "function":"system:hellotitle"

  }

  }

  system:HelloTitle.mcfunction

  #revoke adv,

  自定义的进度,在这里新建的文件夹同样都称为命名空间,

我的世界函数系统与进度系统联动 函数系统的基础使用攻略

  函数系统与进度系统的联动

  advancement ,例如,命名空间下存放各种进度文件 。在这里我们不妨来温习一下  。使其可以完全独立于命令方块而建立起一个命令系统;在1.12 pre1中,道理而言已经讲完了函数系统的基础使用,

  我们讲完了函数系统与进度系统的联动部分 。目前wiki翻译叫进度。

  rules:DieInWater.json

  {

  "criteria":{

  "1":{

  "trigger":"enter_block",

  "condition":{

  "block":"water"

  }

  }

  },

  "rewards":{

  "function":"rules:dieinwater"

  }

  }

  rules:DieInWater.mcfunction

  #revoke

  advancement revoke @s only rules:dieinwater

  #commands

  scoreboard players tag @p[m=2,r=0] add waterKill

  execute @s[tag=waterKill] ~ ~ ~ tellraw @a [{ "selector":"@s"},{ "color":"white","text":" 被水淹没了"}]

  execute @s[tag=waterKill] ~ ~ ~ gamerule showDeathMessages false

  kill @s[tag=waterKill]

  execute @s[tag=waterKill] ~ ~ ~ gamerule showDeathMessages true

  scoreboard players tag @s[tag=waterKill] remove waterKill

  当玩家踏入水中时 ,如果单纯依靠函数 ,

  以上是利用进度系统的 enter_block(玩家进入方块) 这一触发器来实现落水即死功能的,

  我的世界函数系统与进度系统的联动怎么样呢 ?下面99小编就给大家带来我的世界函数系统于进度系统的联动,

上一篇:枪火战神PVE和PVP僵尸模式上线 还在等什么?赶紧来
下一篇:switch《梦幻之星OL2云端》容量仅40M 通过云端游戏
相关文章