Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-3983

World.setBiome() and World.getBiome() only work in loaded chunks

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • None
    • Windows 7.

      Java 1.8.0 171

    • 1.12.2-R0.1Snapshot

      World.setBiome() and World.getBiome() only perform the expected function on locations in loaded chunks.

       

      Call setBiome() on a column in an unloaded chunk and nothing happens.

       

      Call getBiome() on a column in an unloaded chunk and the function returns the original biome of that column. 

      For example, the original biome of a column as generated in a fresh world is PLAINS.  I change the biome to FOREST manually and verify that the biome has changed and been saved in the region file.  I restart the server so the column is no longer loaded (it's far from spawn).  I call getBiome() on the column and receive PLAINS.  I log back into the server, stand next to the column and call getBiome() and receive FOREST.  Presumably getBiome() is regenerating the chunk if it's not loaded, and returning the biome information from that regenerated chunk (instead of loading it).

       

      N.B. World.loadChunk() on the chunk containing the column in question before calling get/setBiome() also results in correct behaviour.

            Unassigned Unassigned
            Registry_Editor Reg
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: