Помогите Что-то прерывает событие, но не знаю что?

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

WETEIDO

Активный участник
Пользователь
Баллы
61
Событие должно при смерти игрока телепортировать его в X точку мира, созданного плагином MultiWorld.
Код:
@EventHandler
    public void onDeatch(EntityDeathEvent e) {
       
        plg.getLogger().info("IN EVENT");
            Bukkit.getServer().getPlayer(e.getEntity().getName()).teleport(Main.spawnLoc);
       
       }

Но "IN EVENT" выводиться в консоль, а игрок не телепортируется.
Безымянный.png
Я попробовал сделать другое событие :

Код:
@EventHandler
    public void onDeatch(PlayerRespawnEvent e) {
       
       e.getPlayer().teleport(Main.spawnLoc);
       
       }

Но снова не работает. Тогда я решил проверить e.getPlayer().teleport(Main.spawnLoc); в другом событии
Код:
@EventHandler
    public void onDeatch(BlockBreakEvent e) {
       
       e.getPlayer().teleport(Main.spawnLoc);
       
       }

В этот раз получилось, но мне нужно телепортировать игрока после смерти, а не после разрушения блока.

Чуть позже в конфиге EssentialsX наткнулся на настройку приоритетов респавана игроков, исправил значения на none.
Безымянный.png

Но ни чего не изменилось.

Плагины на сервере:

Безымянный.png

Что может мешать телепортации игрока после смерти? Помогите пожалуйста.
 
Событие должно при смерти игрока телепортировать его в X точку мира, созданного плагином MultiWorld.
Код:
@EventHandler
    public void onDeatch(EntityDeathEvent e) {
      
        plg.getLogger().info("IN EVENT");
            Bukkit.getServer().getPlayer(e.getEntity().getName()).teleport(Main.spawnLoc);
      
       }

Но "IN EVENT" выводиться в консоль, а игрок не телепортируется.
Посмотреть вложение 50997
Я попробовал сделать другое событие :

Код:
@EventHandler
    public void onDeatch(PlayerRespawnEvent e) {
      
       e.getPlayer().teleport(Main.spawnLoc);
      
       }

Но снова не работает. Тогда я решил проверить e.getPlayer().teleport(Main.spawnLoc); в другом событии
Код:
@EventHandler
    public void onDeatch(BlockBreakEvent e) {
      
       e.getPlayer().teleport(Main.spawnLoc);
      
       }

В этот раз получилось, но мне нужно телепортировать игрока после смерти, а не после разрушения блока.

Чуть позже в конфиге EssentialsX наткнулся на настройку приоритетов респавана игроков, исправил значения на none.
Посмотреть вложение 50998

Но ни чего не изменилось.

Плагины на сервере:

Посмотреть вложение 50999

Что может мешать телепортации игрока после смерти? Помогите пожалуйста.
Можешь телепортировать игрока с задержкой когда он возродился. P.S - BukkitRunnable. Ещё можно когда он умер, сразу же его возродить. P.S - player.spigot().respawn(); И потом уже телепортировать.
 
Спасибо это сработало, но почему когда я использовал

это не работал?
Насколько я знаю, сначала выполняется ивент респавна, а потом уже игрок респавнится.
 
У respawn event есть метод set respawn location, ява доки чтоли почитал бы
 
Назад
Верх