Readd old BlockDamageEvent constructor

This commit is contained in:
Nassim Jahnke 2023-08-25 10:19:55 +10:00
parent e552bebca1
commit 6f30f08b20

View File

@ -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 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 --- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
+++ b/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 instaBreak;
private boolean cancel; private boolean cancel;
private final ItemStack itemstack; private final ItemStack itemstack;
+ private final org.bukkit.block.BlockFace blockFace; // Paper - Expose BlockFace + 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 + @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 + 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); super(block);
+ this.blockFace = blockFace; // Paper - Expose BlockFace + this.blockFace = blockFace;
+ // Paper end - expose blockface
this.instaBreak = instaBreak; this.instaBreak = instaBreak;
this.player = player; this.player = player;
this.itemstack = itemInHand; 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() { public ItemStack getItemInHand() {
return itemstack; return itemstack;
} }
@ -34,6 +41,9 @@ index cd04a0bd9d232857408b38605787016a217cb8d2..0e4751f9844dcbfcfb97af21f9462e96
+ */ + */
+ @NotNull + @NotNull
+ public org.bukkit.block.BlockFace getBlockFace() { + 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; + return this.blockFace;
+ } + }
+ //Paper end + //Paper end