aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch')
-rw-r--r--patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch
new file mode 100644
index 0000000000..7ccbeb4b00
--- /dev/null
+++ b/patches/server/0666-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 88ba98aee07764e418edb9052075acea557ceec9..864ab4d3de50ee9ce9ff2b0538aa46df43985a84 100644
+--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+@@ -491,6 +491,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+ this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_vehicle_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_VEHICLE_MOVEMENT); // Paper - kick event cause
+ } else if (!this.updateAwaitingTeleport() && this.player.hasClientLoaded()) {
+ 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();