diff --git a/src/de/steamwar/command/AbstractSWCommand.java b/src/de/steamwar/command/AbstractSWCommand.java index ef0ccf1..86a00f5 100644 --- a/src/de/steamwar/command/AbstractSWCommand.java +++ b/src/de/steamwar/command/AbstractSWCommand.java @@ -354,17 +354,21 @@ public abstract class AbstractSWCommand { boolean local() default false; + boolean invert() default false; + class Handler implements AbstractValidator { private AbstractValidator inner; + private boolean invert; public Handler(AbstractSWCommand.Validator validator, Class clazz, Map> localValidator) { inner = (AbstractValidator) SWCommandUtils.getValidator(validator, clazz, localValidator); + invert = validator.invert(); } @Override public boolean validate(T sender, Object value, MessageSender messageSender) { - return inner.validate(sender, value, messageSender); + return inner.validate(sender, value, messageSender) ^ invert; } } }