public Point withDirection(Direction direction) {
        return Point.of(this, direction);
    }
An immutable and serializable location object
helper/src/main/java/me/lucko/helper/serialize/Position.java