Нужно у Player есть метод позволяющий узнать причину последнего урона.
Code:
@EventHandler
public void onJoin (PlayerJoinEvent event){
Regions.getSelector().setSelMode(event.getPlayer(),false);
}
public void onDeath (PlayerDeathEvent event){
Player damager = getDamager(event.getEntity().getLastDamageCause());
if (damager==null) return; // Игрок умер не в PVP
}
private Player getDamager(EntityDamageEvent event){
Player player = null;
if (event.getEntity() instanceof Player) player = (Player) event.getEntity();
else if (event instanceof EntityDamageByEntityEvent) {
Entity damager = ((EntityDamageByEntityEvent) event).getDamager();
if (damager instanceof Player) player = (Player) damager;
} else if (event instanceof EntityDamageByChildEntityEvent) {
Entity damager = ((EntityDamageByChildEntityEvent) event).getDamager();
if (damager instanceof Player) player = (Player) damager;
}
return player;
}
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him.
Here you can communicate, download plugins, also many other things get acquainted!
Register the account right now :3
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.