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

Помогите Как зарегистрировать handler в worldguard?

Тема в разделе "Разработка плагинов для новичков", создана пользователем IlyaHaker, 14 июл 2019 в 00:21.

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

    IlyaHaker Участник Пользователь

    Баллы:
    36
    Понадобилось мне, значит, сделать флаг на регион, такой, что при его наличии участникам давался какой-то бафф. Решил реализовывать с помощью встроенных Handler. На примере класса
    com.sk89q.worldguard.session.handler.HealFlag сделал свой, осталось, казалось бы, дело за малым, зарегистрировать этот хандлер.
    Вроде хандлер етот зарегистрировался нормально, на что мне указали в логах сервера. Но почему-то ничего не работает.
    Код:
    public static final Factory FACTORY = new Factory();
    public static class Factory extends Handler.Factory<StrengthFlag> {
        @Override
        public StrengthFlag create(Session session) {
            return new StrengthFlag(session);
        }
    }
    
    public StrengthFlag(Session session) {
        super(session);
    }
    
    @Override
    public void tick(Player player, ApplicableRegionSet set) {
        LocalPlayer localPlayer = getPlugin().wrapPlayer(player);
        if(!set.queryValue(localPlayer, (BooleanFlag) CustomFlags.STRENGTH))
            return;
    
        player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 100, 1));
    }
    
    Версия wg - 6.2.2
     
  2. Mr Hosting
  3. Автор темы
    IlyaHaker

    IlyaHaker Участник Пользователь

    Баллы:
    36
    Как оказалось, эта фиговина работает только если игрок зашел первый раз с момента запуска на сервер после регистрации хандлера. С чем связано - не знаю, может кто сталкивался? Стандартные хандлеры при этом работают нормально.
     
  4. TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor

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