Files
CatServer/patches/net/minecraft/block/BlockTrapDoor.java.patch
2018-09-08 09:15:34 +08:00

32 lines
1.3 KiB
Diff

--- ../src-base/minecraft/net/minecraft/block/BlockTrapDoor.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTrapDoor.java
@@ -1,6 +1,9 @@
package net.minecraft.block;
import javax.annotation.Nullable;
+
+import org.bukkit.event.block.BlockRedstoneEvent;
+
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
@@ -130,6 +133,18 @@
if (flag || blockIn.getDefaultState().canProvidePower())
{
+ org.bukkit.World bworld = worldIn.getWorld();
+ org.bukkit.block.Block bblock = bworld.getBlockAt(pos.getX(), pos.getY(), pos.getZ());
+
+ int power = bblock.getBlockPower();
+ int oldPower = state.getValue(OPEN) ? 15 : 0;
+
+ if (oldPower == 0 ^ power == 0 || blockIn.getDefaultState().hasComparatorInputOverride()) {
+ BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(bblock, oldPower, power);
+ worldIn.getServer().getPluginManager().callEvent(eventRedstone);
+ flag = eventRedstone.getNewCurrent() > 0;
+ }
+
boolean flag1 = ((Boolean)state.getValue(OPEN)).booleanValue();
if (flag1 != flag)