From 5dfe732f1854a7ff83d96c06b7fa4b6305378daf Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Sat, 23 Apr 2011 04:18:00 -0400 Subject: Added reset for pitch/yaw if they are somehow set to NaN. --- src/main/java/net/minecraft/server/Entity.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index 967856dd..f9d9482d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -147,7 +147,12 @@ public abstract class Entity { protected void c(float f, float f1) { // Craftbukkit start - if ((f == Float.POSITIVE_INFINITY) || (f == Float.NEGATIVE_INFINITY) || (Float.isNaN(f))) { + if (Float.isNaN(f)) { + // CraftBukkit - yaw was sometimes set to NaN, so we need to set it back to 0. + f = 0; + } + + if ((f == Float.POSITIVE_INFINITY) || (f == Float.NEGATIVE_INFINITY)) { if (this instanceof EntityPlayer) { System.err.println(((CraftPlayer) this.getBukkitEntity()).getName() + " was caught trying to crash the server with an invalid yaw"); ((CraftPlayer) this.getBukkitEntity()).kickPlayer("Nope"); @@ -155,7 +160,12 @@ public abstract class Entity { f = 0; } - if ((f1 == Float.POSITIVE_INFINITY) || (f1 == Float.NEGATIVE_INFINITY) || (Float.isNaN(f1))) { + if (Float.isNaN(f1)) { + // CraftBukkit - pitch was sometimes set to NaN, so we need to set it back to 0. + f1 = 0; + } + + if ((f1 == Float.POSITIVE_INFINITY) || (f1 == Float.NEGATIVE_INFINITY)) { if (this instanceof EntityPlayer) { System.err.println(((CraftPlayer) this.getBukkitEntity()).getName() + " was caught trying to crash the server with an invalid pitch"); ((CraftPlayer) this.getBukkitEntity()).kickPlayer("Nope"); -- cgit v1.2.3