public static VectorPoint of(Location location) {
        Objects.requireNonNull(location, "location");
        return of(Position.of(location).toVector(), Direction.from(location));
    }
An immutable and serializable vector + direction object
helper/src/main/java/me/lucko/helper/serialize/VectorPoint.java