papermc/CraftBukkit-Patches/0067-Update-Physics-When-Updating-Attachables.patch

33 lines
1.3 KiB
Diff

From a38166af9bc62d32ef87fdf7808cefc601835bf8 Mon Sep 17 00:00:00 2001
From: Chad Waters <authorblues@gmail.com>
Date: Tue, 26 Mar 2013 07:47:43 -0400
Subject: [PATCH] Update Physics When Updating Attachables
Update physics for Attachable to update redstone. Fixes BUKKIT-1858
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
index 2072db2..c2ccc73 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
@@ -9,6 +9,7 @@ import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.CraftChunk;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.material.MaterialData;
+import org.bukkit.material.Attachable;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.plugin.Plugin;
@@ -128,6 +129,10 @@ public class CraftBlockState implements BlockState {
}
block.setData(getRawData(), applyPhysics);
+ if (applyPhysics && data instanceof Attachable) {
+ Block rel = block.getRelative(((Attachable) data).getFacing(), -1);
+ world.getHandle().applyPhysics(rel.getX(), rel.getY(), rel.getZ(), block.getTypeId());
+ }
world.getHandle().notify(x, y, z);
return true;
--
1.8.1.2