SPIGOT-1646: Capture the previous location earlier
Dieser Commit ist enthalten in:
Ursprung
23ad72b4c8
Commit
31caee5a94
@ -235,7 +235,7 @@
|
||||
this.minecraftServer.getPlayerList().d(this.player);
|
||||
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));
|
||||
@@ -273,12 +422,13 @@
|
||||
@@ -273,13 +422,21 @@
|
||||
this.A = this.e;
|
||||
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.allowedPlayerTicks = 20; // CraftBukkit
|
||||
} 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 d1 = this.player.locY;
|
||||
@@ -298,15 +448,32 @@
|
||||
double d2 = this.player.locZ;
|
||||
@@ -298,15 +455,32 @@
|
||||
++this.F;
|
||||
int i = this.F - this.G;
|
||||
|
||||
@ -285,20 +293,6 @@
|
||||
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);
|
||||
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 @@
|
||||
}
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren