Помогите Помогите, не работает телепортация при смерти

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

iRouDer

Участник
Пользователь
Баллы
31
Имя в Minecraft
iRouDer
Хотел сделать не большой плагин, где после смерти будет телепортировать на координаты.
Код рабочий, плагин тоже, ошибок нет, но телепортация после смерти не работает.
Помогите кто знает пж

Код:
package lct.main;
 
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.Bukkit;
import org.bukkit.Location;
 
 
public class Events implements Listener {
   public Events(Main plugin) {
 
   }
 
   @EventHandler
   public void quit(PlayerDeathEvent e) {
      Player p = e.getEntity();
      if (e.getEntityType() == EntityType.PLAYER && p.isDead()) {
         p.teleport(new Location(Bukkit.getWorld("world"), 479, 9, 116)); 
 
      }
 
   }
}
p.teleport(new Location(Bukkit.getWorld("world"), 479, 9, 116)); Вот это не работает
 
Последнее редактирование:
Это и не сработает - игрок же мертв, и не может быть телепортирован нормально. Вместо этого используй PlayerReapawnEvent, а вместо телепортации event.setRespawnLocation(loc)
 
Это и не сработает - игрок же мертв, и не может быть телепортирован нормально. Вместо этого используй PlayerReapawnEvent, а вместо телепортации event.setRespawnLocation(loc)
А куда это именно поставить?
 
тоже самое, но в скобках (PlayerRespawnEvent event). Получаешь игрока event.getPlayer(); -> и как написал imDaniX event.setRespawnLocation(loc)

По сути эт все


Код:
package lct.main;

import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.Bukkit;
import org.bukkit.Location;


public class Events implements Listener {
   public Events(Main plugin) {

   }

   @EventHandler
   public void quit(PlayerRespawnEvent e) {
     Player p = e.getPlayer();
     if (e.getEntityType() == EntityType.PLAYER && p.isDead()) {
        event.setRespawnLocation(new Location(Bukkit.getWorld("world"), 479, 9, 116));

     }

   }
}
Вроде все правильно, но теперь
if (e.getEntityType() == EntityType.PLAYER && p.isDead()) { <= тут ошибка
 

Вложения

  • 2021-04-20_11-31-46.png
    2021-04-20_11-31-46.png
    7,5 КБ · Просмотры: 6
Код:
package lct.main;

import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.Bukkit;
import org.bukkit.Location;


public class Events implements Listener {
   public Events(Main plugin) {

   }

   @EventHandler
   public void quit(PlayerRespawnEvent e) {
     Player p = e.getPlayer();
     if (e.getEntityType() == EntityType.PLAYER && p.isDead()) {
        event.setRespawnLocation(new Location(Bukkit.getWorld("world"), 479, 9, 116));

     }

   }
}
Вроде все правильно, но теперь
if (e.getEntityType() == EntityType.PLAYER && p.isDead()) { <= тут ошибка
Tебе ж черным по желтому пишет, что нет метода getEntityType() - убери эту проверку. Здесь и в принципе if не нужен.
 
Выстави в essentials локацию респавна где тебе нужно и не мучай свой мозг.
 
Назад
Верх