public void load() {

        config = new YamlConfiguration();
        worldEntries = new HashSet<WorldEntry>();
        worldProperties = new HashSet<WorldProperties>();
        try {
            config.load(new File(plugin.getDataFolder(), "config.yml"));

            ConfigurationSection worldLinks = config.getConfigurationSection("world-links");
            if(worldLinks == null) {
                worldLinks = config.createSection("world-links");
            }

            for(World world : Bukkit.getWorlds()) {
                if(worldLinks.getConfigurationSection(world.getName()) == null)
                    worldLinks.createSection(world.getName());
            }

            for(String key : worldLinks.getKeys(false)) {

                ConfigurationSection worldLink = worldLinks.getConfigurationSection(key);

                WorldEntry entry = new WorldEntry(key);
                entry.setAbove(worldLink.getString("above-world"));
                entry.setBeneath(worldLink.getString("below-world"));
                entry.setDepth(worldLink.getDouble("world-minimum-height", 0));
                entry.setHeight(worldLink.getDouble("world-maximum-height", 255));

                worldEntries.add(entry);
            }

            ConfigurationSection worldPropertiesConfig = config.getConfigurationSection("world-properties");
            if(worldPropertiesConfig == null) {
                worldPropertiesConfig = config.createSection("world-properties");
            }

            for(World world : Bukkit.getWorlds()) {
                if(worldPropertiesConfig.getConfigurationSection(world.getName()) == null)
                    worldPropertiesConfig.createSection(world.getName());
            }

            for(String key : worldPropertiesConfig.getKeys(false)) {

                ConfigurationSection worldProperty = worldPropertiesConfig.getConfigurationSection(key);

                WorldProperties entry = new WorldProperties(key);

                entry.setBlockModifier(worldProperty.getDouble("block-modifier", 1));

                worldProperties.add(entry);
            }

            config.save(new File(plugin.getDataFolder(), "config.yml"));
        } catch(Exception e) {
            e.printStackTrace();
        }
    }