17b58d00d8
This was a useless exception wrapper that ends up making stack traces harder to read as well as the JVM cutting off the important parts Nothing catches this exception, so its safe to just get rid of it and let the REAL exception bubble down
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
From e8b6405b84b65b5726de26bbcff1c2ef0b0519ee 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 5e47eabe..9d9e4712 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
|
|
@@ -29,10 +29,34 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable {
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final BlockData changed;
|
|
private boolean cancel = false;
|
|
+ // Paper start - add source block
|
|
+ private int sourceX;
|
|
+ private int sourceY;
|
|
+ private int sourceZ;
|
|
+ private Block sourceBlock;
|
|
+
|
|
+ public BlockPhysicsEvent(final Block block, final BlockData changed, final int sourceX, final int sourceY, final int sourceZ) {
|
|
+ this(block, changed);
|
|
+ this.sourceX = sourceX;
|
|
+ this.sourceY = sourceY;
|
|
+ this.sourceZ = sourceZ;
|
|
+ this.sourceBlock = null;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the source block, causing this event
|
|
+ *
|
|
+ * @return Source block
|
|
+ */
|
|
+ public Block getSourceBlock() {
|
|
+ return sourceBlock == null ? (sourceBlock = block.getWorld().getBlockAt(sourceX, sourceY, sourceZ)) : sourceBlock;
|
|
+ }
|
|
+ // Paper end
|
|
|
|
public BlockPhysicsEvent(final Block block, final BlockData changed) {
|
|
super(block);
|
|
this.changed = changed;
|
|
+ this.sourceBlock = block; // Paper - add source block
|
|
}
|
|
|
|
/**
|
|
--
|
|
2.20.1
|
|
|