From 546372966acda7db94c2f55c621d21f89dd7a65e Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Mon, 13 Dec 2021 14:35:27 -0800 Subject: [PATCH] Extend VehicleCollisionEvent, move HandlerList up Co-authored-by: SoSeDiK --- .../vehicle/VehicleBlockCollisionEvent.java | 31 ++++++++++++------- .../event/vehicle/VehicleCollisionEvent.java | 11 +++++++ .../vehicle/VehicleEntityCollisionEvent.java | 12 ------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java index 316f625aa5..d0a437bd8a 100644 --- a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java @@ -9,14 +9,32 @@ import org.jetbrains.annotations.NotNull; * Raised when a vehicle collides with a block. */ public class VehicleBlockCollisionEvent extends VehicleCollisionEvent { - private static final HandlerList handlers = new HandlerList(); private final Block block; + private final org.bukkit.util.Vector velocity; // Paper + // Paper start - Add pre-collision velocity + @Deprecated public VehicleBlockCollisionEvent(@NotNull final Vehicle vehicle, @NotNull final Block block) { + this(vehicle, block, vehicle.getVelocity()); + } + + public VehicleBlockCollisionEvent(@NotNull final Vehicle vehicle, @NotNull final Block block, @NotNull final org.bukkit.util.Vector velocity) { // Paper - Added velocity super(vehicle); this.block = block; + this.velocity = velocity; } + /** + * Gets velocity at which the vehicle collided with the block + * + * @return pre-collision moving velocity + */ + @NotNull + public org.bukkit.util.Vector getVelocity() { + return velocity; + } + // Paper end + /** * Gets the block the vehicle collided with * @@ -26,15 +44,4 @@ public class VehicleBlockCollisionEvent extends VehicleCollisionEvent { public Block getBlock() { return block; } - - @NotNull - @Override - public HandlerList getHandlers() { - return handlers; - } - - @NotNull - public static HandlerList getHandlerList() { - return handlers; - } } diff --git a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleCollisionEvent.java b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleCollisionEvent.java index 9d493c155a..aa1d74eade 100644 --- a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleCollisionEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleCollisionEvent.java @@ -7,7 +7,18 @@ import org.jetbrains.annotations.NotNull; * Raised when a vehicle collides. */ public abstract class VehicleCollisionEvent extends VehicleEvent { + private static final org.bukkit.event.HandlerList HANDLER_LIST = new org.bukkit.event.HandlerList(); // Paper public VehicleCollisionEvent(@NotNull final Vehicle vehicle) { super(vehicle); } + // Paper start + @Override + public org.bukkit.event.@org.jetbrains.annotations.NotNull HandlerList getHandlers() { + return HANDLER_LIST; + } + + public static org.bukkit.event.@NotNull HandlerList getHandlerList() { + return HANDLER_LIST; + } + // Paper end } diff --git a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java index 50c762d777..77fb04bdf5 100644 --- a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java @@ -10,7 +10,6 @@ import org.jetbrains.annotations.NotNull; * Raised when a vehicle collides with an entity. */ public class VehicleEntityCollisionEvent extends VehicleCollisionEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); private final Entity entity; private boolean cancelled = false; private boolean cancelledPickup = false; @@ -55,15 +54,4 @@ public class VehicleEntityCollisionEvent extends VehicleCollisionEvent implement public void setCollisionCancelled(boolean cancel) { cancelledCollision = cancel; } - - @NotNull - @Override - public HandlerList getHandlers() { - return handlers; - } - - @NotNull - public static HandlerList getHandlerList() { - return handlers; - } }