You are viewing a potentially older version of this package. View all versions.
Wubarrk-BetterContinents-0.9.4 icon

BetterContinents

This mod provides the tools to both improve the standard terrain generation of the game, and override aspects of it with image maps, allowing precise control over height, biomes, location placement, and forest coverage.

Date uploaded a day ago
Version 0.9.4
Download link Wubarrk-BetterContinents-0.9.4.zip
Downloads 77
Dependency string Wubarrk-BetterContinents-0.9.4

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

πŸ—ΊοΈ Better Continents

Valheim Mod Multiplayer Compatible Framework Compatibility Version

"The Allfather did not carve the Tenth Realm in a single stroke. With hammer and chisel, the jagged peaks were raised, deep fjords torn open, and ancient oceans poured into the abyss. Take up the chisel, Viking, and shape the continents to your will."

Better Continents is a total procedural and bitmap overhaul of Valheim's world generation. It gives world builders, server administrators, and cartographers complete control over terrain generationβ€”allowing you to replace or augment vanilla landmasses with custom heightmaps, bespoke biome layouts, precision spawn placements, and intricate multi-layered noise.

Whether you want to import a real-world map of Earth, recreate Middle-earth, sculpt realistic mountain ranges, or carve an unforgiving archipelago for a hardcore survival campaign, Better Continents makes it possible.

πŸ“œ Contents

βš”οΈ Core Features

Every map and setting below has its own chapter in BetterContinents-Guide.pdf, the Guide that ships in this package (see Documentation & Guides); the chapter is named in brackets.

πŸ”οΈ Precision Heightmap Layers

Shape mountains, cliffs, and ocean trenches using standard grayscale or RGB image files.

  • 🌐 Base Heightmap: Sets the continental foundation and sea level contours (Guide: Heightmap).
  • 🌊 Detail Heightmap: Adds fine-grained localized ridges, valleys, and coastal erosion (Guide: Flatmap).
  • ⛰️ Rough Heightmap: Biome-specific height noise blended seamlessly with vanilla terrain (Guide: Roughmap).
  • πŸŽ›οΈ Blend Modes: Supports customizable blending operations including Add, Multiply, Maximum, Minimum, and Masked blending.

🌿 Handcrafted Biome Layouts

Forget vanilla's rigid concentric circles. Draw your world's biomes by painting a simple image map (Guide: Biome map):

  • 🎨 Assign specific color keys to Meadows, Black Forest, Swamp, Mountain, Plains, Mistlands, Ashlands, and Deep North.
  • 🏝️ Paint custom islands dedicated entirely to specific biomes, or craft seamless, realistic climate transitions.
  • 🎯 Biome precision (working again in 0.9.0): set Biome precision from 1 to 5 and the ground follows your biome borders inside every 64 m terrain zone, on a grid of up to 6 x 6 cells (11 m), instead of only at the zone's corners. Ground textures, grass, vegetation and spawn points follow; heights do not change. 0 is vanilla.
  • 🧬 Expand World Data biomes (working again in 0.9.3): name the biomes Expand World Data adds in the biome map's legend (biomemap.txt) as its expand_biomes.yaml does, for example DeadWastes: 8B4513. Give each one a terrain in the yaml (without one Expand World Data leaves its ground flat under water). Install Expand World Data wherever the world is played, with the same yaml, and add new biomes at its end: it numbers them in that order, and the world stores the number.

🌸 Paint Alt Biomes (new in 0.8.1)

Valheim 1.0 layers 32 alt biomes onto regions of your world, such as Dark Meadows, Troll Black Forest, Fortress Mountain and Lox Plains. Better Continents lets you choose where they go:

  • πŸ–ŒοΈ Paint an alt-biome map (altbiomemap.png) and list its colours in a legend (altbiomemap.txt). Every alt biome has a default colour, and the legend is written for you when it is missing.
  • 🎯 Every painted area becomes a region of its own. Stack several alt biomes on one colour, keep an area free of alt biomes with none, or plant the region under a point with at x, z.
  • 🎲 Choose how the game places the rest: at random on unplanted land (what you planted counts toward its limits), only what you planted, or no alt biomes at all.
  • 🎨 Every release includes a palette file for Krita and GIMP (BetterContinents.gpl) and a printable colour chart.

🌲 Custom Forest Coverage

Take direct control over tree density and clearings across the realm (Guide: Forest):

  • πŸͺ“ Specify forest density maps, creating massive open tundra clearings in the Black Forest or thick ancient woods across the Plains.
  • 🌲 Override tree generation even in biomes that are normally 100% forested (Swamps, Mistlands, Mountains).

πŸ“ Absolute Location & Spawn Control

