-
Bug
-
Resolution: Fixed
-
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) ~[?:?]