public boolean onGameCommand(final CommandSender sender,
            final Command command, final String label, final String[] args) {
        final String[] split = new String[args.length + 1];
        split[0] = label;
        for (int i = 0; i < args.length; i++) {
            split[i + 1] = args[i];
        }
        for (final GameCommand c : gameCommands) {
            if (c.canExecute(sender, split)) {
                try {
                    c.execute(sender, split);
                } catch (final Exception ex) {
                    ex.printStackTrace();
                }
            }
        }
        return true;
    }