Archiviert
13
0

SPIGOT-1646: Capture the previous location earlier

Dieser Commit ist enthalten in:
Thinkofdeath 2016-03-03 11:15:04 +00:00
Ursprung 23ad72b4c8
Commit 31caee5a94

Datei anzeigen

@ -235,7 +235,7 @@
this.minecraftServer.getPlayerList().d(this.player); this.minecraftServer.getPlayerList().d(this.player);
this.player.checkMovement(this.player.locX - d0, this.player.locY - d1, this.player.locZ - d2); this.player.checkMovement(this.player.locX - d0, this.player.locY - d1, this.player.locZ - d2);
this.D = d11 >= -0.03125D && !this.minecraftServer.getAllowFlight() && !worldserver.d(entity.getBoundingBox().g(0.0625D).a(0.0D, -0.55D, 0.0D)); this.D = d11 >= -0.03125D && !this.minecraftServer.getAllowFlight() && !worldserver.d(entity.getBoundingBox().g(0.0625D).a(0.0D, -0.55D, 0.0D));
@@ -273,12 +422,13 @@ @@ -273,13 +422,21 @@
this.A = this.e; this.A = this.e;
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch); this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
} }
@ -248,9 +248,17 @@
this.minecraftServer.getPlayerList().d(this.player); this.minecraftServer.getPlayerList().d(this.player);
+ this.allowedPlayerTicks = 20; // CraftBukkit + this.allowedPlayerTicks = 20; // CraftBukkit
} else { } else {
+ // CraftBukkit - Make sure the move is valid but then reset it for plugins to modify
+ double prevX = player.locX;
+ double prevY = player.locY;
+ double prevZ = player.locZ;
+ float prevYaw = player.yaw;
+ float prevPitch = player.pitch;
+ // CraftBukkit end
double d0 = this.player.locX; double d0 = this.player.locX;
double d1 = this.player.locY; double d1 = this.player.locY;
@@ -298,15 +448,32 @@ double d2 = this.player.locZ;
@@ -298,15 +455,32 @@
++this.F; ++this.F;
int i = this.F - this.G; int i = this.F - this.G;
@ -285,20 +293,6 @@
PlayerConnection.LOGGER.warn(this.player.getName() + " moved too quickly! " + d7 + "," + d8 + "," + d9); PlayerConnection.LOGGER.warn(this.player.getName() + " moved too quickly! " + d7 + "," + d8 + "," + d9);
this.a(this.player.locX, this.player.locY, this.player.locZ, this.player.yaw, this.player.pitch); this.a(this.player.locX, this.player.locY, this.player.locZ, this.player.yaw, this.player.pitch);
return; return;
@@ -341,6 +508,13 @@
PlayerConnection.LOGGER.warn(this.player.getName() + " moved wrongly!");
}
+ // CraftBukkit - Make sure the move is valid but then reset it for plugins to modify
+ double prevX = player.locX;
+ double prevY = player.locY;
+ double prevZ = player.locZ;
+ float prevYaw = player.yaw;
+ float prevPitch = player.pitch;
+ // CraftBukkit end
this.player.setLocation(d4, d5, d6, f, f1);
this.player.checkMovement(this.player.locX - d0, this.player.locY - d1, this.player.locZ - d2);
if (!this.player.noclip && !this.player.isSleeping()) {
@@ -352,6 +526,69 @@ @@ -352,6 +526,69 @@
} }
} }