summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2016-06-25 20:16:48 +1000
committermd_5 <git@md-5.net>2016-06-25 20:16:48 +1000
commit341da0730b233e1e65d55435df0a2a6ad0246cc6 (patch)
tree4b8119b38c9f1a201f28116b3215136a70235393
parent50473547665a32789511f59d23c5b81f69d3b373 (diff)
downloadcraftbukkit-341da0730b233e1e65d55435df0a2a6ad0246cc6.tar
craftbukkit-341da0730b233e1e65d55435df0a2a6ad0246cc6.tar.gz
craftbukkit-341da0730b233e1e65d55435df0a2a6ad0246cc6.tar.lz
craftbukkit-341da0730b233e1e65d55435df0a2a6ad0246cc6.tar.xz
craftbukkit-341da0730b233e1e65d55435df0a2a6ad0246cc6.zip
SPIGOT-611: Improve setBlock for tile->tile transitions
-rw-r--r--src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index cdeff9bc..a5d6f1d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -135,6 +135,10 @@ public class CraftBlock implements Block {
public boolean setTypeIdAndData(final int type, final byte data, final boolean applyPhysics) {
IBlockData blockData = getNMSBlock(type).fromLegacyData(data);
BlockPosition position = new BlockPosition(x, y, z);
+
+ // SPIGOT-611: need to do this to prevent glitchiness. Easier to handle this here (like /setblock) than to fix weirdness in tile entity cleanup
+ chunk.getHandle().getWorld().setTypeAndData(position, Blocks.AIR.getBlockData(), 0);
+
if (applyPhysics) {
return chunk.getHandle().getWorld().setTypeAndData(position, blockData, 3);
} else {