diff options
Diffstat (limited to 'dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java')
-rw-r--r-- | dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java b/dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java index 6c03d8e..12483cc 100644 --- a/dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java +++ b/dicore3/command/src/main/java/io/dico/dicore/command/predef/DefaultGroupCommand.java @@ -6,7 +6,8 @@ import io.dico.dicore.command.IContextFilter; import org.bukkit.command.CommandSender; public class DefaultGroupCommand extends PredefinedCommand<DefaultGroupCommand> { - private static final DefaultGroupCommand instance = new DefaultGroupCommand(false); + private static final DefaultGroupCommand instance; + private static final IContextFilter noArgumentFilter; public static DefaultGroupCommand getInstance() { return instance; @@ -14,6 +15,7 @@ public class DefaultGroupCommand extends PredefinedCommand<DefaultGroupCommand> private DefaultGroupCommand(boolean modifiable) { addContextFilter(IContextFilter.INHERIT_PERMISSIONS); + addContextFilter(noArgumentFilter); this.modifiable = modifiable; } @@ -32,4 +34,23 @@ public class DefaultGroupCommand extends PredefinedCommand<DefaultGroupCommand> return null; } + static { + noArgumentFilter = new IContextFilter() { + @Override + public void filterContext(ExecutionContext context) throws CommandException { + if (context.getProcessedBuffer().hasNext()) { + throw new CommandException("No such command: /" + context.getAddress().getAddress() + + " " + context.getProcessedBuffer().next()); + } + } + + @Override + public Priority getPriority() { + return Priority.EARLY; + } + }; + + instance = new DefaultGroupCommand(false); + } + } |