比如说我想用某把剑攻击怪物时给这个怪物减速buff,该如何选择到这个怪物呢
原版是没办法放在怪物身上检测的,我们只能监听玩家的“攻击怪物”事件,再利用玩家选择怪物
监听的办法是利用进度:参见进度/JSON格式
使用 "trigger":"player_hurt_entity" ,可以限定被攻击的实体为指定生物
reward里要用function,用这个函数来选择怪物,利用目标选择器,选择在刚刚的一刻受到伤害的怪物,有两种办法:
监听的办法是利用进度:参见进度/JSON格式
使用 "trigger":"player_hurt_entity" ,可以限定被攻击的实体为指定生物
reward里要用function,用这个函数来选择怪物,利用目标选择器,选择在刚刚的一刻受到伤害的怪物,有两种办法:
- 第一种比较困难,检查怪物的 HurtByTimestamp 是否与当前时间(可以通过 /time query 获取)相同
- 第二种比较简单,检查怪物的 HurtTime 。这个可以直接用 @e[nbt={HurtTime:10}] 就可以了
 
水一下,谢谢qwqqwqqwq
lytDARK 发表于 2023-12-6 13:43
原版是没办法放在怪物身上检测的,我们只能监听玩家的“攻击怪物”事件,再利用玩家选择怪物
监听的办法是 ...
感谢!这样确实能检测到并且几乎不会误判
qweshen 发表于 2023-12-7 21:34
感谢!这样确实能检测到并且几乎不会误判
加上距离检测、实体类型检测和伤害类型检测就更完美了