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

ChunkSnapshot#getBiome results in NPE

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • None
    • None
    • None
    • I don't believe it's relevant.

    • This server is running CraftBukkit version git-Spigot-798ea6a-2012f1e (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
    • Yes

      Fresh new world (obviously saw this happen on existing ones before), newly built jar from BuildTools, only the one plugin included.

       

      Minimal(ish) plugin to reproduce:

      	@Override
      	public void onEnable() {
      		getServer().getPluginManager().registerEvents(this, this);
      	}
      	
      	@EventHandler
      	public void onJoin(PlayerJoinEvent event) {
      		showBiome(event.getPlayer(), event.getPlayer().getLocation().getChunk());
      	}
      	
      	public void showBiome(CommandSender sender, Chunk chunk) {
      		ChunkSnapshot snapshot = chunk.getChunkSnapshot();
      		sender.sendMessage("Checking biome");
      		sender.sendMessage("Biome:" + snapshot.getBiome(0, 0));
      	}
      	
      	@EventHandler
      	public void onInteract(PlayerInteractEvent event) {
      		if (event.getHand() == EquipmentSlot.HAND) showBiome(event.getPlayer(), event.getPlayer().getLocation().getChunk());
      	}

      Result:

      Join:

      [08:20:03] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to ChunkSnapshotBiomeTest v0.0.1-SNAPSHOT
      org.bukkit.event.EventException: null
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:173) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.LoginListener.c(LoginListener.java:154) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.LoginListener.tick(LoginListener.java:53) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.NetworkManager.a(NetworkManager.java:220) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.ServerConnection.c(ServerConnection.java:129) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1091) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:393) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:970) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:815) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
      Caused by: java.lang.NullPointerException
      	at org.bukkit.craftbukkit.v1_14_R1.CraftChunkSnapshot.getBiome(CraftChunkSnapshot.java:108) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.showBiome(ChunkSnapshotBiomeTest.java:28) ~[?:?]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.onJoin(ChunkSnapshotBiomeTest.java:22) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	... 13 more
      

      Interact:

      [08:20:10] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to ChunkSnapshotBiomeTest v0.0.1-SNAPSHOT
      org.bukkit.event.EventException: null
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:429) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:432) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1238) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:27) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:909) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:902) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeAll(SourceFile:103) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:885) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:819) [spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
      Caused by: java.lang.NullPointerException
      	at org.bukkit.craftbukkit.v1_14_R1.CraftChunkSnapshot.getBiome(CraftChunkSnapshot.java:108) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.showBiome(ChunkSnapshotBiomeTest.java:28) ~[?:?]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.onInteract(ChunkSnapshotBiomeTest.java:33) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.14.4.jar:git-Spigot-798ea6a-2012f1e]
      	... 19 more
      

       I've included the plugin I used to test as well.

       

      Issue also present in 1.13.2
      Version: This server is running CraftBukkit version git-Spigot-1a3504a-84f3da3 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT)

      [08:34:08 ERROR]: Could not pass event PlayerJoinEvent to ChunkSnapshotBiomeTest v0.0.1-SNAPSHOT
      org.bukkit.event.EventException: null
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PlayerList.onPlayerJoin(PlayerList.java:343) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PlayerList.a(PlayerList.java:162) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.LoginListener.b(LoginListener.java:149) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.LoginListener.tick(LoginListener.java:53) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.NetworkManager.a(NetworkManager.java:230) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.ServerConnection.c(ServerConnection.java:119) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:994) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:831) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:729) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
      Caused by: java.lang.NullPointerException
      	at org.bukkit.craftbukkit.v1_13_R2.CraftChunkSnapshot.getBiome(CraftChunkSnapshot.java:103) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.showBiome(ChunkSnapshotBiomeTest.java:28) ~[?:?]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.onJoin(ChunkSnapshotBiomeTest.java:22) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:312) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	... 14 more
      [08:34:09 INFO]: UKTimeZones[/192.168.1.214:38034] logged in with entity id 41 at ([world]77.5, 72.0, 192.5)
      [08:34:14 ERROR]: Could not pass event PlayerInteractEvent to ChunkSnapshotBiomeTest v0.0.1-SNAPSHOT
      org.bukkit.event.EventException: null
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:304) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PlayerInteractManager.a(PlayerInteractManager.java:458) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1222) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:9) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_201]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_201]
      	at net.minecraft.server.v1_13_R2.SystemUtils.a(SourceFile:199) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:896) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:831) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:729) [spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
      Caused by: java.lang.NullPointerException
      	at org.bukkit.craftbukkit.v1_13_R2.CraftChunkSnapshot.getBiome(CraftChunkSnapshot.java:103) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.showBiome(ChunkSnapshotBiomeTest.java:28) ~[?:?]
      	at me.ford.snapshotbiometest.ChunkSnapshotBiomeTest.onInteract(ChunkSnapshotBiomeTest.java:33) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
      	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:312) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-84f3da3]
      	... 17 more
      

            Unassigned Unassigned
            drives_a_ford Mart Ratas
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: