summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/net/minecraft/server/PlayerInstance.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/PlayerInstance.java b/src/main/java/net/minecraft/server/PlayerInstance.java
index 1c980229..1f43e4b6 100644
--- a/src/main/java/net/minecraft/server/PlayerInstance.java
+++ b/src/main/java/net/minecraft/server/PlayerInstance.java
@@ -172,9 +172,11 @@ class PlayerInstance {
this.sendAll(new Packet52MultiBlockChange(this.chunkX, this.chunkZ, this.dirtyBlocks, this.dirtyCount, this.playerManager.world));
for (i = 0; i < this.dirtyCount; ++i) {
- j = this.chunkX * 16 + (this.dirtyCount >> 12 & 15);
- k = this.dirtyCount & 255;
- l = this.chunkZ * 16 + (this.dirtyCount >> 8 & 15);
+ // CraftBukkit start - Fixes TileEntity updates occurring upon a multi-block change; dirtyCount -> dirtyBlocks[i]
+ j = this.chunkX * 16 + (this.dirtyBlocks[i] >> 12 & 15);
+ k = this.dirtyBlocks[i] & 255;
+ l = this.chunkZ * 16 + (this.dirtyBlocks[i] >> 8 & 15);
+ // CraftBukkit end
// CraftBukkit start
if (Block.isTileEntity[this.playerManager.world.getTypeId(j, k, l)]) {