Dictate where history begins on your world (Guide: Spawn map):

  • ⛩️ Starting Temple: Pinpoint the exact coordinates of the sacrificial stones and player spawn (Guide: Start Position).
  • πŸ’€ Boss Altars: Place Eikthyr, The Elder, Bonemass, Moder, Yagluth, and the Queen exactly where your design intends.
  • πŸ’° Traders & Dungeons: Place Haldor, Hildir, and crypts on designated islands or mountain peaks.

🌊 Global Ocean & Continent Scaling

  • 🌊 Sea Level Adjustment: Dynamically raise sea level to drown lowland continents into island archipelagos, or lower it to expose vast continental land bridges (Guide: Global).
  • πŸ—ΊοΈ Continent Size Scaling: Scale continent frequency and landmass size independently without breaking seed coherence.

⚑ Multi-Layer FastNoiseLite Procedural Engine

Under the hood, Better Continents integrates a high-performance FastNoiseLite layer system:

  • 🧩 Stack unlimited noise layers (Perlin, Simplex, Cellular/Voronoi, Value).
  • 🎚️ Apply independent frequencies, fractal octaves, domain warping, and masking to each layer.

🎨 In-Game World Architect UI

  • πŸ–₯️ Design, preview, and adjust your world directly inside Valheim.
  • πŸ‘οΈ Interactive visual editor shows layer stacking, real-time height visualization, and immediate terrain regeneration.

πŸ’Ύ World File Sharing & Presets

  • πŸ“ Worlds generated with Better Continents save alongside a companion .BetterContinents configuration file.
  • 🀝 Anyone with the mod can load and explore your shared world identicallyβ€”no external dependencies or complex editors needed.
  • πŸ—‚οΈ Presets are complete world recipes (settings and every map) that you pick in the Better Continents box of the New World screen. Every world export makes one, bc_import makes one from any folder of maps, and bc savepreset saves the loaded world's. They live in BetterContinents/presets/ beside the game's worlds_local folder.
  • 🌱 A world's settings and maps can be handed to players in advance as a .bcworld file (bc_cache export), so joining a huge world skips the download. See Sharing Maps With Players.

πŸ“€ Export a World to Maps (new in 0.9.0)

Turn the world you are standing in, vanilla or Better Continents, into Better Continents image maps that rebuild it, ready to edit in any image editor:

  • πŸ—ΊοΈ A 16-bit heightmap sampled the way the game builds its terrain, plus biome, location, forest, heat, alt-biome, lava, moss and ground-paint maps with their legends, and an export.cfg holding the settings that load them.
  • πŸ—‚οΈ Every export also makes a New World preset named after the world and the time, so you can create a world from it straight away. A README.txt in the folder explains every file and the ways to load it, step by step.
  • πŸ“ Heights are encoded for Heightmap Amount 2 and Sea Level 0.5 unless you choose otherwise: -30 m to 370 m, with the waterline at 0.15. That is the encoding hand-made and generated maps use, so the two can be cut and pasted into each other.
  • ⏱️ It runs in the background while you play, and a cancelled export removes its partial files and its preset.
  • πŸ–₯️ Start it from the console (bc_export) or from the export HUD: a small status box (F9) and a window (F7) with every map explained, a size and time estimate, and a summary of the last export, modelled on Wubarrk's Eye.
  • πŸ“ Every export gets its own folder, BetterContinents/<world>/export-<time>/ beside the game's worlds_local folder, never inside the world's own save folder.

πŸ“₯ Make a World From an Export (new in 0.9.0)

Four ways, from the easiest:

  1. Pick the preset. In the main menu choose Start Game, pick your character and press Start, then New World; pick the export's preset (<world> <date> <time>) in the Better Continents box, and press Done. The preset is a copy of the folder as exported: it keeps working if you move or delete the folder.
  2. After editing the PNGs, bc_import. Open the console (F5) in the main menu or in a world and type bc_import: it remakes the preset from your newest export as it is now and selects it. bc_import list numbers every export, and bc_import 3, bc_import <world> or bc_import <folder> picks one, including any folder of maps you made yourself. The export window's Import tab does the same with buttons.
  3. To keep editing, the config. bc_import <number> config copies the folder's export.cfg into BetterContinents.cfg (your old file is kept beside it) and selects the preset "From Config", so every new world reads the PNGs as they are at that moment. Pasting export.cfg at the end of BetterContinents.cfg yourself does the same, with no restart.
  4. Or point Directory at the folder (since 0.9.4). Set Directory in BetterContinents.cfg to the export folder and create the world with "From Config": the folder's export.cfg comes with the maps and wins over your own settings for the keys it lists (edit or delete it to use your own; the log lists what it changed). Before 0.9.4 only the maps came, so at the default Heightmap Amount of 1 the world came out almost all ocean.

A world that already exists keeps the maps it was created with. For step-by-step instructions written for first-timers, see BetterContinents-Export-Guide.pdf in the package.

