public class MelonPVPListener implements Listener {
//Листенер который слушает урон одной ентити по другой
@EventHandler
public void DamageListener(EntityDamageByEntityEvent event) {
/*По скольку Listener у нас void (Не возвращает ничего, то при любом ретурне он сразу завершает свою работу*/
/*Проверяем наследует ли наша ентити класс игрока.
!!! Обязательное действие!!!
Иначе при нанесении человеку урона скажем стрелой или мобом в консоль полетит ексепшн*/
if(!(event.getEntity() instanceof Player))
return;
/*Аналогично тому что написанно выше, но для игрока который бил*/
if(!(event.getDamager() instanceof Player))
return;
/*Теперь, когда мы проверили что обе ентити являются игроками, мы можем заявить об этом серверу, мол "Вот! Это игрок! Обращайся с ним как игроком." Если бы мы не сделали проверку ранее, а нас бы ударил скелет, то сервер попробовал бы обращаться со скелетом как с игроком, что как я уже и сказал вывело бы Ексепшн
/*Говорим серверу что под словом target мы будем иметь ввиду event.getEntity() которая к тому же и Player*/
Player target = (Player) event.getEntity();
/*Аналогично тому что выше, только для ентити которая нанесла удар*/
Player damager = (Player) event.getDamager();
/*Дальше идет твой код*/
}
}