- Баллы
- 103
- Имя в Minecraft
- GodlikE
Всем привет. Я делаю мини игру типа GhostCraft, и когда призрак умирает, игра должна закончиться. Я использую PlayerDeathEvent, делаю вроде всё правильно (код представлен ниже), но когда призрака убивают, почему то ничего не происходит. Как будто сервер просто игнорирует этот ивент, не выдает ни ошибок, ни WARN. Подскажите, в чем может быть проблема?
Вот код:
Для справки: p - это переменная, в которой лежит призрак.
И еще, объясните пожалуйста, в чем разница между ивентами PlayerDeathEvent и EntityDeathEvent? В PlayerDeathEvent тоже нельзя получить игрока методом getPlayer();
Вот код:
Код:
public void onDeath(PlayerDeathEvent d)
{
if(d.getEntity() instanceof Player){
Player player1 = (Player) d.getEntity();
if(player1 == p)
{
Bukkit.broadcastMessage("Призрак" + player1.getName() + " мертв!" + " Его убил " + player1.getKiller().getName());
for(Player player: Bukkit.getOnlinePlayers()){
player.getInventory().clear();
}
player1.sendMessage("Вы умерли!");
player1.removePotionEffect(PotionEffectType.INVISIBILITY);
player1.removePotionEffect(PotionEffectType.JUMP);
player1.removePotionEffect(PotionEffectType.SPEED);
sec = 11;
}
else{
player1.getInventory().remove(pboots);
player1.getInventory().remove(phelm);
player1.getInventory().remove(pleg);
player1.getInventory().remove(pplate);
player1.getInventory().clear();
player1.sendMessage("Вы умерли!");
Bukkit.broadcastMessage(player1.getName() + " уже покойник!" + " Его убил " + player1.getKiller().getName());
}
}
}
И еще, объясните пожалуйста, в чем разница между ивентами PlayerDeathEvent и EntityDeathEvent? В PlayerDeathEvent тоже нельзя получить игрока методом getPlayer();