🧭 Map Mods & No-Map Worlds (new in 0.9.2)

  • πŸ—ΊοΈ The minimap is finished before the game hands it to other mods. It is still drawn on several CPU cores at once; the loading screen simply waits for it, as it does for vanilla's own map.
  • πŸ“œ ZenMap: cartography tables with hidden biomes and the admin map show the real land and sea, as crafted parchment maps already did. Before 0.9.2, ZenMap copied the map before Better Continents had drawn it, so the tables showed meadows and plains as sea.
  • πŸ•―οΈ No-map worlds: mods that show players a map only at a table or on a parchment, or give admins their map back, get the finished map on every join.
  • 🧩 Any mod that reads, copies or restyles the minimap when it loads sees the finished map, and mods that hook the game's map drawing run once, after it is done.

πŸ“¦ Recommended Companion Mods

To get the absolute most out of Better Continents, we strongly recommend pairing it with:

  • πŸ› οΈ Server Devcommands β€” Unlocks administrative flying, god mode, and unlimited camera exploration while testing and designing your custom worlds.
  • 🌍 Upgrade World β€” Essential for resetting zones, forcing location spawns (location_register), and regenerating modified map sectors on the fly.
  • πŸ”¨ Infinity Hammer β€” Perfect for building custom ruins, landmarks, and settlements directly into your handcrafted terrain.
  • πŸŒ€ TortalPortal β€” The ultimate portal overhaul with destination previews, favorites, and server synchronization across massive continents.

πŸ— Installation & Setup

⚑ Automated Installation (Recommended)

Install using Gale or your preferred mod manager directly from Thunderstore.

πŸ› οΈ Manual Installation

  1. Ensure BepInEx for Valheim is properly installed in your game directory.
  2. Download the latest BetterContinents.dll release.
  3. Place BetterContinents.dll into your Valheim/BepInEx/plugins/ directory.
  4. Dedicated servers running custom maps need Better Continents installed and the world's folder (created in the game client) in worlds_local/.

πŸ› οΈ How World Generation Works

πŸ—ΊοΈ Image Map Specifications

Better Continents uses standard image files (PNG recommended) placed in your world configuration folder:

  • πŸ“ Resolution: 2048Γ—2048 or 4096Γ—4096 square images provide excellent fidelity for the full Valheim world disc.
  • βšͺ Heightmaps: Grayscale 8-bit or 16-bit PNG. Pure black (#000000) is maximum ocean depth; pure white (#FFFFFF) is the highest mountain summit.
  • 🎨 Biome Maps: RGB PNG where distinct color codes correspond to each biome type.
  • 🌳 Forest Maps: Grayscale PNG where white denotes maximum tree density and black denotes open clearings.

πŸ“‘ Sharing Maps With Players

Valheim 1.0 saves each world as a folder, worlds_local/<WorldName>/. Better Continents stores the world's settings and image maps inside that folder, in a file named BetterContinents (no extension).

  • To share a world with players or a dedicated server, copy the whole <WorldName> folder.
  • A dedicated server cannot create a Better Continents world itself: create it in the game client, then copy the folder to the server.
  • πŸ“₯ Players need no copy of the world. When a player joins, the host or dedicated server sends them the world's Better Continents settings and image maps before the join finishes, and their game caches them, so the download happens once per world revision. A detailed world is tens of megabytes, and Valheim pins every Steam connection to about 150 KB/s, so that first join can take over a minute: Settings Transfer Rate raises it.
  • 🌱 Pre-seeding the cache. bc_cache export writes that same data as a shareable .bcworld file; a player who imports it (bc_cache import <file>) joins with no download at all. Better Continents also imports every .bcworld it finds under BepInEx/plugins/ (recursively) or in BepInEx/config/BetterContinents/seed/ when it starts, so a mod pack that contains nothing but a .bcworld file (for example "MyWorld-WorldCache") pre-seeds every player who installs it, with no command to run.

βš™οΈ Configuration & Console Commands

Better Continents has five console commands (open the console with F5). bc is for building worlds: it is a cheat command, so it needs devcommands, and it runs only on the host. bc_altbiomes, bc_export, bc_import and bc_cache work for every player, and bc_import and bc_cache work in the main menu too.

  • ⌨️ bc info β€” Prints the current world's settings.
  • ⌨️ bc reload <map> β€” Reloads an image map from disk and reapplies it (hm, bm, fom, lm, heat, … or all).
  • ⌨️ bc <group> <setting> [value] β€” Reads or changes a setting, for example bc g sl 0.55. Groups include g (global), h (heightmap), b (biome map), fo (forest) and st (start position).
  • ⌨️ bc scr β€” Saves a screenshot of the map.
  • ⌨️ bc export run [options], bc export status, bc export cancel β€” Exports the loaded world as maps that rebuild it, shows how far it has got, or stops it.
  • ⌨️ bc import run [what] [config], bc import list, bc import status β€” The same as bc_import, in the bc tree.
  • ⌨️ bc show [filter], bc hide [filter], bc bosses β€” Pins locations on the map, or removes the pins.
  • ⌨️ bc savepreset β€” Saves the current settings as a preset.
  • ⌨️ bc ab info, bc ab list [filter], bc ab here β€” Shows what each alt biome did in this world, which regions have alt biomes, and the region you stand in.
  • ⌨️ bc ab fn [path], bc reload ab β€” Sets the alt-biome map, or re-reads it and its legend from disk.
  • ⌨️ bc ab mode [Random|PlantedOnly|Off] β€” Sets how the game places the alt biomes you did not plant. bc ab help lists the rest: seed, chance, amount, overrides, export and more.
  • ⌨️ bc_altbiomes [here|names|hash|list] β€” For any player: the region you stand in, the alt-biome names and colours, and whether your placement agrees with the server's. list needs devcommands.
  • ⌨️ bc_export [size] [options], bc_export status, bc_export cancel, bc_export help β€” The world export for any player the server allows (Allow Export). A client's export holds only the locations the server shows on the map; bc_export server [options] asks a dedicated server to export its own world, for admins only. Options: amount=, sealevel=, heatscale=, edge=auto|on|off, forest=additive|exact, noheight, nobiomes, nolocations, noforest, noheat, noaltbiomes, nolava, nomoss, nopaint, nosources, nopreset, perpoint.
  • ⌨️ bc_import, bc_import list, bc_import <number>, bc_import <world>, bc_import <folder>, bc_import ... config, bc_import status, bc_import help β€” Makes a New World preset from an export (your newest one when you name none) and selects it; with config, loads the folder through BetterContinents.cfg and "From Config" instead. Works in the main menu and in a world, for any player.
  • ⌨️ bc_cache export, bc_cache import <file or folder>, bc_cache list, bc_cache help β€” A shareable form of the world cache, for pre-seeding players before they join an extra-large world. export writes a .bcworld file plus a .txt description into BetterContinents/<world>/ (on the host or a dedicated server: this world's settings; on a client: your cached copy of the world you are in); import copies one file, or every .bcworld under a folder, into your cache (ids you already have are skipped, never overwritten, and the id is computed from the file's content, never its name); list shows what is cached. import and list work in the main menu too, for any player.

πŸ“€ World Export and Import HUD

Turn on Hud in the [09 BetterContinents.Export] section of BepInEx/config/BetterContinents.cfg, or in Configuration Manager. In a world, F9 shows or hides a status box: the export's progress, the last export folder, and the map pixel you stand on. F7 opens the window, which frees the mouse while it is open. It has two tabs:

  • Export this world β€” every map with a line saying what it holds (point at one for more, including what the paint map costs), all on by default. Choose 1024, 2048, 4096 or 8192 pixels, set the Heightmap Amount and Sea Level the heights are encoded for, read the size, memory and time estimate, and press Start export. When it finishes, the window shows what the export came to (heights, clipped pixels, missing locations, the preset) with Copy the folder path and Open the folder.
  • Import an export β€” your export folders, newest first. Make preset builds a New World preset from the one you pick and selects it; Use as config loads it through BetterContinents.cfg and "From Config" instead.

The [09 BetterContinents.Export] settings:

  • Hud (off) β€” Shows the export HUD.
  • Allow Export (on) β€” Whether players connected to this server may export the world. The machine that runs the world always may: single player, the host, and a dedicated server's own console.
  • Hud Hotkey (F9) and Window Hotkey (F7) β€” None turns a key off.
  • Default Size (4096), Default Heightmap Amount (2) and Default Sea Level (0.5) β€” What bc_export and the export window use unless told otherwise.

These settings apply at once. Better Continents reads BetterContinents.cfg again whenever the file changes on disk, and Configuration Manager changes apply straight away. On a client connected to a server that runs Better Continents 0.9.0 or later, the server's Hud and Allow Export replace the client's own, and a change on the server reaches connected players immediately. Every other Better Continents setting is a default for new worlds: an edit is read at once, but it only changes worlds created afterwards.

πŸ“‘ Settings Transfer Rate

Settings Transfer Rate (KB512), in [07 BetterContinents.Misc] β€” How fast this machine (the host, or a dedicated server) sends a joining player's Better Continents settings and images over their Steam connection: Vanilla (Valheim's own ~150 KB/s), KB256, KB384, KB512, KB768, MB1, MB1_5, MB3 or Unlimited (100 MB/s). The rate is set on that one connection for the transfer only, then Valheim's own is restored.

  • Steam sends at exactly the rate set, with no congestion control, so pick one the server's upload can carry. The transfer itself moves about 4 MB/s at most. Measured on a local dedicated server with an 11.8 MB world: Vanilla 78 s, KB512 23 s, Unlimited 3 s.
  • Server enforced: only the value on the sending machine matters. A client's own value has no effect.
  • PlayFab (crossplay) connections cannot be raised at all and are sent at Valheim's rate; the log says so once.
  • The value is read when a player joins, and the file is re-read when it changes, so a new value applies to the next player who joins, without a restart.
  • The log shows Settings transfer rate: 512 KB/s (server setting) when a transfer starts and Settings sent: <bytes> in <seconds> (<KB/s>) when it ends.

