public void reloadMenus() {
        // Load in blacklisted and whitelisted commands from config
        commandBlacklist.clear();
        commandWhitelist.clear();
        for (String commandName : getConfig().getStringList("blacklist-commands")) {
            if (commandName.startsWith("/")) {
                commandName = commandName.substring(1);
            }
            commandBlacklist.add(commandName.toLowerCase());
        }
        for (String commandName : getConfig().getStringList("whitelist-commands")) {
            if (commandName.startsWith("/")) {
                commandName = commandName.substring(1);
            }
            commandWhitelist.add(commandName.toLowerCase());
        }

        // De-register the specific-opening permission for all menus
        PluginManager mgr = getServer().getPluginManager();
        for (Menu menu : menus.values()) {
            mgr.removePermission("cyom.menus." + menu.getId());
        }

        // Delete all menus
        menus.clear();

        // Ensure that the plugin folder has been created
        File menusFolder = new File(getDataFolder(), "menus");
        if (!menusFolder.exists()) {
            menusFolder.mkdirs();
        }

        // Load all .yml files in the plugin folder as menus
        // This may need to change if a config.yml is added
        for (File file : menusFolder.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().toLowerCase().endsWith(".yml");
            }
        })) {
            String id = file.getName().substring(0, file.getName().length() - ".yml".length()).toLowerCase();
            Menu menu = new Menu(this, id);
            menu.load();
            menus.put(id, menu);

            // Register the specific-opening permission for the loaded menu
            if (mgr.getPermission("cyom.menu." + id) == null) {
                mgr.addPermission(
                        new Permission("cyom.menu." + id,
                                "Allows the given player to use the /menu open command for the "
                                + id + " menu", PermissionDefault.FALSE));
            }
        }
    }