diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/net/minecraft/server/Entity.java | 12 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/NetServerHandler.java | 9 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index f9d9482d..53b237a9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -852,6 +852,18 @@ public abstract class Entity { public void d(NBTTagCompound nbttagcompound) { nbttagcompound.a("Pos", (NBTBase) this.a(new double[] { this.locX, this.locY, this.locZ})); nbttagcompound.a("Motion", (NBTBase) this.a(new double[] { this.motX, this.motY, this.motZ})); + + // CraftBukkit start - checking for NaN pitch/yaw and resetting to zero + // TODO: make sure this is the best way to address this. + if (Float.isNaN(this.yaw)) { + this.yaw = 0; + } + + if (Float.isNaN(this.pitch)) { + this.pitch = 0; + } + // CraftBukkit end + nbttagcompound.a("Rotation", (NBTBase) this.a(new float[] { this.yaw, this.pitch})); nbttagcompound.a("FallDistance", this.fallDistance); nbttagcompound.a("Fire", (short) this.fireTicks); diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index b9888ef6..747c0548 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -356,6 +356,15 @@ public class NetServerHandler extends NetHandler implements ICommandListener { d2 = to.getZ(); f = to.getYaw(); f1 = to.getPitch(); + + // TODO: make sure this is the best way to address this. + if (Float.isNaN(f)) { + f = 0; + } + + if (Float.isNaN(f1)) { + f1 = 0; + } // CraftBukkit end this.m = false; |