Add getChangedBlockData() property to BlockPhysicsEvent to expose BlockData (#6743)

Signed-off-by: Irmo van den Berge <irmo.vandenberge@ziggo.nl>
This commit is contained in:
Irmo van den Berge 2021-10-07 20:03:30 +02:00 committed by GitHub
parent cf4af9fd48
commit 6dfc0f5cad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 55 additions and 24 deletions

View File

@ -0,0 +1,55 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sotr <i@omc.hk>
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;

View File

@ -1,24 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sotr <i@omc.hk>
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);
}