πŸ“š Documentation & Guides

For deep dives, tutorials, and configuration references:

  • πŸ“• The Better Continents Guide for 0.9.x: BetterContinents-Guide.pdf, included in this package, with a clickable table of contents.
  • πŸ“— Export & Import, the easy guide, for 0.9.x: BetterContinents-Export-Guide.pdf, included in this package: illustrated, step-by-step instructions written for first-timers: exporting a world, editing the pictures, cutting and pasting between worlds, Biome precision, and making new worlds from an export.
  • πŸ€– Map-making, a skill for AI agents, for 0.9.x: BetterContinents-AI-Skill.pdf, included in this package: hand it to an AI agent (Claude, Gemini or another) and it learns the whole map-making craft for Valheim 1.0: what the game demands of a map, how to make one read as natural geography, the generator and checker toolkit (attached inside the PDF), world export and import, and the traps.
  • 🎨 Colour scheme: BetterContinents.gpl (a palette for Krita and GIMP with every biome and alt-biome colour) and altbiome-palette.png (a printable colour chart), included in this package.
  • πŸš€ Setup & Quick Start, ❓ FAQ, and a chapter for every image map and every setting β€” all in the same guide, with a clickable table of contents. The older online docs by Jere Kuusela describe Better Continents 0.7.x (no Valheim 1.0 Deep North, no lava map, no alt-biome planting, no export); everything in them is in the PDF, updated for Valheim 1.0.
  • 🌿 Alt biomes in Better Continents 0.8.1 β€” planting alt biomes with colours: the legend syntax, the colour scheme, the quota rule, the commands and the log lines.
  • πŸ”§ Valheim 1.0 migration notes β€” what changed for Valheim 1.0 and what has been verified in play.
  • πŸ’¬ Community Discord Server

πŸ“œ Credits & History

  • πŸ‘‘ Originally created by billw2012 β€” the pioneer of Valheim heightmap and custom continent generation.
  • πŸ› οΈ Maintained and expanded by JereKuusela.
  • ⚑ Modernized for Valheim 1.0 by Wubarrk.

βš–οΈ License

  • Better Continents is free software under the GNU Lesser General Public License v2.1 (LICENSE.md). Source code: github.com/RGlabs84/BetterContinents10. This package includes the exact source of this release as BetterContinents-source.zip.
  • BetterContinents.dll also contains ImageSharp (Apache-2.0), five .NET libraries (MIT) and FastNoiseLite (MIT). Their notices are in THIRD-PARTY-NOTICES.txt.
  • BetterContinents-Guide.pdf is the Better Continents Guide, originally written by billw2012 and maintained by JereKuusela, updated for Valheim 1.0 by Wubarrk. It is licensed under the GNU General Public License v3 (GUIDE-LICENSE.txt), and its source files are attached inside the PDF.
  • BetterContinents-Export-Guide.pdf is Better Continents: Export & Import, the easy guide, written by Wubarrk with Claude (Anthropic) as the drafting agent. It is licensed under the GNU General Public License v3 (GUIDE-LICENSE.txt), and its source files and pictures are attached inside the PDF.
  • BetterContinents-AI-Skill.pdf is Better Continents map-making: a skill for AI agents, written by Wubarrk with Claude (Anthropic) as the drafting agent. It is licensed under the GNU General Public License v3 (GUIDE-LICENSE.txt), and its source files and toolkit are attached inside the PDF.

