Update Physics When Updating Attachables

This commit is contained in:
Chad Waters 2013-09-13 14:19:31 +10:00 committed by md_5
parent 1b854cbe28
commit 753cb006cc

View File

@ -0,0 +1,33 @@
From 9deff5bd402324c0492c00a3b2d3023d549cc07d 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..65cb405 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 (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