SPIGOT-720: Fix NPE in TileEntity.getOwner

This commit is contained in:
Thinkofdeath 2015-03-22 19:45:26 +00:00
parent e387d8dc77
commit 7d0f836d0f

View File

@ -1,5 +1,5 @@
--- /home/matt/mc-dev-private//net/minecraft/server/TileEntity.java 2015-02-26 22:40:23.155608133 +0000 --- /home/matt/mc-dev-private//net/minecraft/server/TileEntity.java 2015-03-22 19:45:21.425850820 +0000
+++ src/main/java/net/minecraft/server/TileEntity.java 2015-02-26 22:40:23.155608133 +0000 +++ src/main/java/net/minecraft/server/TileEntity.java 2015-03-22 19:45:21.425850820 +0000
@@ -6,6 +6,8 @@ @@ -6,6 +6,8 @@
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -9,13 +9,14 @@
public abstract class TileEntity { public abstract class TileEntity {
private static final Logger a = LogManager.getLogger(); private static final Logger a = LogManager.getLogger();
@@ -217,4 +219,12 @@ @@ -217,4 +219,13 @@
a(TileEntityFlowerPot.class, "FlowerPot"); a(TileEntityFlowerPot.class, "FlowerPot");
a(TileEntityBanner.class, "Banner"); a(TileEntityBanner.class, "Banner");
} }
+ +
+ // CraftBukkit start - add method + // CraftBukkit start - add method
+ public InventoryHolder getOwner() { + public InventoryHolder getOwner() {
+ if (world == null) return null;
+ org.bukkit.block.BlockState state = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState(); + org.bukkit.block.BlockState state = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState();
+ if (state instanceof InventoryHolder) return (InventoryHolder) state; + if (state instanceof InventoryHolder) return (InventoryHolder) state;
+ return null; + return null;