CHANGELOG

  • v0.9.4

    • A world export loads correctly when the Directory setting points at it. Setting only Directory to an export folder and creating the world with "From Config" loaded the maps but not the settings in the folder's export.cfg, so the world kept BetterContinents.cfg's own: at the default Heightmap Amount of 1 the heightmap, stored for Heightmap Amount 2, put the waterline twice as high and a vanilla world came back almost all ocean (reported from the Valheim Worlds discord). The forest came out wrong too, and the game placed its own locations and random alt biomes beside the exported ones.
    • Now a new world made with "From Config" takes the export.cfg of the Directory along with its maps, the way a preset import does. Its settings win over BetterContinents.cfg for the keys it lists: edit export.cfg, or delete it, to use your own. Directory stays where BetterContinents.cfg points, so a moved export still loads, and BetterContinents.cfg itself is not changed. The log names every setting the export changed. A folder without export.cfg (hand-made maps) loads exactly as before, and presets and existing worlds are not affected.
    • An export's README.txt and export.cfg describe this as a fourth way to make a world from it.
  • v0.9.3

    • Works with Expand World Data's biomes again. A biome map's legend (biomemap.txt) names them the way Expand World Data's expand_biomes yaml does, for example "DeadWastes: 8B4513", in any case. Since 0.8.0 Better Continents accepted only the ten vanilla biome names: such a line was reported as "Invalid biome name", the whole legend fell back to the default colours, and the added biome's area became whichever biome's default colour was nearest (often Mistlands).
    • Legend names may be written as the game shows them, with spaces, underscores or hyphens ("Black Forest", "deep_north"). A legend line Better Continents cannot use (a name that is no biome here, a colour that does not parse, or a line that is not "name: colour") is reported and skipped, and the rest of the legend still applies: the pixels of a skipped name's colour are left to the default generation (None) instead of becoming the nearest other biome, and a vanilla biome whose colour does not parse keeps its default colour. Lines starting with # are comments. Before, one such line threw the whole legend away for the default colours.
    • bc reload bm and bc b fn keep the world's biome map when the new picture or legend has an error, and say so. Before, a legend error reloaded the picture with the default colours (a wrong path switched the biome map off), and the next save kept the damage.
    • Expand World Data's biomes survive world saves and the settings a server sends to its players. A world made with Better Continents 0.7.x and Expand World Data biomes loads with them again, unless a 0.8 or 0.9 version has saved it since: those versions erased them. There, reload the biome map from its picture (bc reload bm) and the next save keeps it.
    • The rest of Better Continents handles them too: Biome precision, alt-biome planting, location placement, the minimap (including Expand World Data's per-biome map heights, which Better Continents' own map drawing skipped), the "bc ab" report, and world export, which gives each added biome a colour of its own and names it in biomemap.txt.
    • Expand World Data numbers its biomes in the order its expand_biomes yaml lists them, and a Better Continents world stores that number. Install it wherever the world is played, with the same yaml, and add new biomes at the end. Where a world's biome map holds a biome Expand World Data does not define now (not installed, or its yaml changed), the default generation decides and the log says so; the map keeps the biome for when it is defined again. Before, such a biome would have stopped the world from loading.
    • Give each added biome a terrain in the expand_biomes yaml (for example "terrain: Plains"): its ground is then that biome's. Without one Expand World Data gives it vanilla's default ground, flat and 30 m under water, with or without Better Continents; only a heightmap with Override All hides that.
    • Where a biome map or heat map says what a place is, it now wins over Expand World Data's world yaml in every case: Expand World Data's Ashlands test could override the heat map, so Ashlands there had no lava heat or Ashlands weather.
    • locationmap.txt keeps Expand World Data's "Name:Alias" locations, which were dropped without a word; a location listed twice keeps its last colour, and a colour that does not parse skips only its line (before, both threw the whole legend away). Other mods' locations already worked by name.
    • On a world that uses Better Continents the server and every player must run the same version, so update them together, and install Expand World Data on all of them when its biomes are in the biome map.
  • v0.9.2

    • Works with ZenMap and no-map worlds. Better Continents drew the minimap on background threads and let the game carry on before the drawing was done, and the game hands the map to other mods at that moment. ZenMap copies it there to build the biome-hidden map it shows at cartography tables, so on a Better Continents world the tables showed meadows, plains and low ground as sea and the rest as noise. The map is now finished before the game carries on, so cartography tables and admin maps on no-map worlds show the real land and sea, as crafted parchment maps already did.
    • The minimap is still drawn on several threads, now on every CPU core (up to 16) instead of four. The loading screen waits for it, as it does for vanilla's single-threaded drawing, which takes longer.
    • Mods that hook the game's map drawing now run once, on the finished map. Before, they ran twice, the first time on an empty map.
    • If drawing the map on several threads fails, the error is logged and the game draws the map itself. Before, a failed thread was ignored and part of the map stayed empty.
    • No world needs changing: every player's game redraws the map each time it joins. On a world that uses Better Continents the server and every player must run the same version, so update them together.
  • v0.9.1

    • Rebuilt against Valheim 1.0.16 and re-verified: the reference check passes against the 1.0.16 client and dedicated server, the mod boots on a 1.0.16 dedicated server, and the offline alt-biome harness passes every check. Nothing that Better Continents patches changed in 1.0.16, and the game's alt-biome list is the same 32 entries.
    • The README, ALTBIOMES.md, the config descriptions, the console output, the generated legend headers and the printable colour chart no longer name a Valheim patch: they say "Valheim 1.0" or "vanilla". The three guides are rebuilt as the Valheim 1.0 / Better Continents 0.9.x editions, so neither a game patch nor a mod patch release needs new guides.
  • v0.9.0

    • Adds world export: it dumps the loaded world, vanilla or Better Continents, into Better Continents maps that rebuild it. That is a 16-bit heightmap sampled the way the game builds its terrain, plus biome, location, forest, heat, alt-biome, lava and moss maps with their legends, and an export.cfg with the settings that load them. Heights are encoded for Heightmap Amount 2 and Sea Level 0.5 by default (-30 m to 370 m, waterline 0.15).

    • The export samples on worker threads and writes its PNGs on a background task, so the game keeps running. It writes to BetterContinents/<world>/export-

    • Adds the "bc export run/status/cancel" console commands for the host, and "bc_export" for every player the server allows. "bc_export server" asks a dedicated server to export its own world (admins only).

    • Adds an export HUD modelled on Wubarrk's Eye: a status box (F9) with the progress, the last export folder and your map pixel, and a window (F7) with the export options, Start and Cancel. The window frees the mouse while it is open. Turn it on with Hud in the new "BetterContinents.Export" config section.

    • The Export section applies at once: Better Continents now reads BetterContinents.cfg again when the file changes on disk, and Configuration Manager changes apply straight away. Other settings are still read only when a world is created.

    • A server sends its Hud and Allow Export values to every Better Continents client, and a change reaches players who are already connected. A client connected to an older server, or to one without the mod, uses its own values.

    • Fixes the server forgetting a joining client's Better Continents version at the game's own handshake, which made a world using Better Continents turn every client away (since 0.7.31).

    • Adds a "Settings Transfer Rate" setting ("07 BetterContinents.Misc": Vanilla, KB256, KB384, KB512 (the default), KB768, MB1, MB1_5, MB3 or Unlimited, 100 MB/s). Valheim pins every Steam connection to about 150 KB/s, so a detailed Better Continents world could take over a minute to reach a joining player; this sets that one connection to the chosen rate for the transfer, then restores it. Steam sends at exactly the rate set (it has no congestion control), and the transfer itself moves about 4 MB/s at most: with an 11.8 MB world a join took 78 s at Vanilla, 23 s at KB512 and 3 s at Unlimited on a local dedicated server. Only the value on the machine that sends the settings (the host, or the dedicated server) matters, a client's own value has no effect, and the rate cannot be raised at all on PlayFab (crossplay) connections. The log shows the rate used and the transfer's size, time and speed.

    • Adds a shareable form of the world cache: "bc_cache export" writes a world's settings as a ".bcworld" file (the same data a joining client would otherwise download: 11.8 MB for a 2048 px world, more for larger ones) with a ".txt" description beside it; "bc_cache import <file or folder>" puts one into a player's local cache before they ever connect, so joining skips that download entirely; "bc_cache list" shows what is cached. Better Continents also imports any ".bcworld" it finds under BepInEx's plugins folder or in BepInEx/config/BetterContinents/seed/ automatically at startup, so a mod pack containing nothing but a ".bcworld" file pre-seeds every player who installs it. An import never overwrites an entry, and a file's id is computed from its content, never taken from its name.

    • Adds world import: "bc_import" (any player, in the main menu or in a world) makes a New World preset from an export folder, or from any folder of Better Continents maps with or without an export.cfg, and selects it, so Start, New World and Create make the world. With no argument it takes your newest export; "bc_import list" numbers them, and a number, a world's name or a folder picks one. "bc_import ... config" instead copies export.cfg into BetterContinents.cfg, keeping the old file beside it, and selects "From Config", for when you keep editing the PNGs. "bc import run/list/status" does the same in the host's debug tree.

    • Every export now makes a New World preset "<world> <date>

    • An import builds the settings exactly as "From Config" would, but from a copy of the config with export.cfg laid over it and on a worker thread, so your config is left alone (except the selected preset) and a loaded world is not touched. Making the same export's preset again replaces it; a preset of that name made some other way is moved aside, not overwritten.

    • The export HUD window has an Import tab (your exports, newest first, with Make preset, Use as config, Open the folder and Copy the folder path) next to the Export tab, which now explains every map in a line (and more when you point at it), estimates the size, memory and time, and shows what the last export came to: heights and clipped pixels, missing locations, the preset. The window scrolls when it is taller than the screen.

    • The paint map is now exported by default, like every other map ("bc_export ... nopaint" leaves it out). A Better Continents world's own terrain, vegetation and spawn maps, which no sampled map holds, are now copied into the export folder too, so the new world keeps them.

    • README.txt in every export is rewritten for first-timers: the three ways to make a world from the export, step by step, what every file is, and how to edit and cut and paste between exports. export.cfg starts with a short explanation. The old advice to quit the game before pasting export.cfg is gone: the config is read again while the game runs.

    • Fixes preset pictures never showing in the New World screen on Linux (and where the user name has a dot), and preset names with a dot being cut short there.

    • The Directory setting's description now lists all 13 map file names it loads.

    • Biome precision works again, now on Valheim 1.0 (it was switched off in 0.7.20). "Biome precision" 1 to 5 makes the ground follow the biome borders inside each 64 m terrain zone, on (N + 1) x (N + 1) cells down to 11 m, instead of only at the zone's 4 corners: ground textures, grass, vegetation and spawn points. 0 stays vanilla. Heights do not change, and "bc b p" changes it in a loaded world. An export's export.cfg carries the world's value.

    • Adds BetterContinents-Export-Guide.pdf to the package: "Export & Import, the easy guide", an illustrated, step-by-step guide for first-timers to exporting a world, editing the pictures, cutting and pasting between worlds, Biome precision and making new worlds from an export, with a table of what can go wrong and how to fix it (GPL-3.0, its source attached inside the PDF).

    • The package now carries three PDFs: the Better Continents Guide, "Export & Import, the easy guide", and "Map-making: a skill for AI agents" (BetterContinents-AI-Skill.pdf), a stand-alone document that teaches an AI agent how to author, check, export and import Better Continents maps; its toolkit is attached inside. - Known issue: the location map's grid is corner-based, unlike every other map's, so rotating or flipping an export's PNGs in an editor shifts every location by one pixel (10 m at 2048 px). Two locations can then land in the same 64 m zone, and the game keeps only the first: 487 of 11,817 were lost in a test world rotated by 180 degrees. Cut-and-paste and hand edits are not affected. To be fixed in a later version.

  • v0.8.1

    • Adds alt-biome planting: an alt-biome map (altbiomemap.png) plants Valheim's alt biomes with colours, the way the biome map plants biomes. Its legend (altbiomemap.txt, written with a default colour per alt biome when missing) says which colour plants what, and "at x, z" lines plant the region under a point. Every planted area becomes a region of its own.
    • Planted alt biomes count toward the game's per-alt-biome maximums when it places the rest at random.
    • Adds per-world alt-biome options in the new "BetterContinents.AltBiomes" config section: mode (Random, PlantedOnly, Off), grid, placement seed, chance, amount, region size and distance scales, region filters and per-alt-biome overrides. They are baked into each new world.
    • New worlds stop the alt-biome grid at the edge of the world when it is inside 10500 m.
    • Adds the "bc ab" and "bc reload ab" console commands, and "bc_altbiomes" for every player, to inspect, export and change alt-biome placement.
    • Clients use the server's alt-biome placement, and both sides log whether they agree.
    • Fixes an index out of range error on Expand World Size worlds smaller than 10500 m, and wrong alt-biome regions on larger ones.
    • Fixes Deep North weather on worlds with a biome map following the camera height instead of the map.
    • Fixes land beyond 10500 m on worlds with the map edge drop-off disabled taking the ocean's biome for terrain, vegetation and spawns.
    • Fixes locations that accept several biomes searching the wrong biome, or one the map lacks.
    • Fixes debug-mode map edits not reaching alt-biome regions and chunk biomes.
    • Guards the game's biome data cache with a fingerprint, so a cache built for other settings is never reused. Valheim 1.0.15 itself no longer reads that cache.
    • Worlds that use none of the new alt-biome features are saved exactly as 0.8.0 saves them. Worlds that do need 0.8.1 or later: 0.8.0 loads them without Better Continents.
  • v0.8.0

    • Updates the mod for Valheim 1.0.15.
    • Saves world settings in the new 1.0 chunked save format, inside the world's own folder.
    • Adds an upgrade path: a pre-1.0 world's settings are imported and moved into the world folder on its first save, and the old file is kept as "<world>.BetterContinents.pre10".
    • Carries the settings through Valheim's save operations (rename, copy, move), which filter by file extension and would otherwise drop or delete them.
    • Fixes the minimap drawing Swamp, Mountain, Plains and Mistlands as Black Forest, and restores the Ashlands and Mistlands map shading.
    • Fixes world generation hanging forever when the biome map omits a biome.
  • v0.7.31

    • Fixes wrong default name for moss map image file (was mossmmap.png, should be mossmap.png).
    • Fixes manually reloading heat map using forest map file path.
    • Fixes flat map being disabled when rough map blend was zero (should be only disabled when flat map blend is zero).
    • Fixes None biome on biome maps not using the default biome generation.
    • Fixes location pin removing possibly removing a random pin from the map.
    • Minor optimizations.
  • v0.7.30

    • Adds spawn map.
    • Adds vegetation map.
    • Changes the "Skip default location placement" config setting to be saved on the map settings.
    • Improves config settings layout.
    • Minor optimizations.
    • Fixes index out of range error when going out of map bounds.
    • Fixes "Disable map drop off" not working.
  • v0.7.29

    • Fixes some worlds not working.
  • v0.7.28

    • Adds fallback handling for lava when heat map is missing.
  • v0.7.27

    • Fixed for the new game version.