diff --git a/patches/api/0429-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0429-Expose-clicked-BlockFace-during-BlockDamageEvent.patch index 0358060657..34d1940866 100644 --- a/patches/api/0429-Expose-clicked-BlockFace-during-BlockDamageEvent.patch +++ b/patches/api/0429-Expose-clicked-BlockFace-during-BlockDamageEvent.patch @@ -5,24 +5,31 @@ Subject: [PATCH] Expose clicked BlockFace during BlockDamageEvent diff --git a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java -index cd04a0bd9d232857408b38605787016a217cb8d2..0e4751f9844dcbfcfb97af21f9462e9662771709 100644 +index cd04a0bd9d232857408b38605787016a217cb8d2..392cde07d578d684423e1bf369af28696eb7e484 100644 --- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java -@@ -19,9 +19,12 @@ public class BlockDamageEvent extends BlockEvent implements Cancellable { +@@ -19,9 +19,20 @@ public class BlockDamageEvent extends BlockEvent implements Cancellable { private boolean instaBreak; private boolean cancel; private final ItemStack itemstack; + private final org.bukkit.block.BlockFace blockFace; // Paper - Expose BlockFace -- public BlockDamageEvent(@NotNull final Player player, @NotNull final Block block, @NotNull final ItemStack itemInHand, final boolean instaBreak) { ++ // Paper start - expose blockface ++ @Deprecated(forRemoval = true) ++ @io.papermc.paper.annotation.DoNotUse + public BlockDamageEvent(@NotNull final Player player, @NotNull final Block block, @NotNull final ItemStack itemInHand, final boolean instaBreak) { ++ this(player, block, null, itemInHand, instaBreak); // Some plugin do bad things... ++ } ++ + @org.jetbrains.annotations.ApiStatus.Internal // Paper + public BlockDamageEvent(@NotNull final Player player, @NotNull final Block block, @NotNull final org.bukkit.block.BlockFace blockFace, @NotNull final ItemStack itemInHand, final boolean instaBreak) { // Paper - Expose BlockFace super(block); -+ this.blockFace = blockFace; // Paper - Expose BlockFace ++ this.blockFace = blockFace; ++ // Paper end - expose blockface this.instaBreak = instaBreak; this.player = player; this.itemstack = itemInHand; -@@ -67,6 +70,17 @@ public class BlockDamageEvent extends BlockEvent implements Cancellable { +@@ -67,6 +78,20 @@ public class BlockDamageEvent extends BlockEvent implements Cancellable { public ItemStack getItemInHand() { return itemstack; } @@ -34,6 +41,9 @@ index cd04a0bd9d232857408b38605787016a217cb8d2..0e4751f9844dcbfcfb97af21f9462e96 + */ + @NotNull + public org.bukkit.block.BlockFace getBlockFace() { ++ if (this.blockFace == null) { ++ throw new IllegalStateException("BlockFace is not available for this event, most likely due to a bad constructor call by a plugin"); ++ } + return this.blockFace; + } + //Paper end