mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
Expose pre-collision moving velocity to VehicleBlockCollisionEvent (#8457)
This commit is contained in:
parent
2040c1ec71
commit
fa42c68b73
2 changed files with 69 additions and 0 deletions
|
@ -0,0 +1,49 @@
|
||||||
|
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
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
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/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
index 7555b04dcf274bb624b89f2eb9ff80da0056de4e..1eaab1f6923e6aa34b643293347348e5cc19af3c 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -1103,7 +1103,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bl.getType().isAir()) {
|
||||||
|
- VehicleBlockCollisionEvent event = new VehicleBlockCollisionEvent(vehicle, bl);
|
||||||
|
+ VehicleBlockCollisionEvent event = new VehicleBlockCollisionEvent(vehicle, bl, org.bukkit.craftbukkit.util.CraftVector.toBukkit(moveVector)); // Paper - Expose pre-collision velocity
|
||||||
|
this.level.getCraftServer().getPluginManager().callEvent(event);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue