Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-80824

Spawning in some biomes causes "Unable to find spawn biome" warning

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 21w42a
    • Minecraft 1.8.6, Minecraft 15w47c, Minecraft 16w02a, Minecraft 16w07a, Minecraft 1.11, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 1.12, Minecraft 1.12.2, Minecraft 18w02a, Minecraft 18w07c, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w02a, Minecraft 19w07a, Minecraft 19w08b, Minecraft 19w12b, Minecraft 19w13b, Minecraft 19w14a, Minecraft 1.14.2, Minecraft 1.14.3 Pre-Release 3, 1.14.4, 19w37a, 19w45b, 1.15 Pre-release 1, 20w28a, 20w51a, 21w16a, 21w40a
    • Confirmed
    • Debug, World generation
    • Low

      The bug

      When you spawn in a some biomes a warning is printed in the Game Output. This can be easily reproduced by creating a "Redstone Ready" superflat world or by creating a desert world using the "Customized" generation.

      [Server thread/WARN]: Unable to find spawn biome
      

      However there is no crash or something similar.

      Affected biomes

      Incomplete

      • desert
      • snowy kingdom
      • void

      The reason

      The following is based on decompiled version of Minecraft 1.8 using MCP. All method and class names are the names used in the decompiled version.

      The reason why this happens is that for the superflat generation the net.minecraft.world.biome.WorldChunkManagerHell is used. The method public BlockPos findBiomePosition(int x, int z, int range, List biomes, Random random) which gets the spawning position returns for the net.minecraft.world.biome.WorldChunkManagerHell class null if the biome used for generation is not in the private List biomesToSpawnIn. This makes however no sense as a superflat uses only this biome. This means the private void createSpawnPosition(WorldSettings p_73052_1_) method of the net.minecraft.world.WorldServer class should only try to get a spawn position if the generation type is not superflat.

            Unassigned Unassigned
            marcono1234 Marcono1234
            Votes:
            11 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: