Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Очищение эффектов зейли

Тема в разделе "Разработка плагинов для новичков", создана пользователем pavelf8, 2 июн 2016.

  1. Автор темы
    pavelf8

    pavelf8 Активный участник Пользователь

    Баллы:
    66
    подскажите как с помощью if можно реализовать похожее, нужно проверить есть ли эффекты Любые на игроке и если есть очистить:

    Код:
        @EventHandler
        public void join (PlayerJoinEvent e){
            Player p = e.getPlayer();
            String name = p.getName();
                 
            for(PotionEffect effect : p.getActivePotionEffects())
            {
                p.removePotionEffect(effect.getType());
                p.sendMessage(name + ", очищен от эффектов!");
            }
    
     
    Последнее редактирование: 2 июн 2016
  2. Хостинг MineCraft
    <
  3. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Ты не русский?
     
  4. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    p.hasPotionEffect(PotionEffectType)
     
  5. Автор темы
    pavelf8

    pavelf8 Активный участник Пользователь

    Баллы:
    66
    Код:
        public void interact (Player p){
            if(p.hasPotionEffect(PotionEffectType.JUMP) == true);       
        }
    а как проверить все эффекты а не один конкретный?
     
  6. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    p.hasPotionEffects()
    P.S. При сравнение в if типа boolean не обязательно делать
    if(p.hasPotionEffect(PotionEffectType.JUMP) == true);
    можно просто
    if(p.hasPotionEffect(PotionEffectType.JUMP));
     
  7. Автор темы
    pavelf8

    pavelf8 Активный участник Пользователь

    Баллы:
    66
    без аргумента эклипс ошибку дает
    Код:
        @EventHandler
        public void interact (Player p){
            if(p.hasPotionEffects());       
        }
        
     
  8. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Нужно сделать проверку наличия хотя бы одного эффекта? Можно, конечно, но зачем? Проще банально все эффекты удалить.
    Или я не понял суть вопроса?
     
  9. GigiGgJBIRE

    GigiGgJBIRE Активный участник

    Баллы:
    61
    могу предложить не совсем правильный код, но он должен работать так:
    Ивент захода на сервер (Player p)
    Задать команду из консоли: /effect имя_p clear
    Конечно, лучше мне было скинуть код, но вижу что тема заброшена и поэтому скину просто альтернативу в словах.
     

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