From 6dfc0f5cadb009a75f07aa28a07984625874834a Mon Sep 17 00:00:00 2001 From: Irmo van den Berge Date: Thu, 7 Oct 2021 20:03:30 +0200 Subject: [PATCH] Add getChangedBlockData() property to BlockPhysicsEvent to expose BlockData (#6743) Signed-off-by: Irmo van den Berge --- ...-constructor-and-getChangedBlockData.patch | 55 +++++++++++++++++++ ...dd-source-block-to-BlockPhysicsEvent.patch | 24 -------- 2 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 patches/api/0144-Add-source-block-constructor-and-getChangedBlockData.patch delete mode 100644 patches/api/0144-Add-source-block-to-BlockPhysicsEvent.patch diff --git a/patches/api/0144-Add-source-block-constructor-and-getChangedBlockData.patch b/patches/api/0144-Add-source-block-constructor-and-getChangedBlockData.patch new file mode 100644 index 000000000..9f9e76085 --- /dev/null +++ b/patches/api/0144-Add-source-block-constructor-and-getChangedBlockData.patch @@ -0,0 +1,55 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Sotr +Date: Thu, 23 Aug 2018 16:14:25 +0800 +Subject: [PATCH] Add source block constructor and getChangedBlockData() to + BlockPhysicsEvent + + +diff --git a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java +index e3a5f5824ed882058f5bac5003f66ce79733a868..1d496e5a3d1541bf0a257a4358b3943fd6415204 100644 +--- a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java ++++ b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java +@@ -32,6 +32,13 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable { + private final Block sourceBlock; + private boolean cancel = false; + ++ // Paper start - Legacy constructor, use #BlockPhysicsEvent(Block, BlockData, Block) ++ @Deprecated ++ public BlockPhysicsEvent(final Block block, final BlockData changed, final int sourceX, final int sourceY, final int sourceZ) { ++ this(block, changed, block.getWorld().getBlockAt(sourceX, sourceY, sourceZ)); ++ } ++ // Paper end ++ + public BlockPhysicsEvent(@NotNull final Block block, @NotNull final BlockData changed) { + this(block, changed, block); + } +@@ -55,7 +62,8 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable { + } + + /** +- * Gets the type of block that changed, causing this event ++ * Gets the type of block that changed, causing this event. ++ * This is the type of {@link #getBlock()} at the time of the event. + * + * @return Changed block's type + */ +@@ -64,6 +72,19 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable { + return changed.getMaterial(); + } + ++ // Paper start - Getter for the BlockData ++ /** ++ * Gets the BlockData of the block that changed, causing this event. ++ * This is the BlockData of {@link #getBlock()} at the time of the event. ++ * ++ * @return Changed block's BlockData ++ */ ++ @NotNull ++ public BlockData getChangedBlockData() { ++ return changed; ++ } ++ // Paper end ++ + @Override + public boolean isCancelled() { + return cancel; diff --git a/patches/api/0144-Add-source-block-to-BlockPhysicsEvent.patch b/patches/api/0144-Add-source-block-to-BlockPhysicsEvent.patch deleted file mode 100644 index 965de7c24..000000000 --- a/patches/api/0144-Add-source-block-to-BlockPhysicsEvent.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Sotr -Date: Thu, 23 Aug 2018 16:14:25 +0800 -Subject: [PATCH] Add source block to BlockPhysicsEvent - - -diff --git a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java -index e3a5f5824ed882058f5bac5003f66ce79733a868..c382f9fc2b8c5b959df7071007110dab737e400e 100644 ---- a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java -+++ b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java -@@ -32,6 +32,13 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable { - private final Block sourceBlock; - private boolean cancel = false; - -+ // Paper start - Legacy constructor, use #BlockPhysicsEvent(Block, BlockData, Block) -+ @Deprecated -+ public BlockPhysicsEvent(final Block block, final BlockData changed, final int sourceX, final int sourceY, final int sourceZ) { -+ this(block, changed, block.getWorld().getBlockAt(sourceX, sourceY, sourceZ)); -+ } -+ // Paper end -+ - public BlockPhysicsEvent(@NotNull final Block block, @NotNull final BlockData changed) { - this(block, changed, block); - }