summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2012-08-05 23:45:38 -0500
committerTravis Watkins <amaranth@ubuntu.com>2012-08-05 23:57:22 -0500
commit164c06645343579406a8497d14c93427923d8b61 (patch)
tree4dbf3691c9fe721470c22d666dbc06d9704e0f66
parente1a4273957b3d4d8ff40c529f84d881927b9dd89 (diff)
downloadcraftbukkit-164c06645343579406a8497d14c93427923d8b61.tar
craftbukkit-164c06645343579406a8497d14c93427923d8b61.tar.gz
craftbukkit-164c06645343579406a8497d14c93427923d8b61.tar.lz
craftbukkit-164c06645343579406a8497d14c93427923d8b61.tar.xz
craftbukkit-164c06645343579406a8497d14c93427923d8b61.zip
Fix "moved too quickly" detection.
-rw-r--r--src/main/java/net/minecraft/server/EntityHuman.java8
-rw-r--r--src/main/java/net/minecraft/server/EntityPlayer.java2
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java15
3 files changed, 9 insertions, 16 deletions
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 2b09abc5..0b02f5b7 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -950,14 +950,6 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
}
public void a(boolean flag, boolean flag1, boolean flag2) {
- if (this.fauxSleeping && !this.sleeping) return; // CraftBukkit - Can't leave bed if not in one!
-
- // CraftBukkit start - moved check from packet19 handler TODO: make sure this works before turning on
- // if (this instanceof EntityPlayer) {
- // ((EntityPlayer) this).netServerHandler.checkMovement = false;
- // }
- // CraftBukkit end
-
this.a(0.6F, 1.8F);
this.d_();
ChunkCoordinates chunkcoordinates = this.bT;
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index bffdca79..b8696b58 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -431,6 +431,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
}
public void a(boolean flag, boolean flag1, boolean flag2) {
+ if (this.fauxSleeping && !this.sleeping) return; // CraftBukkit - Can't leave bed if not in one!
+
if (this.isSleeping()) {
this.q().getTracker().sendPacketToEntity(this, new Packet18ArmAnimation(this, 3));
}
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index e1f3e582..a5b280d4 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -353,17 +353,16 @@ public class NetServerHandler extends NetHandler {
d4 = d1 - this.player.locX;
double d6 = d2 - this.player.locY;
double d7 = d3 - this.player.locZ;
- double d8 = Math.min(Math.abs(d4), Math.abs(this.player.motX));
- double d9 = Math.min(Math.abs(d6), Math.abs(this.player.motY));
- double d10 = Math.min(Math.abs(d7), Math.abs(this.player.motZ));
+ // CraftBukkit start - min to max
+ double d8 = Math.max(Math.abs(d4), Math.abs(this.player.motX));
+ double d9 = Math.max(Math.abs(d6), Math.abs(this.player.motY));
+ double d10 = Math.max(Math.abs(d7), Math.abs(this.player.motZ));
+ // CraftBukkit end
double d11 = d8 * d8 + d9 * d9 + d10 * d10;
if (d11 > 100.0D && this.checkMovement && (!this.minecraftServer.H() || !this.minecraftServer.G().equals(this.player.name))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports
logger.warning(this.player.name + " moved too quickly! " + d4 + "," + d6 + "," + d7 + " (" + d8 + ", " + d9 + ", " + d10 + ")");
- // CraftBukkit start - temporarily switch back to kicking
- // this.a(this.y, this.z, this.q, this.player.yaw, this.player.pitch);
- this.disconnect("You moved too quickly :( (Hacking?)");
- // CraftBukkit end
+ this.a(this.y, this.z, this.q, this.player.yaw, this.player.pitch);
return;
}
@@ -965,7 +964,7 @@ public class NetServerHandler extends NetHandler {
this.player.setSprinting(false);
} else if (packet19entityaction.animation == 3) {
this.player.a(false, true, true);
- this.checkMovement = false;
+ // this.checkMovement = false; // CraftBukkit - this is handled in teleport
}
}