CHHBlock 发表于 2020-7-1 20:18
虽然知道思路了但不知道该怎么做
但我把player.heal(*)改为了player.setHealth(player.getHealth+*)
达到 ...
但我把player.heal(*)改为了player.setHealth(player.getHealth+*)
达到了我想要的效果,但不知道这么做会不会出一些问题
用 https://paste.ubuntu.com 之类的粘贴箱贴代码上来。
本帖最后由 CHHBlock 于 2020-7-2 02:12 编辑
https://paste.ubuntu.com/p/KJ5m3yk5hj/
是关于一把武器,身上拥有该武器时会无法通过其他手段恢复生命
只有在使用该武器攻击时才会恢复自身生命
不知道这么做会不会出什么问题,也不知道有没有更好的解决方案
3TUSK 发表于 2020-7-2 00:54
用 https://paste.ubuntu.com 之类的粘贴箱贴代码上来。
https://paste.ubuntu.com/p/KJ5m3yk5hj/
是关于一把武器,身上拥有该武器时会无法通过其他手段恢复生命
只有在使用该武器攻击时才会恢复自身生命
不知道这么做会不会出什么问题,也不知道有没有更好的解决方案
CHHBlock 发表于 2020-7-2 02:05
https://paste.ubuntu.com/p/KJ5m3yk5hj/
是关于一把武器,身上拥有该武器时会无法通过其他手段恢复生命
...
抱歉回复迟了。
你现在的写法应该是对的:LivingHealEvent 只会在 EntityLivingBase.heal 调用的时候触发。你那个 hitEntity 直接调用 setHealth 是不会触发 LivingHealEvent 的。
不过这样一来如果有别的 Mod 也调用 setHealth 那就会绕开你的那个事件订阅。这个是无解的……不过我觉得你遇到这样的情况的可能性挺低的。