From 25732f0487570d17615c42560d36e85b9100518e Mon Sep 17 00:00:00 2001 From: Travis Watkins Date: Thu, 27 Dec 2012 15:40:18 -0600 Subject: [PATCH] Fire BlockRedstoneEvent for repeaters. Fixes BUKKIT-1157 --- src/main/java/net/minecraft/server/BlockDiode.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/net/minecraft/server/BlockDiode.java b/src/main/java/net/minecraft/server/BlockDiode.java index 2580d5d811..2e06725d31 100644 --- a/src/main/java/net/minecraft/server/BlockDiode.java +++ b/src/main/java/net/minecraft/server/BlockDiode.java @@ -2,6 +2,8 @@ package net.minecraft.server; import java.util.Random; +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit + public class BlockDiode extends BlockDirectional { public static final double[] a = new double[] { -0.0625D, 0.0625D, 0.1875D, 0.3125D}; @@ -34,8 +36,20 @@ public class BlockDiode extends BlockDirectional { boolean flag1 = this.i(world, i, j, k, l); if (this.c && !flag1) { + // CraftBukkit start + if (CraftEventFactory.callRedstoneChange(world, i, j, k, 15, 0).getNewCurrent() != 0) { + return; + } + // CraftBukkit end + world.setTypeIdAndData(i, j, k, Block.DIODE_OFF.id, l); } else if (!this.c) { + // CraftBukkit start + if (CraftEventFactory.callRedstoneChange(world, i, j, k, 0, 15).getNewCurrent() != 15) { + return; + } + // CraftBukkit end + world.setTypeIdAndData(i, j, k, Block.DIODE_ON.id, l); if (!flag1) { int i1 = (l & 12) >> 2;