summaryrefslogtreecommitdiffstats
path: root/src/main/java/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net')
-rw-r--r--src/main/java/net/minecraft/server/Entity.java12
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java9
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;