summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-04-07 07:18:30 +0100
committerDinnerbone <dinnerbone@dinnerbone.com>2011-04-07 07:20:11 +0100
commitc99dc239174cbc9d80acba230c9ea0c54c126bf1 (patch)
tree63bfd24e0f9eeeb3002272fdd42b6c69c3a8012a
parent270310a3a54f3354369a102c0305f9a3f352a9a7 (diff)
downloadcraftbukkit-c99dc239174cbc9d80acba230c9ea0c54c126bf1.tar
craftbukkit-c99dc239174cbc9d80acba230c9ea0c54c126bf1.tar.gz
craftbukkit-c99dc239174cbc9d80acba230c9ea0c54c126bf1.tar.lz
craftbukkit-c99dc239174cbc9d80acba230c9ea0c54c126bf1.tar.xz
craftbukkit-c99dc239174cbc9d80acba230c9ea0c54c126bf1.zip
Fix for invalid float values too
-rw-r--r--src/main/java/net/minecraft/server/Entity.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f574071d..a4e972ec 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -11,6 +11,7 @@ import org.bukkit.entity.Vehicle;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.craftbukkit.CraftServer;
+import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.event.entity.EntityCombustEvent;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageEvent;
@@ -144,8 +145,26 @@ public abstract class Entity {
}
protected void c(float f, float f1) {
+ // Craftbukkit start
+ if ((f == Float.POSITIVE_INFINITY) || (f == Float.NEGATIVE_INFINITY) || (f == Float.NaN)) {
+ if (this instanceof EntityPlayer) {
+ System.err.println(getBukkitEntity() + " was caught trying to crash the server with an invalid yaw");
+ ((CraftPlayer)this.getBukkitEntity()).kickPlayer("Nope");
+ }
+ f = 0;
+ }
+
+ if ((f1 == Float.POSITIVE_INFINITY) || (f1 == Float.NEGATIVE_INFINITY) || (f1 == Float.NaN)) {
+ if (this instanceof EntityPlayer) {
+ System.err.println(getBukkitEntity() + " was caught trying to crash the server with an invalid pitch");
+ ((CraftPlayer)this.getBukkitEntity()).kickPlayer("Nope");
+ }
+ f1 = 0;
+ }
+
this.yaw = f % 360f;
this.pitch = f1 % 360f;
+ // Craftbukkit end
}
public void a(double d0, double d1, double d2) {