diff --git a/eco-api/src/main/java/com/willfp/eco/util/VectorUtils.java b/eco-api/src/main/java/com/willfp/eco/util/VectorUtils.java index 19ac3c78..c8ae02f7 100644 --- a/eco-api/src/main/java/com/willfp/eco/util/VectorUtils.java +++ b/eco-api/src/main/java/com/willfp/eco/util/VectorUtils.java @@ -152,6 +152,20 @@ public final class VectorUtils { return vectors.toArray(new Vector[0]); } + /** + * Get if a vector is a safe velocity. + * + * @param vec The vector to check. + * @return If safe. + */ + public static boolean isSafeVelocity(@NotNull final Vector vec) { + double x = Math.abs(vec.getX()); + double y = Math.abs(vec.getY()); + double z = Math.abs(vec.getZ()); + + return x < 4 && y < 4 && z < 4; + } + private VectorUtils() { throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); } diff --git a/eco-api/src/main/kotlin/com/willfp/eco/util/VectorUtils.kt b/eco-api/src/main/kotlin/com/willfp/eco/util/VectorUtils.kt index 39d2d0cd..b2d68e85 100644 --- a/eco-api/src/main/kotlin/com/willfp/eco/util/VectorUtils.kt +++ b/eco-api/src/main/kotlin/com/willfp/eco/util/VectorUtils.kt @@ -11,3 +11,7 @@ val Vector.isFinite: Boolean /** @see VectorUtils.simplifyVector */ fun Vector.simplify(): Vector = VectorUtils.simplifyVector(this) + +/** @see VectorUtils.isSafeVelocity */ +val Vector.isSafeVelocity: Boolean + get() = VectorUtils.isSafeVelocity(this)