aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch')
-rw-r--r--patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch b/patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch
new file mode 100644
index 0000000000..8e71b62924
--- /dev/null
+++ b/patches/server/0335-Show-blockstate-location-if-we-failed-to-read-it.patch
@@ -0,0 +1,33 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Spottedleaf <[email protected]>
+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 27f38af1eb71dda5dd175dcabc7a467ed772757a..bae73e3dced68156560997de63db902f6d99a251 100644
+--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+@@ -18,6 +18,7 @@ public abstract class CraftBlockEntityState<T extends BlockEntity> extends Craft
+
+ this.tileEntity = tileEntity;
+
++ try { // Paper - show location on failure
+ // Paper start
+ this.snapshotDisabled = DISABLE_SNAPSHOT;
+ if (DISABLE_SNAPSHOT) {
+@@ -30,6 +31,14 @@ public abstract class CraftBlockEntityState<T extends BlockEntity> extends Craft
+ 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: " + this.getWorld().getName() + " location: (" + this.getX() + ", " + this.getY() + ", " + this.getZ() + ")", thr);
++ }
++ // Paper end
+ }
+
+ public void refreshSnapshot() {