Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как проверять находится ли игрок в воде?

Метки:
Теги Теги
plugin новичек помоги
Статус
Закрыто для дальнейших ответов.

Aviloo

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Aviloo
Привет. Возможно, мой вопрос покажется легким , но я ни как не могу сделать проверку находиться ли игрок в воде .Например:
Код:
Material standBlock =  player.getLocation().getBlock().getType();
if(standBlock == Material.WATER)
- НЕ РАБОТАЕТ (Добавил просто ,чтобы люди не тратили свое время).
Надеюсь на вашу помощь.
 
Почему не работает?
Код:
   @EventHandler
    public void onMove(PlayerMoveEvent e) {
        Material standBlock = e.getPlayer().getLocation().getBlock().getType();
        if (standBlock == Material.WATER) {
            e.getPlayer().sendMessage("true");
        } else {
            e.getPlayer().sendMessage("false " + standBlock);
        }
    }
Вероятно, проблема не в этом фрагменте кода.
 
Привет. Возможно, мой вопрос покажется легким , но я ни как не могу сделать проверку находиться ли игрок в воде .Например:
Код:
Material standBlock =  player.getLocation().getBlock().getType();
if(standBlock == Material.WATER)
- НЕ РАБОТАЕТ (Добавил просто ,чтобы люди не тратили свое время).
Надеюсь на вашу помощь.
Если версия 1.13 и выше, игрок может находится в блоке который имеет состояние воды или Waterlogged блок https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/data/Waterlogged.html
В таком случае получай BlockData этого блока и попробуй скастить его в Waterlogged а там уже проверяй методом isWaterlogged()
 
Всем спасибо . Я нашел ошибку )
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх