forked from xjboss/KCauldronX
32 lines
1.5 KiB
Diff
32 lines
1.5 KiB
Diff
|
--- ../src-base/minecraft/net/minecraft/block/BlockLever.java
|
||
|
+++ ../src-work/minecraft/net/minecraft/block/BlockLever.java
|
||
|
@@ -13,6 +13,8 @@
|
||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||
|
import static net.minecraftforge.common.util.ForgeDirection.*;
|
||
|
|
||
|
+import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit
|
||
|
+
|
||
|
public class BlockLever extends Block
|
||
|
{
|
||
|
private static final String __OBFID = "CL_00000264";
|
||
|
@@ -270,6 +272,19 @@
|
||
|
int i1 = p_149727_1_.getBlockMetadata(p_149727_2_, p_149727_3_, p_149727_4_);
|
||
|
int j1 = i1 & 7;
|
||
|
int k1 = 8 - (i1 & 8);
|
||
|
+ // CraftBukkit start - Interact Lever
|
||
|
+ org.bukkit.block.Block block = p_149727_1_.getWorld().getBlockAt(p_149727_2_, p_149727_3_, p_149727_4_);
|
||
|
+ int old = (k1 != 8) ? 15 : 0;
|
||
|
+ int current = (k1 == 8) ? 15 : 0;
|
||
|
+ BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(block, old, current);
|
||
|
+ p_149727_1_.getServer().getPluginManager().callEvent(eventRedstone);
|
||
|
+
|
||
|
+ if ((eventRedstone.getNewCurrent() > 0) != (k1 == 8))
|
||
|
+ {
|
||
|
+ return true;
|
||
|
+ }
|
||
|
+
|
||
|
+ // CraftBukkit end
|
||
|
p_149727_1_.setBlockMetadataWithNotify(p_149727_2_, p_149727_3_, p_149727_4_, j1 + k1, 3);
|
||
|
p_149727_1_.playSoundEffect((double)p_149727_2_ + 0.5D, (double)p_149727_3_ + 0.5D, (double)p_149727_4_ + 0.5D, "random.click", 0.3F, k1 > 0 ? 0.6F : 0.5F);
|
||
|
p_149727_1_.notifyBlocksOfNeighborChange(p_149727_2_, p_149727_3_, p_149727_4_, this);
|