papermc/Spigot-Server-Patches/0023-Remove-invalid-mob-spawner-tile-entities.patch

42 lines
2.2 KiB
Diff
Raw Normal View History

From cca0cf4d9897633eccc132aa8668eb7c030d0a9c Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
2015-03-08 01:16:09 +00:00
Date: Sun, 8 Mar 2015 01:06:14 -0600
Subject: [PATCH] Remove invalid mob spawner tile entities
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
2015-03-20 00:41:36 +00:00
index 2141126..ac8b1ba 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
2015-03-20 00:41:36 +00:00
@@ -786,6 +786,11 @@ public class Chunk {
2015-03-08 01:16:09 +00:00
tileentity.D();
this.tileEntities.put(blockposition, tileentity);
// CraftBukkit start
+ // PaperSpigot start - Remove invalid mob spawner tile entities
+ } else if (this.world.paperSpigotConfig.removeInvalidMobSpawnerTEs && tileentity instanceof TileEntityMobSpawner &&
2015-03-08 01:16:09 +00:00
+ org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getType(blockposition)) != org.bukkit.Material.MOB_SPAWNER) {
2014-11-28 01:17:45 +00:00
+ this.tileEntities.remove(blockposition);
+ // PaperSpigot end
} else {
2014-11-28 01:17:45 +00:00
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
2015-03-08 01:16:09 +00:00
+ " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getType(blockposition)) + ") where there was no entity tile!");
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
2015-03-08 01:16:09 +00:00
index 41a80da..31dedce 100644
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
2015-03-08 01:16:09 +00:00
@@ -163,4 +163,11 @@ public class PaperSpigotWorldConfig
waterOverLavaFlowSpeed = getInt( "water-over-lava-flow-speed", 5 );
2014-11-28 01:17:45 +00:00
log( "Water over lava flow speed: " + waterOverLavaFlowSpeed );
}
+
+ public boolean removeInvalidMobSpawnerTEs;
+ private void removeInvalidMobSpawnerTEs()
+ {
2014-10-25 03:28:29 +00:00
+ removeInvalidMobSpawnerTEs = getBoolean( "remove-invalid-mob-spawner-tile-entities", true );
+ log( "Remove invalid mob spawner tile entities: " + removeInvalidMobSpawnerTEs );
+ }
}
--
2015-03-08 01:16:09 +00:00
1.9.1