@Override
    public boolean onCommand(CommandSender sender, Command cmd,
            String commandLabel, String args[]) {
        if (cmd.getName().equalsIgnoreCase("fireworkmanager")) {
            if (args.length == 0) {
                // 引数ゼロはヘルプ表示
                args = new String[] { "help" };
            }
            /*
             * else if (args[0].equalsIgnoreCase("gen")){ args[0] = "generate";
             * }
             */

            outer: for (BaseCommand command : commands
                    .toArray(new BaseCommand[0])) {
                String[] cmds = command.getName().split(" ");
                for (int i = 0; i < cmds.length; i++) {
                    if (i >= args.length || !cmds[i].equalsIgnoreCase(args[i])) {
                        continue outer;
                    }
                    // 実行
                    return command.run(this, sender, args, commandLabel);
                }
            }
            // 有効コマンドなし デフォルトコマンド実行
            new HelpCommand().run(this, sender, args, commandLabel);
            return true;
        }
        return false;
    }