public BlockPosition floor() {
        return BlockPosition.of(bukkitFloor(this.x), bukkitFloor(this.y), bukkitFloor(this.z), this.world);
    }
An immutable and serializable location object
helper/src/main/java/me/lucko/helper/serialize/Position.java