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

IlyaHaker

Активный участник
Пользователь
Баллы
76
Понадобилось мне, значит, сделать флаг на регион, такой, что при его наличии участникам давался какой-то бафф. Решил реализовывать с помощью встроенных 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
 
Как оказалось, эта фиговина работает только если игрок зашел первый раз с момента запуска на сервер после регистрации хандлера. С чем связано - не знаю, может кто сталкивался? Стандартные хандлеры при этом работают нормально.
 
Назад
Верх