From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: SoSeDiK <mrsosedik@gmail.com>
Date: Tue, 11 Oct 2022 23:30:32 +0300
Subject: [PATCH] Expose pre-collision moving velocity to
 VehicleBlockCollisionEvent


diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
index 7ff9aec7ed341c01feddb8d71170b177e1fde47b..d2b33f4105ae32a884e714a8936e3d91e23a00a0 100644
--- a/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
+++ b/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
@@ -11,11 +11,20 @@ import org.jetbrains.annotations.NotNull;
 public class VehicleBlockCollisionEvent extends VehicleCollisionEvent {
     // private static final HandlerList handlers = new HandlerList(); // Paper - move HandlerList to VehicleCollisionEvent
     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;
     }
+    // Paper end
 
     /**
      * Gets the block the vehicle collided with
@@ -26,4 +35,16 @@ public class VehicleBlockCollisionEvent extends VehicleCollisionEvent {
     public Block getBlock() {
         return block;
     }
+
+    // Paper start
+    /**
+     * 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
 }