--- ../work/decompile-8eb82bde//net/minecraft/server/BlockMinecartDetector.java 2014-11-28 11:22:55.722823168 +0000 +++ src/main/java/net/minecraft/server/BlockMinecartDetector.java 2014-11-28 11:01:54.000000000 +0000 @@ -4,6 +4,8 @@ import java.util.List; import java.util.Random; +import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit + public class BlockMinecartDetector extends BlockMinecartTrackAbstract { public static final BlockStateEnum SHAPE = BlockStateEnum.a("shape", EnumTrackPosition.class, (Predicate) (new BlockMinecartDetectorInnerClass1())); @@ -55,6 +57,17 @@ if (!list.isEmpty()) { flag1 = true; } + + // CraftBukkit start + if (flag != flag1) { + org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); + + BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(block, flag ? 15 : 0, flag1 ? 15 : 0); + world.getServer().getPluginManager().callEvent(eventRedstone); + + flag1 = eventRedstone.getNewCurrent() > 0; + } + // CraftBukkit end if (flag1 && !flag) { world.setTypeAndData(blockposition, iblockdata.set(BlockMinecartDetector.POWERED, Boolean.valueOf(true)), 3);