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

BiomeProvider getBiomes() does not like CherryGrove

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • None
    • None
    • None
    • This server is running CraftBukkit version 3686-Spigot-41150f3-58504fa (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT)
    • Yes

      Relates to https://hub.spigotmc.org/jira/browse/SPIGOT-7293

      When reporting Biome.CHERRY_GROVE as a Biome in a custom BiomeProvider via the overridden getBiomes() method this error is generated:

      java.lang.IllegalStateException: Missing key in ResourceKey[minecraft:root / minecraft:worldgen/biome]: ResourceKey[minecraft:worldgen/biome / minecraft:cherry_grove]

       

      Below is the minimal plugin for reference:

      package world.bentobox.test;
      import org.bukkit.World.Environment;
      import org.bukkit.WorldCreator;
      import org.bukkit.generator.BiomeProvider;
      import org.bukkit.plugin.java.JavaPlugin;
      
      public class TestPlugin extends JavaPlugin  {
          private BiomeProvider biomeProvider = new testBiomeProvider();
          @Override
          public void onEnable() {
              WorldCreator
              .name("temp")
              .biomeProvider(biomeProvider)
              .environment(Environment.NORMAL)
              .createWorld();
          }
      } 

      BiomeProvider class:

      public class testBiomeProvider extends BiomeProvider {
          @Override
          public Biome getBiome(WorldInfo worldInfo, int x, int y, int z) {
              return Biome.CHERRY_GROVE;
          }
          @Override
          public List<Biome> getBiomes(WorldInfo worldInfo) {
              return List.of(Biome.CHERRY_GROVE);
          }
      } 
      Full stack trace when world is created:
      [15:59:54] [Server thread/ERROR]: Error occurred while enabling TestPlugin v1.0.0-SNAPSHOT-LOCAL (Is it up to date?)
      java.lang.IllegalStateException: Missing key in ResourceKey[minecraft:root / minecraft:worldgen/biome]: ResourceKey[minecraft:worldgen/biome / minecraft:cherry_grove]
      	at net.minecraft.core.IRegistry.g(SourceFile:151) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
      	at net.minecraft.core.IRegistry.f(SourceFile:151) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.biomeToBiomeBase(CraftBlock.java:365) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.craftbukkit.v1_19_R3.generator.CustomWorldChunkManager.biomeListToBiomeBaseList(CustomWorldChunkManager.java:29) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.craftbukkit.v1_19_R3.generator.CustomWorldChunkManager.b(CustomWorldChunkManager.java:56) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.world.level.biome.WorldChunkManager.d(SourceFile:31) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:183) ~[guava-31.1-jre.jar:?]
      	at net.minecraft.world.level.biome.WorldChunkManager.c(SourceFile:41) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.world.level.chunk.ChunkGeneratorStructureState.a(ChunkGeneratorStructureState.java:136) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.world.level.chunk.ChunkGeneratorStructureState.lambda$1(ChunkGeneratorStructureState.java:64) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[?:?]
      	at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[?:?]
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
      	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
      	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
      	at net.minecraft.world.level.chunk.ChunkGeneratorStructureState.createForNormal(ChunkGeneratorStructureState.java:65) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.world.level.chunk.ChunkGenerator.createState(ChunkGenerator.java:106) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.level.PlayerChunkMap.<init>(PlayerChunkMap.java:216) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.level.ChunkProviderServer.<init>(ChunkProviderServer.java:81) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.level.WorldServer.<init>(WorldServer.java:284) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.craftbukkit.v1_19_R3.CraftServer.createWorld(CraftServer.java:1126) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.Bukkit.createWorld(Bukkit.java:672) ~[spigot-api-1.19.4-R0.1-SNAPSHOT.jar:?]
      	at org.bukkit.WorldCreator.createWorld(WorldCreator.java:405) ~[spigot-api-1.19.4-R0.1-SNAPSHOT.jar:?]
      	at world.bentobox.test.TestPlugin.onEnable(TestPlugin.java:18) ~[?:?]
      	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-api-1.19.4-R0.1-SNAPSHOT.jar:?]
      	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342) ~[spigot-api-1.19.4-R0.1-SNAPSHOT.jar:?]
      	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-api-1.19.4-R0.1-SNAPSHOT.jar:?]
      	at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:533) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:447) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:589) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:414) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:250) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:975) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:304) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3686-Spigot-41150f3-58504fa]
      	at java.lang.Thread.run(Thread.java:833) ~[?:?]

            Unassigned Unassigned
            tastybento tastybento
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: