[SPIGOT-6064] world.getBiome() NULL Error Created: 12/Aug/20  Updated: 17/Aug/20  Resolved: 12/Aug/20

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: village_admin Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux


Version: git-Spigot-379750e-9f12e29 (MC: 1.16.2) (Implementing API version 1.16.2-R0.1-SNAPSHOT)
Plugin: n/a
Guidelines Read: Yes

 Description   

Doing the following

player.sendMessage("biome: " + player.getWorld().getBiome(1, 70, 1));

Throws a null point error...

[20:08:17] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'test' in plugin VillageMod v3.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:756) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.PlayerConnection.handleCommand(PlayerConnection.java:1697) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:1540) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(SourceFile:144) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(SourceFile:118) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:941) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:934) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(SourceFile:127) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:918) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:850) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
        at org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock.biomeBaseToBiome(CraftBlock.java:496) ~[spigot.jar:git-Spigot-379750e-9f12e29]
        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.getBiome(CraftWorld.java:927) ~[spigot.jar:git-Spigot-379750e-9f12e29]
.
.
.


 Comments   
Comment by Mart Ratas [ 17/Aug/20 ]

I'm actually still seeing this on the latest version of Spigot:

 

Version:

This server is running CraftBukkit version git-Spigot-379750e-e354566 (MC: 1.16.2) (Implementing API version 1.16.2-R0.1-SNAPSHOT)

 

Testing plugin:

https://github.com/mart-r/BiomeRemapTests/releases/tag/0.0.1-SNAPSHOT

 

Teleport to world:

execute as drives_a_ford in minecraft:more_custom_world run tp -120 70 -120

 

See exceptions:

[08:05:41] [Server thread/INFO]: Biome in more_custom_world (more_custom_world) at -304, -304 1 later:
[08:05:41] [Server thread/WARN]: java.lang.NullPointerException
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.util.CraftNamespacedKey.fromMinecraft(CraftNamespacedKey.java:24)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock.biomeBaseToBiome(CraftBlock.java:498)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.CraftChunkSnapshot.getBiome(CraftChunkSnapshot.java:133)
[08:05:41] [Server thread/WARN]:        at dev.ratas.brmt.CustomPopulator.checkBiome(CustomPopulator.java:35)
[08:05:41] [Server thread/WARN]:        at dev.ratas.brmt.CustomPopulator.lambda$0(CustomPopulator.java:24)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:83)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1059)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:352)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164)
[08:05:41] [Server thread/WARN]:        at java.base/java.lang.Thread.run(Thread.java:834)
[08:05:41] [Server thread/WARN]: java.lang.NullPointerException
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.util.CraftNamespacedKey.fromMinecraft(CraftNamespacedKey.java:24)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock.biomeBaseToBiome(CraftBlock.java:498)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.getBiome(CraftWorld.java:925)
[08:05:41] [Server thread/WARN]:        at dev.ratas.brmt.CustomPopulator.checkBiome(CustomPopulator.java:40)
[08:05:41] [Server thread/WARN]:        at dev.ratas.brmt.CustomPopulator.lambda$0(CustomPopulator.java:24)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:83)
[08:05:41] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1059)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:352)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846)
[08:05:41] [Server thread/WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164)
[08:05:41] [Server thread/WARN]:        at java.base/java.lang.Thread.run(Thread.java:834)

The exception isn't always thrown (i.e it seemed it wasn't for spawn chunks), but is thrown quite often.

Comment by Ryan Michela [ 12/Aug/20 ]

I'm also seeing this exact error.

Comment by Parker Hawke [ 12/Aug/20 ]

Can confirm. Any call to World#getBiome(x, y, z) will throw this exact error. Seems to be

RegistryGeneration.WORLDGEN_BIOME.getKey(base)

returning null.

git-Spigot-379750e-9f12e29

Generated at Sat Dec 13 22:30:26 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.