/** @param event */ @EventHandler(priority = EventPriority.NORMAL) public void OnEntityDamanged(EntityDamageByEntityEvent event) { final Entity entity = event.getEntity(); final Entity damager = event.getDamager(); FundamentalPlayer player = null; if (entity instanceof Player) { // Defence player = SurvivalPlus.Players.getPlayer((Player) entity); } else if (damager instanceof Player) { // Attack player = SurvivalPlus.Players.getPlayer((Player) damager); } else if (damager instanceof Projectile) { // Archery final ProjectileSource source = ((Projectile) damager).getShooter(); if (source instanceof Player) { player = SurvivalPlus.Players.getPlayer((Player) source); } } if (player == null) { return; } PlayerSkillData data = (PlayerSkillData) player.getPlayerData(this.getPlayerDataClass()); if (data == null) { return; } final int oldlevel = data.getLevel(); data.addXP(1L); final int level = data.getLevel(); // Have we leveld up? give more health if (level != oldlevel) { setPlayerHitpoints(player.getPlayer(), level); } }