diff --git a/nms-patches/BlockSoil.patch b/nms-patches/BlockSoil.patch index bb670a3691..a7d37719a7 100644 --- a/nms-patches/BlockSoil.patch +++ b/nms-patches/BlockSoil.patch @@ -12,20 +12,7 @@ public class BlockSoil extends Block { public static final BlockStateInteger MOISTURE = BlockStateInteger.of("moisture", 0, 7); -@@ -36,6 +41,12 @@ - if (i > 0) { - world.setTypeAndData(blockposition, iblockdata.set(BlockSoil.MOISTURE, Integer.valueOf(i - 1)), 2); - } else if (!this.c(world, blockposition)) { -+ // CraftBukkit start -+ org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); -+ if (CraftEventFactory.callBlockFadeEvent(block, Blocks.DIRT).isCancelled()) { -+ return; -+ } -+ // CraftBukkit end - b(world, blockposition); - } - } else if (i < 7) { -@@ -45,11 +56,29 @@ +@@ -45,14 +50,38 @@ } public void fallOn(World world, BlockPosition blockposition, Entity entity, float f) { @@ -56,3 +43,12 @@ } protected static void b(World world, BlockPosition blockposition) { ++ // CraftBukkit start ++ org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); ++ if (CraftEventFactory.callBlockFadeEvent(block, Blocks.DIRT).isCancelled()) { ++ return; ++ } ++ // CraftBukkit end + world.setTypeUpdate(blockposition, Blocks.DIRT.getBlockData()); + AxisAlignedBB axisalignedbb = BlockSoil.c.a(blockposition); + List list = world.getEntities((Entity) null, axisalignedbb);