Paper/CraftBukkit-Patches/0108-Log-null-TileEntity-Owner.patch

30 lines
1.3 KiB
Diff

From 1874f36ea0732d6a192939fb70eb42404982c130 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 20 Apr 2014 11:16:54 +1000
Subject: [PATCH] Log null TileEntity Owner
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index b8d0961..c268a40 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -229,7 +229,14 @@ public abstract class TileEntity {
// CraftBukkit start - add method
public InventoryHolder getOwner() {
if (world == null) return null;
- org.bukkit.block.BlockState state = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState();
+ // Spigot start
+ org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ());
+ if (block == null) {
+ org.bukkit.Bukkit.getLogger().log(java.util.logging.Level.WARNING, "No block for owner at %s %d %d %d", new Object[]{world.getWorld(), position.getX(), position.getY(), position.getZ()});
+ return null;
+ }
+ // Spigot end
+ org.bukkit.block.BlockState state = block.getState();
if (state instanceof InventoryHolder) return (InventoryHolder) state;
return null;
}
--
2.1.4