public Position getRelative(BlockFace face) {
        Objects.requireNonNull(face, "face");
        return Position.of(this.x + face.getModX(), this.y + face.getModY(), this.z + face.getModZ(), this.world);
    }
An immutable and serializable location object
helper/src/main/java/me/lucko/helper/serialize/Position.java