41 lines
2.2 KiB
Diff
41 lines
2.2 KiB
Diff
From f4da307613f8297e8ed8560fe5cbfe65ee4ae0e5 Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
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
|
|
index d5922fe..ea61f59 100644
|
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
@@ -784,6 +784,11 @@ public class Chunk {
|
|
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 &&
|
|
+ org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getType(blockposition)) != org.bukkit.Material.MOB_SPAWNER) {
|
|
+ this.tileEntities.remove(blockposition);
|
|
+ // PaperSpigot end
|
|
} else {
|
|
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
|
|
+ " (" + 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
|
|
index 9c961d7..e1b9a6c 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -205,4 +205,11 @@ public class PaperSpigotWorldConfig
|
|
waterOverLavaFlowSpeed = getInt( "water-over-lava-flow-speed", 5 );
|
|
log( "Water over lava flow speed: " + waterOverLavaFlowSpeed );
|
|
}
|
|
+
|
|
+ public boolean removeInvalidMobSpawnerTEs;
|
|
+ private void removeInvalidMobSpawnerTEs()
|
|
+ {
|
|
+ removeInvalidMobSpawnerTEs = getBoolean( "remove-invalid-mob-spawner-tile-entities", true );
|
|
+ log( "Remove invalid mob spawner tile entities: " + removeInvalidMobSpawnerTEs );
|
|
+ }
|
|
}
|
|
--
|
|
1.9.5.msysgit.1
|
|
|