A custom biome can replace part of an existing Bedrock biome and apply its own surface and visual settings. It does not, by itself, become a new terrain generator. This walkthrough uses the Iced Fox Bedrock Biome Generator to create a small, testable forest variant and explains what to inspect after export.
Use the right version and generation model
The generator's current export target is engine 1.26.50, with server biome format 1.26.30. Check the target shown in your exported manifests before importing. A newer format number is not a compatibility fix for an older installed game.
The current biome component reference documents partial replacement without an experimental toggle from format 1.21.110. The 26.30 changelog documents stable surface and subsurface builders at 1.26.30. Some older tutorial prose still describes experimental workflows; do not enable every experiment as a general repair strategy.
Other features you add can have their own requirements. These statements describe the biome components used here, not every possible add-on feature.
Choose a small, recognizable first biome
Begin with one biome and one replacement target. For example, create icedfox:misty_grove as a forest variant. Choose a visibly different top material for the first test, then replace it with the final artistic material once you know generation is working.
In the generator, select a starting preset, set the namespace and identifier, and save the editable project. Keep that project file with your source. A generated pack is useful for Minecraft; the editable project is useful when you need to revise several settings coherently.
Write down three acceptance conditions before changing sliders: the biome can be located, its top surface differs from the surrounding forest, and its intended client-side colors appear with the resource pack active. This makes failures easier to isolate.
Control where replacement is attempted
Choose the original biome to target, then set the replacement amount and frequency. Here is a component fragment like the one exported for a forest target; it belongs inside the server biome's components, not in a standalone biome file.
{
"minecraft:replace_biomes": {
"replacements": [{
"dimension": "minecraft:overworld",
"targets": ["forest"],
"amount": 0.3,
"noise_frequency_scale": 1.5
}]
}
}Target names here omit minecraft:. Amount controls the replacement attempt through noise; it is not a guarantee that exactly 30 percent of an arbitrary screenshot becomes your biome. Frequency changes the spatial distribution: compare the resulting patch sizes rather than assuming that a higher value simply means more biome.
Replacement happens after the underlying terrain has been chosen. Expect inherited hills and valleys. For an island-shaped world or a custom mountain silhouette, changing this component alone is the wrong tool.
Separate surface, atmosphere and decoration
The material preview helps compare selected blocks. It is not a live Minecraft terrain simulation. Inspect top, middle, foundation, sea and sea-floor materials independently. A good-looking top layer can still conceal an unsuitable underwater floor or a harsh cliff transition.
The exported behavior pack handles server biome settings; the resource pack supplies client biome visuals. If the biome exists but its intended appearance does not, check resource-pack activation before changing replacement noise.
Start without decorations. Once the biome can be found, add one supported decoration rule and test it separately. The current generator exports simple block-decoration rules; it does not invent complete custom trees, buildings, ore systems or audio from a preset. Tags can also make a biome match existing placement rules, so review them instead of accumulating every familiar tag.
Export and inspect a fresh world
- Resolve the generator's validation errors and inspect the exported file list.
- Export the packs, import them and activate the matching behavior and resource packs in a disposable test world.
- Use a game version meeting the manifest's minimum target and enable cheats for diagnosis.
- Run the locate command with your exact identifier, then visit the reported area.
- Inspect the surface, underground boundary, water edge and client visuals. Read the Content Log before changing multiple settings.
/locate biome icedfox:misty_groveTest a few fresh worlds or seeds rather than one lucky occurrence. Record the settings used for each export and compare one variable at a time. Keep screenshots of the real in-game result alongside your project; the editor preview is not evidence of successful generation.
Understand new chunks and world updates
Existing generated terrain does not become a clean test of a new biome configuration. Use a fresh world for comparisons, and back up existing worlds before updating generation packs. Exploring newly generated areas can expose transitions between old and new settings.
The replacement guide discusses ordering and world-generation changes. Append new replacement entries instead of casually reordering established ones. Keep pack IDs stable when issuing an update, and retain the previous exported release so a reported regression can be reproduced.
Diagnose missing or unexpected biomes
- Unknown biome identifier: inspect pack activation, spelling, format compatibility and Content Log errors.
- No nearby result: verify the chosen original target exists in the dimension and test fresh terrain. Do not immediately add every target.
- Right location, wrong colors: inspect the matching client biome and resource pack.
- No trees or structures: replacement is not a complete decoration system; check the relevant placement rules and tags.
- Different terrain than the preview: the material preview does not generate world geometry.
Sources and verification
References checked on October 29, 2026. Examples were checked against these references and validated structurally; in-game acceptance checks are included above for your target version.
- Microsoft Learn: Biome overview
- Microsoft Learn: Biome component reference
- Microsoft Learn: Partial biome replacement
- Minecraft 26.30 changelog: stable surface builders