mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-02 17:32:03 +01:00
Expose pre-collision moving velocity to VehicleBlockCollisionEvent (#8457)
This commit is contained in:
parent
a0d9d433a3
commit
49f3ef443a
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
|
||||||
|
+++ b/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
|
||||||
|
@@ -0,0 +0,0 @@ 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
|
||||||
|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -0,0 +0,0 @@ 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