aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch')
-rw-r--r--patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch
new file mode 100644
index 0000000000..70d82d0dce
--- /dev/null
+++ b/patches/server/0698-Don-t-allow-vehicle-movement-from-players-while-tele.patch
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Spottedleaf <[email protected]>
+Date: Mon, 14 Mar 2022 12:35:37 -0700
+Subject: [PATCH] Don't allow vehicle movement from players while teleporting
+
+Bring the vehicle move packet behavior in line with the
+regular player move packet.
+
+diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+index a8c3a2988db845420b254729d125cc2c51660323..d6f90c013ce5d7058ad1ca9357f5d2d7aab40cf6 100644
+--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+@@ -484,6 +484,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+ this.disconnect(Component.translatable("multiplayer.disconnect.invalid_vehicle_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_VEHICLE_MOVEMENT); // Paper - kick event cause
+ } else {
+ Entity entity = this.player.getRootVehicle();
++ // Paper start - Don't allow vehicle movement from players while teleporting
++ if (this.awaitingPositionFromClient != null || this.player.isImmobile() || entity.isRemoved()) {
++ return;
++ }
++ // Paper end - Don't allow vehicle movement from players while teleporting
+
+ if (entity != this.player && entity.getControllingPassenger() == this.player && entity == this.lastVehicle) {
+ ServerLevel worldserver = this.player.serverLevel();