Paper/Spigot-Server-Patches/0403-Show-blockstate-location-if-we-failed-to-read-it.patch

38 lines
1.5 KiB
Diff

From 8313014b2fa3ce58ec2100c96d600e07b061acc6 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sat, 15 Jun 2019 10:28:25 -0700
Subject: [PATCH] Show blockstate location if we failed to read it
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
index 7cb4c3e503..44e0556277 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
@@ -20,6 +20,8 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
public CraftBlockEntityState(Block block, Class<T> tileEntityClass) {
super(block);
+ try {// Paper - show location on failure
+
this.tileEntityClass = tileEntityClass;
// get tile entity from block:
@@ -39,6 +41,14 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
this.load(this.snapshot);
}
// Paper end
+ // Paper start - show location on failure
+ } catch (Throwable thr) {
+ if (thr instanceof ThreadDeath) {
+ throw (ThreadDeath)thr;
+ }
+ throw new RuntimeException("Failed to read BlockState at: world: " + block.getWorld().getName() + " location: (" + block.getX() + ", " + block.getY() + ", " + block.getZ() + ")", thr);
+ }
+ // Paper end
}
public final boolean snapshotDisabled; // Paper
--
2.22.0