3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-16 11:30:06 +01:00

Sync Player Position to Vehicles

Player Positions could become desynced with their vehicle resulting
in chunk conflicts about which chunk the entity should really be in.
Dieser Commit ist enthalten in:
Aikar 2018-09-21 11:37:38 -04:00
Ursprung f02ab90a19
Commit fd1bd5223a
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 401ADFC9891FAAFE

Datei anzeigen

@ -0,0 +1,38 @@
From 140555c5ff6e1b08831fdaf59c74297ee0234102 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 21 Sep 2018 11:34:00 -0400
Subject: [PATCH] Sync Player Position to Vehicles
Player Positions could become desynced with their vehicle resulting
in chunk conflicts about which chunk the entity should really be in.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 452c279708..e7a2df685d 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -375,10 +375,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
entity.setLocation(d3, d4, d5, f, f1);
+ Location curPos = getPlayer().getLocation(); // Paper
+ player.setLocation(d3, d4, d5, f, f1); // Paper
boolean flag2 = worldserver.getCubes(entity, entity.getBoundingBox().shrink(0.0625D));
if (flag && (flag1 || !flag2)) {
entity.setLocation(d0, d1, d2, f, f1);
+ player.setLocation(d0, d1, d2, f, f1); // Paper
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
return;
}
@@ -388,7 +391,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// Spigot Start
if ( !hasMoved )
{
- Location curPos = player.getLocation();
+ //Location curPos = player.getLocation(); // Paper - move up
lastPosX = curPos.getX();
lastPosY = curPos.getY();
lastPosZ = curPos.getZ();
--
2.19.0