@Override
    public boolean onCommand(CommandSender sender, Command cmd, String firstArg, String[] args) {

        /*
         *   /---- [arena, list, join]
         *   |         /---- [arenaName]
         *   |         |         /---- [create, delete, set, check, regen, reload]
         *   |         |         |         /---- [digregion, playerspawn, exitpoint]
         *   |         |         |         |         /---- other arguments
         *   |         |         |         |         |
         *   |         |         |         |         |
         * args[0] | args[1] | args[2] | args[3] | args[4] ...
         */

        if (!(sender instanceof Player)) {
            sender.sendMessage("DigDug commands can only be performed by a player!");
            return true;
        }

        //Initialize the pSender variable
        //        Player pSender = (Player) sender;

        String commandName = cmd.getName();

        //Check if the command is for digdug
        if (commandName.equals("dd") | commandName.equals("digdug")) {

            //Check if there were any arguments. Else return.
            if (args == null || args.length == 0) {
                sender.sendMessage(msg.getMsg("cmd_dd_usage"));
                return true;
            }

            String commandBase = args[0].toLowerCase();

            switch (commandBase) {
            case "arena":
                cmdArena(sender, args);
                break;
            case "list":

                cmdList(sender);
                break;
            case "join":
                if (args.length >= 2) {
                    cmdJoin(sender, args[1]);
                } else {
                    sender.sendMessage(msg.getMsg("cmd_join_usage"));
                }
                break;
            default:
                sender.sendMessage(msg.getMsg("cmd_dd_usage"));
                break;
            }
        } else {
            return false;
        }
        return true;
    }