本帖最后由 早晨解说 于 2022-5-17 18:43 编辑
复制代码
用getplayer可以获取被击杀的玩家
复制代码用getkiller可以获取击杀者,
当问题来了,如果击杀者是生物怎么办,
如果直接用getkiller的话会null
getkiller获取的是player类型:(
那么如果是生物击杀玩家呢,比如说zombie
纯新手,不怎么会描述
解决方法(详见tcejorPoiK
复制代码
- getEntity().getPlayer()
用getplayer可以获取被击杀的玩家
- getEntity().getKiller()
当问题来了,如果击杀者是生物怎么办,
如果直接用getkiller的话会null
getkiller获取的是player类型:(
那么如果是生物击杀玩家呢,比如说zombie
纯新手,不怎么会描述
解决方法(详见tcejorPoiK
- var entityDamageEvent = player.getLastDamageCause();
- if (entityDamageEvent instanceof EntityDamageByEntityEvent) {
- var entityDamageByEntityEvent = (EntityDamageByEntityEvent) entityDamageEvent;
- final Entity entity = entityDamageByEntityEvent.getDamager();
- // something...
- }
Player#getLastDamageCause()可以获取玩家最后一次受到伤害的EntityDamageEvent,将其转为EntityDamageByEntityEvent或者EntityDamageByBlockEvent再获取造成此次伤害的实体/方块。