mojira.dev
MCPE-243818

Rejoining inside a custom dimension logs a false "default biome not found, falling back to ocean"

When a player joins a world while standing in a custom dimension whose

minecraft:default_biome names a custom biome, the content log prints

[Blocks][warning]-Default biome 'ss_cdb:matching' for dimension 'ss_cdb:matching' was not found! Falling back to 'minecraft:ocean'

It’s a false warning. The biome is registered, `Dimension.getBiome` returns the declared biome both where the player stands and in chunks generated 1000 blocks away after the warning was written, and the client renders the custom biome's sky. Nothing falls back to ocean. The same join with a vanilla default biome, or with no default biome, logs nothing, and entering the custom dimension later in a session logs nothing either.

The pack contains four dimensions so the cases can be told apart:

| Dimension                | `minecraft:default_biome` | Case                                      |
| ------------------------ | ------------------------- | ----------------------------------------- |
| `ss_cdb:no_default`      | none                      | no default biome declared                 |
| `ss_cdb:vanilla_default` | `minecraft:plains`        | vanilla biome                             |
| `ss_cdb:matching`        | `ss_cdb:matching`         | custom biome, same id as the dimension    |
| `ss_cdb:mismatched`      | `ss_cdb:other`            | custom biome, different id than dimension |

ss_cdb:matching has a magenta sky and ss_cdb:other a green one, so a real fallback to ocean would be visible without reading a log.

Steps to reproduce

  1. Import the attached custom_dimensions_dimension_default_biome_on_join.mcaddon and create a new world with both packs applied (no experiments needed).

  2. Run /ss_cdb:bug_report enter matching. You are teleported into ss_cdb:matching, once the chunks load a stone platform will be built, and the pack logs the biome under you. The sky is magenta.

  3. While standing on the platform, leave the world (Save & Quit or /reload all).

  1. Reopen the same world. You load in on the platform. Once the chunk loads the pack logs the biome under you (context: "world_load"), then carries you 1000 blocks out along +X (and a further 1000 along +Z for every earlier far run in this world, so the spot is always one nobody has visited), waits for those chunks to generate, logs the biome there (context: "world_load_far"), and brings you back; returned_to in that entry is where you ended up. /ss_cdb:bug_report check and /ss_cdb:bug_report far repeat either reading at any time.

  2. Open the content log history (Settings > Creator > Content Log History).

  1. Repeat steps 2 to 5 with enter mismatched (green sky, declares ss_cdb:other), enter vanilla_default (declares minecraft:plains) and enter no_default (declares nothing).

Expected result

For every dimension, step 4 looks and logs the same as step 2, and the content log carries no warning about the dimension's default biome. A warning that says the biome was not found and the dimension fell back to ocean should only appear when that is what happened.

Observed result

Both readings in step 4 report the declared biome for every dimension:

| Dimension                | `world_load` at the platform | `world_load_far` 1000 blocks out | Sky     | Content log on that load |
| ------------------------ | ---------------------------- | -------------------------------- | ------- | ------------------------ |
| `ss_cdb:no_default`      | `minecraft:ocean`            | `minecraft:ocean`                | default | nothing                  |
| `ss_cdb:vanilla_default` | `minecraft:plains`           | `minecraft:plains`               | default | nothing                  |
| `ss_cdb:matching`        | `ss_cdb:matching`            | `ss_cdb:matching`                | magenta | warning                  |
| `ss_cdb:mismatched`      | `ss_cdb:other`               | `ss_cdb:other`                   | green   | warning                  |

For the two custom-biome dimensions the check prints biome_registered: true, biome_actual equal to biome_declared, fell_back_to_ocean: false, match: true, in both readings, while the content log for that same load holds:

[Blocks][warning]-Default biome 'ss_cdb:matching' for dimension 'ss_cdb:matching' was not found! Falling back to 'minecraft:ocean'
[Blocks][warning]-Default biome 'ss_cdb:other' for dimension 'ss_cdb:mismatched' was not found! Falling back to 'minecraft:ocean'

The warning appears on every load that starts inside either custom-biome dimension and never on a load that starts in the Overworld or in the other two dimensions. It names only the dimension the player is joining into: a rejoin inside ss_cdb:matching logs the ss_cdb:matching line alone, and a rejoin inside ss_cdb:mismatched logs the ss_cdb:other line alone, even though both dimensions are in the pack and both declare a pack biome.

Notes

The warning is tagged [Blocks]and this is intentional per a dev comment:

as for the log area it was just because we didnt have one for dimensions, we updated that tho so that error should say dimensions instead of blocks soon!

Attachments

Comments 1

Thank you for helping us improve Minecraft! We saved your files:

[media][media][media][media][media][media]

SmokeyStack

(Unassigned)

Unconfirmed

Windows

11

26.70.21 Preview

Retrieved