Помогите Снятие флая

Leshatopoviy

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Lyooxa
Дорогие топовые кодеры.
Есть проблема, делая код, в котором при входе если у человека флай, и нет права, то он отключается и столкнулся с проблемой.
В коде снимается флай при входе, но не отправляется сообщение и не телепортирует игрока
Код:
    @EventHandler (priority = EventPriority.HIGHEST)
    public void onJoin2(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        if (p.getAllowFlight()) {
            if (!p.hasPermission("core.FlyBypass")) {
                int x = p.getLocation().getBlockX();
                int z = p.getLocation().getBlockZ();
                int y = p.getWorld().getHighestBlockYAt(x, z);
                Location location = new Location(p.getWorld(), x, y, z);

                p.teleport(location);
                p.setAllowFlight(false);
                p.setFlying(false);
                sendAfterTime(15, p, Main.in_fly);
            }
        }
    }
 
а с телепортом и прописью сообщения игроку?
Лол, оно тебя телепортирует на туже точку на которой ты стоишь... Чтобы ты не говорил, что я не прав, я тебе докажу, ты создаешь локацию такую как можно получить таким образом p.getLocation();
Код:
               int x = p.getLocation().getBlockX();
               int z = p.getLocation().getBlockZ();
               int y = p.getWorld().getHighestBlockYAt(x, z);
               Location location = new Location(p.getWorld(), x, y, z);
 
Лол, оно тебя телепортирует на туже точку на которой ты стоишь... Чтобы ты не говорил, что я не прав, я тебе докажу, ты создаешь локацию такую как можно получить таким образом p.getLocation();
Код:
               int x = p.getLocation().getBlockX();
               int z = p.getLocation().getBlockZ();
               int y = p.getWorld().getHighestBlockYAt(x, z);
               Location location = new Location(p.getWorld(), x, y, z);
оно телепортирует на ту же точку, но если ты в небе, то ты будешь на земле
 
А можно вопрос...? А где ты бл*ть сообщение отправляешь? Код sendAfterTime покажи.
 
А можно вопрос...? А где ты бл*ть сообщение отправляешь? Код sendAfterTime покажи.
Код:
  public static void sendAfterTime(int after, Player p, String message) {
        new BukkitRunnable() {
            @Override
            public void run() {
                p.sendMessage(message);
            }
        }.runTaskLater(getInstance(), after);
    }
 
Назад
Верх