spigot/CraftBukkit-Patches/0061-Log-null-TileEntity-Owner.patch
2021-06-11 15:00:00 +10:00

29 lines
1.5 KiB
Diff

From 7d3410936fb39bfd9ea390a6225c3309cb600a92 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/world/level/block/entity/TileEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
index d5a1fbb1d..5ab7714ab 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
@@ -195,7 +195,14 @@ public abstract class TileEntity {
// CraftBukkit start - add method
public InventoryHolder getOwner() {
if (level == null) return null;
- org.bukkit.block.BlockState state = level.getWorld().getBlockAt(worldPosition.getX(), worldPosition.getY(), worldPosition.getZ()).getState();
+ // Spigot start
+ org.bukkit.block.Block block = level.getWorld().getBlockAt(worldPosition.getX(), worldPosition.getY(), worldPosition.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[]{level.getWorld(), worldPosition.getX(), worldPosition.getY(), worldPosition.getZ()});
+ return null;
+ }
+ // Spigot end
+ org.bukkit.block.BlockState state = block.getState();
if (state instanceof InventoryHolder) return (InventoryHolder) state;
return null;
}
--
2.25.1