From 7ed0f7f003af40d1f03ad4273e25824be3e33d1c Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Sun, 30 Aug 2020 13:59:14 -0400 Subject: [PATCH] Fix NPE in getBedSpawnLocation (#4238) --- .../0568-Fix-NPE-in-getBedSpawnLocation.patch | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Spigot-Server-Patches/0568-Fix-NPE-in-getBedSpawnLocation.patch diff --git a/Spigot-Server-Patches/0568-Fix-NPE-in-getBedSpawnLocation.patch b/Spigot-Server-Patches/0568-Fix-NPE-in-getBedSpawnLocation.patch new file mode 100644 index 000000000..67e5f480c --- /dev/null +++ b/Spigot-Server-Patches/0568-Fix-NPE-in-getBedSpawnLocation.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: JRoy +Date: Fri, 28 Aug 2020 12:01:25 -0400 +Subject: [PATCH] Fix NPE in getBedSpawnLocation + + +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +index b97be51c6859fa2d45c07c853980adb05d11b65f..715d2c5e888b4a5c955d2dee2429757a27b50b00 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -874,14 +874,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + + @Override + public Location getBedSpawnLocation() { +- World world = getHandle().server.getWorldServer(getHandle().getSpawnDimension()).getWorld(); ++ WorldServer world = getHandle().server.getWorldServer(getHandle().getSpawnDimension()); // Paper - Fix NPE in getBedSpawnLocation + BlockPosition bed = getHandle().getSpawn(); + + if (world != null && bed != null) { +- Optional spawnLoc = EntityHuman.getBed(((CraftWorld) world).getHandle(), bed, getHandle().getSpawnAngle(), getHandle().isSpawnForced(), true); ++ Optional spawnLoc = EntityHuman.getBed(world, bed, getHandle().getSpawnAngle(), getHandle().isSpawnForced(), true); // Paper - Fix NPE in getBedSpawnLocation + if (spawnLoc.isPresent()) { + Vec3D vec = spawnLoc.get(); +- return new Location(world, vec.x, vec.y, vec.z); ++ return new Location(world.getWorld(), vec.x, vec.y, vec.z); // Paper - Fix NPE in getBedSpawnLocation + } + } + return null;