- Баллы
- 76
Понадобилось мне, значит, сделать флаг на регион, такой, что при его наличии участникам давался какой-то бафф. Решил реализовывать с помощью встроенных Handler. На примере класса
com.sk89q.worldguard.session.handler.HealFlag сделал свой, осталось, казалось бы, дело за малым, зарегистрировать этот хандлер.
Вроде хандлер етот зарегистрировался нормально, на что мне указали в логах сервера. Но почему-то ничего не работает.
Версия wg - 6.2.2
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));
}