diff --git a/src/main/java/electrosphere/entity/state/hitbox/HitboxCollectionState.java b/src/main/java/electrosphere/entity/state/hitbox/HitboxCollectionState.java index 206c7937..2ca266e7 100644 --- a/src/main/java/electrosphere/entity/state/hitbox/HitboxCollectionState.java +++ b/src/main/java/electrosphere/entity/state/hitbox/HitboxCollectionState.java @@ -24,6 +24,7 @@ import electrosphere.entity.EntityDataStrings; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.hitbox.HitboxCollectionState.HitboxState.HitboxShapeType; import electrosphere.game.data.collidable.HitboxData; +import electrosphere.logger.LoggerInterface; import electrosphere.util.math.MathUtils; /** @@ -365,9 +366,23 @@ public class HitboxCollectionState { //create new capsule length = previousWorldPos.distance(worldPosition) / 2.0; - if(length > 5000 || Double.isNaN(length) || Double.isInfinite(length) || length <= 0){ + if(length > 5000 || Double.isNaN(length) || Double.isInfinite(length) || length < 0){ + if(length < 0){ + LoggerInterface.loggerEngine.WARNING("Length is too short! " + length); + } + if(length > 5000){ + LoggerInterface.loggerEngine.WARNING("Length is too long! " + length); + } + if(Double.isNaN(length) || Double.isInfinite(length)){ + LoggerInterface.loggerEngine.WARNING("Length is invalid number! " + length); + } + if(Double.isNaN(previousWorldPos.x) || Double.isInfinite(previousWorldPos.x)){ + LoggerInterface.loggerEngine.WARNING("Previous hitbox position isn't valid!"); + } + if(Double.isNaN(worldPosition.x) || Double.isInfinite(worldPosition.x)){ + LoggerInterface.loggerEngine.WARNING("Current hitbox position isn't valid!"); + } length = 0.1; - System.out.println("HitboxState --- THIS IS NAN WHEN YOU SPAWN A KATANA BECAUSE THE BONE POSITION IS NAN???"); } geom = CollisionBodyCreation.createCapsuleShape(manager.getCollisionEngine(), shapeStatus.getHitboxData().getRadius(), length, Collidable.TYPE_OBJECT_BIT); CollisionBodyCreation.attachGeomToBody(collisionEngine,body,geom);