From 0740e0c777fb692e0765e584e2cbc020b8f75db2 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Sun, 24 Apr 2011 20:14:33 -0400 Subject: [PATCH] Fixes the whitescreen issue some people were having. --- src/main/java/net/minecraft/server/Entity.java | 12 ++++++++++++ .../java/net/minecraft/server/NetServerHandler.java | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index f9d9482d4a..53b237a9fb 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 b9888ef628..747c054864 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;