44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneDiode.java
|
|
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneDiode.java
|
|
@@ -13,6 +13,8 @@
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
|
|
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
|
|
+
|
|
public abstract class BlockRedstoneDiode extends BlockDirectional
|
|
{
|
|
protected final boolean isRepeaterPowered;
|
|
@@ -44,16 +46,30 @@
|
|
{
|
|
int l = p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_);
|
|
|
|
- if (!this.func_149910_g(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, l))
|
|
+ if (!this.func_149910_g((IBlockAccess) p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, l)) // CraftBukkit - Cast world to IBlockAccess to call the right method.
|
|
{
|
|
boolean flag = this.isGettingInput(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, l);
|
|
|
|
if (this.isRepeaterPowered && !flag)
|
|
{
|
|
+ // CraftBukkit start
|
|
+ if (CraftEventFactory.callRedstoneChange(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, 15, 0).getNewCurrent() != 0)
|
|
+ {
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ // CraftBukkit end
|
|
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockUnpowered(), l, 2);
|
|
}
|
|
else if (!this.isRepeaterPowered)
|
|
{
|
|
+ // CraftBukkit start
|
|
+ if (CraftEventFactory.callRedstoneChange(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, 0, 15).getNewCurrent() != 15)
|
|
+ {
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ // CraftBukkit end
|
|
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockPowered(), l, 2);
|
|
|
|
if (!flag)
|