Meagic
玩家伤害事件 我翻了很久都找不到另外
如何获取 玩家被谁伤害的  



gundamMC
在 EntityDamageByEntityEvent 里
getDamager() 返回的是伤害者 (就是攻击的那位)
getEntity() 返回被伤害的 (扣血的那位)
需要注意的是,这里返回的是实体。 若要获取玩家先加个if判断实体是不是玩家把。。。

Meagic
gundamMC 发表于 2017-7-24 19:13
在 EntityDamageByEntityEvent 里
getDamager() 返回的是伤害者 (就是攻击的那位)
getEntity() 返回被伤害 ...

恩     虽然我已经找到了 不过我测试时 发现弓箭 雪球  鸡蛋 并不能检测 怎么回事?

X_mingyu
Meagic 发表于 2017-7-24 19:21
恩     虽然我已经找到了 不过我测试时 发现弓箭 雪球  鸡蛋 并不能检测 怎么回事? ...

投掷物是一个单独的实体,需要先判断damager是不是Projectile(也就是投掷物),然后再将damager的类型转为Projectile,最后再用setDamager(投掷物变量.getShooter());将攻击者转换为投掷物的发射者

Meagic
X_mingyu 发表于 2017-7-24 19:30
投掷物是一个单独的实体,需要先判断damager是不是Projectile(也就是投掷物),然后再将damager的类型转为P ...

求解怎么判断damager是不是投掷物
我是个新手 于是就新手的这样写了
if(e.getDamager() == Projectile)
但是错的= =

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