Смерть игрока на арене и возраждение.

  • Автор темы Автор темы NeMaster
  • Дата начала Дата начала

NeMaster

Новичок
Пользователь
Баллы
21
Мне кажется что на других серверах я наблюдал что после смерти у игрока не появляется диалог "Вы умерли" с кнопкой возрождения, а игрок сразу спавнится.
event.setCancelled(true) в событии PlayerDeathEvent не отменят смерть игрока. Наверно надо обрабатывать onEntityDamageByEntityEvent и отменять последний удар или можно как то проще не дать игроку умереть?
 
Там экран смерти убирается и тепает на нужное место, никто смерть не отменяет
 
наверно надо обрабатывать onEntityDamageByEntityEvent и отменять последний удар
Можно так, а можно просто респаунить сразу после смерти при помощи player.respawn() или player.spigot().respawn()
 
Код:
    @EventHandler
    public void onDeath(PlayerDeathEvent e) {
        if (e.getEntity() instanceof Player) {
            Bukkit.getScheduler().runTask(plugin, () -> e.getEntity().getPlayer().spigot().respawn());
        }
    }
 
Последнее редактирование:
Мне кажется что на других серверах я наблюдал что после смерти у игрока не появляется диалог "Вы умерли" с кнопкой возрождения, а игрок сразу спавнится.
event.setCancelled(true) в событии PlayerDeathEvent не отменят смерть игрока. Наверно надо обрабатывать onEntityDamageByEntityEvent и отменять последний удар или можно как то проще не дать игроку умереть?
Отменяется, но надо дополнительно установить жизни > 0 в самом эвенте.
 
больше всего в этой ситуации беспокоит выпадение вещей. Хотелось бы при смерти при определённых обстоятельствах вещи сохранять.
 
больше всего в этой ситуации беспокоит выпадение вещей. Хотелось бы при смерти при определённых обстоятельствах вещи сохранять.
В PlayerDeathEvent есть метод event.setKeepInventory(true);
 
Назад
Верх