From 85d259828c414dd09689aa55984d663a59bc2423 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Mon, 18 Sep 2017 13:38:40 -0700
Subject: [PATCH] Avoid NPE during CraftBlockEntityState load


diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 54b719d91..3f2c5b2d5 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -60,7 +60,7 @@ public class TileEntitySign extends TileEntity {
             }
 
             public MinecraftServer C_() {
-                return TileEntitySign.this.world.getMinecraftServer();
+                return MinecraftServer.getServer(); // Paper - world may be null
             }
         };
 
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
index 266f87d7f..22dcaea72 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
@@ -24,6 +24,7 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
 
         // copy tile entity data:
         this.snapshot = this.createSnapshot(tileEntity);
+        if(this.snapshot != null) // Paper - avoid NPE during load
         this.load(snapshot);
     }
 
@@ -35,6 +36,7 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
 
         // copy tile entity data:
         this.snapshot = this.createSnapshot(tileEntity);
+        if(this.snapshot != null) // Paper - avoid NPE during load
         this.load(snapshot);
     }
 
-- 
2.15.1