aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch')
-rw-r--r--Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch
new file mode 100644
index 0000000000..62cb8d2b8d
--- /dev/null
+++ b/Spigot-Server-Patches/0165-Option-to-remove-corrupt-tile-entities.patch
@@ -0,0 +1,45 @@
+From d85c1336679a692f2bb96c0fa34574419830b77c Mon Sep 17 00:00:00 2001
+From: Zach Brown <[email protected]>
+Date: Wed, 5 Oct 2016 16:27:36 -0500
+Subject: [PATCH] Option to remove corrupt tile entities
+
+
+diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+index bcf24cb49..220ecaf8d 100644
+--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+@@ -375,4 +375,9 @@ public class PaperWorldConfig {
+ private void maxAutoSaveChunksPerTick() {
+ maxAutoSaveChunksPerTick = getInt("max-auto-save-chunks-per-tick", 24);
+ }
++
++ public boolean removeCorruptTEs = false;
++ private void removeCorruptTEs() {
++ removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false);
++ }
+ }
+diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
+index 9f7f32dc2..d850dbfc3 100644
+--- a/src/main/java/net/minecraft/server/Chunk.java
++++ b/src/main/java/net/minecraft/server/Chunk.java
+@@ -783,11 +783,17 @@ public class Chunk {
+ "Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16));
+ e.printStackTrace();
+ ServerInternalException.reportInternalException(e);
++
++ if (this.world.paperConfig.removeCorruptTEs) {
++ this.removeTileEntity(tileentity.getPosition());
++ org.bukkit.Bukkit.getLogger().info("Removing corrupt tile entity");
++ }
+ // Paper end
+ // CraftBukkit end
+ }
+ }
+
++ public void removeTileEntity(BlockPosition blockposition) { this.d(blockposition); } // Paper - OBFHELPER
+ public void d(BlockPosition blockposition) {
+ if (this.j) {
+ TileEntity tileentity = (TileEntity) this.tileEntities.remove(blockposition);
+--
+2.12.0.windows.1
+