Add source block constructor and getChangedBlockData() to BlockPhysicsEvent

This commit is contained in:
Sotr 2018-08-23 16:14:25 +08:00
parent a366055b99
commit 318265a167

View file

@ -32,6 +32,13 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable {
private final Block sourceBlock; private final Block sourceBlock;
private boolean cancel = false; 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) { public BlockPhysicsEvent(@NotNull final Block block, @NotNull final BlockData changed) {
this(block, changed, block); 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 * @return Changed block's type
*/ */
@ -64,6 +72,19 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable {
return changed.getMaterial(); 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.clone();
}
// Paper end
@Override @Override
public boolean isCancelled() { public boolean isCancelled() {
return cancel; return cancel;