xiao_c_
如何使攻击村民就能执行特定指令?可以使用函数

(=°ω°)丿
用进度,玩家在伤害村民后会执行函数 foo:bar
函数是放在 functions 文件夹,文件名以 .mcfunction 结尾,
进度是放在 advancements 文件夹,文件名以 .json 结尾。
进度 foo:233

代码:

  1. {
  2. "rewards": {
  3.     "function": "foo:bar"
  4. },
  5. "criteria": {
  6.     "villager": {
  7.    "trigger": "minecraft:player_hurt_entity",
  8.    "conditions": {
  9.   "entity": {
  10.     "type": "minecraft:villager"
  11.   }
  12.    }
  13.     }
  14. }
  15. }
函数 foo:bar

代码:

  1. # 重置进度
  2. advancement revoke @s only foo:233
  3. # 你要运行的命令,略

xiao_c_
(=°ω°)丿 发表于 2020-4-8 17:39
用进度,玩家在伤害村民后会执行函数 foo:bar
函数是放在 functions 文件夹,文件名以 .mcfunction 结尾,
...

伤害村民产生进度并持续撤销?
办法不错,但是如果不是服务端执行呢?
先给个最佳

(=°ω°)丿
xiao_c_ 发表于 2020-4-8 21:02
伤害村民产生进度并持续撤销?
办法不错,但是如果不是服务端执行呢?
先给个最佳 ...

原理是当玩家完成伤害村民的进度时以玩家的身份在玩家当前的位置运行函数 foo:bar,
在 foo:bar 函数里移除伤害村民的进度以便于重复触发,兼容多人。

xiao_c_
(=°ω°)丿 发表于 2020-4-8 21:10
原理是当玩家完成伤害村民的进度时以玩家的身份在玩家当前的位置运行函数 foo:bar,
在 foo:bar 函数里移 ...

进度可以隐藏吗?
如果这种进度可见,可能会影响游戏体验。

第一页 上一页 下一页 最后一页