diff options
Diffstat (limited to 'patches/api/0304-Add-BlockBreakBlockEvent.patch')
-rw-r--r-- | patches/api/0304-Add-BlockBreakBlockEvent.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/patches/api/0304-Add-BlockBreakBlockEvent.patch b/patches/api/0304-Add-BlockBreakBlockEvent.patch new file mode 100644 index 0000000000..dd02c33432 --- /dev/null +++ b/patches/api/0304-Add-BlockBreakBlockEvent.patch @@ -0,0 +1,73 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic <[email protected]> +Date: Sun, 3 Jan 2021 17:58:25 -0800 +Subject: [PATCH] Add BlockBreakBlockEvent + + +diff --git a/src/main/java/io/papermc/paper/event/block/BlockBreakBlockEvent.java b/src/main/java/io/papermc/paper/event/block/BlockBreakBlockEvent.java +new file mode 100644 +index 0000000000000000000000000000000000000000..4f7535daf0d9967fadb0c6f8afbd3993eace410d +--- /dev/null ++++ b/src/main/java/io/papermc/paper/event/block/BlockBreakBlockEvent.java +@@ -0,0 +1,61 @@ ++package io.papermc.paper.event.block; ++ ++import org.bukkit.block.Block; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.block.BlockExpEvent; ++import org.bukkit.inventory.ItemStack; ++import org.jetbrains.annotations.ApiStatus; ++import org.jetbrains.annotations.NotNull; ++ ++import java.util.List; ++ ++/** ++ * Called when a block forces another block to break and drop items. ++ * <p> ++ * Currently called for piston's and liquid flows. ++ */ ++public class BlockBreakBlockEvent extends BlockExpEvent { ++ ++ private static final HandlerList HANDLER_LIST = new HandlerList(); ++ ++ private final Block source; ++ private final List<ItemStack> drops; ++ ++ @ApiStatus.Internal ++ public BlockBreakBlockEvent(@NotNull Block block, @NotNull Block source, @NotNull List<ItemStack> drops) { ++ super(block, 0); ++ this.source = source; ++ this.drops = drops; ++ } ++ ++ /** ++ * Gets the drops of this event ++ * ++ * @return the drops ++ */ ++ @NotNull ++ public List<ItemStack> getDrops() { ++ return this.drops; ++ } ++ ++ /** ++ * Gets the block that cause this (e.g. a piston, or adjacent liquid) ++ * ++ * @return the source ++ */ ++ @NotNull ++ public Block getSource() { ++ return this.source; ++ } ++ ++ @NotNull ++ @Override ++ public HandlerList getHandlers() { ++ return HANDLER_LIST; ++ } ++ ++ @NotNull ++ public static HandlerList getHandlerList() { ++ return HANDLER_LIST; ++ } ++} |