diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/world/level/block/BlockLeaves.patch')
-rw-r--r-- | patch-remap/og/net/minecraft/world/level/block/BlockLeaves.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/world/level/block/BlockLeaves.patch b/patch-remap/og/net/minecraft/world/level/block/BlockLeaves.patch new file mode 100644 index 0000000000..55eeb6d259 --- /dev/null +++ b/patch-remap/og/net/minecraft/world/level/block/BlockLeaves.patch @@ -0,0 +1,26 @@ +--- a/net/minecraft/world/level/block/BlockLeaves.java ++++ b/net/minecraft/world/level/block/BlockLeaves.java +@@ -25,6 +25,8 @@ + import net.minecraft.world.phys.shapes.VoxelShape; + import net.minecraft.world.phys.shapes.VoxelShapes; + ++import org.bukkit.event.block.LeavesDecayEvent; // CraftBukkit ++ + public class BlockLeaves extends Block implements IBlockWaterlogged { + + public static final MapCodec<BlockLeaves> CODEC = simpleCodec(BlockLeaves::new); +@@ -57,6 +59,14 @@ + @Override + public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) { + if (this.decaying(iblockdata)) { ++ // CraftBukkit start ++ LeavesDecayEvent event = new LeavesDecayEvent(worldserver.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ())); ++ worldserver.getCraftServer().getPluginManager().callEvent(event); ++ ++ if (event.isCancelled() || worldserver.getBlockState(blockposition).getBlock() != this) { ++ return; ++ } ++ // CraftBukkit end + dropResources(iblockdata, worldserver, blockposition); + worldserver.removeBlock(blockposition, false); + } |