早晨解说
本帖最后由 早晨解说 于 2022-5-17 18:43 编辑
  1. getEntity().getPlayer()
复制代码

用getplayer可以获取被击杀的玩家
  1. getEntity().getKiller()
复制代码
用getkiller可以获取击杀者,
当问题来了,如果击杀者是生物怎么办,
如果直接用getkiller的话会null
getkiller获取的是player类型:(
那么如果是生物击杀玩家呢,比如说zombie
纯新手,不怎么会描述



解决方法(详见‮tcejorPoiK
  1.         var entityDamageEvent = player.getLastDamageCause();
  2.         if (entityDamageEvent instanceof EntityDamageByEntityEvent) {
  3.             var entityDamageByEntityEvent = (EntityDamageByEntityEvent) entityDamageEvent;
  4.             final Entity entity = entityDamageByEntityEvent.getDamager();
  5.             // something...
  6.         }
复制代码



‮tcejorPoiK
Player#getLastDamageCause()可以获取玩家最后一次受到伤害的EntityDamageEvent,将其转为EntityDamageByEntityEvent或者EntityDamageByBlockEvent再获取造成此次伤害的实体/方块。

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