@Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
        if (commandLabel.equalsIgnoreCase("mcrp")) {
        	if (args.length == 0) {
        		commands.get(2).run(sender, args);
        		return true;
        	}
        	if (args.length >= 1) {
                String command = args[0];
                // Shift args down
                String[] newArgs = new String[args.length-1];
                for (int i = 1; i < args.length; i++) {
                    newArgs[i-1] = args[i];
                }
                for (SubCommand subCmd : commands) {
                    if (subCmd.getCommand().equalsIgnoreCase(command)) {
                    	subCmd.run(sender, newArgs);
                        return true;
                    }
                }
                // Command not found, send help
                commands.get(0).run(sender, null);
                return true;
            } else {
                // Send help
                commands.get(0).run(sender, null);
                return true;
            }
        }
        if (commandLabel.equalsIgnoreCase("skillinfo")) {
        	commands.get(5).run(sender, args);
        	return true;
        }
        if (commandLabel.equalsIgnoreCase("skills")) {
        	commands.get(6).run(sender, args);
        	return true;
        }
        if (commandLabel.equalsIgnoreCase("binds")) {
        	commands.get(1).run(sender, args);
        	return true;
        }
        return false;
    }