Represents a 3D point.
-
Method Summary
Modifier and TypeMethodDescriptionadd
(double value) add
(double x, double y, double z) default BlockVec
default Pos
asPos()
default Vec
asVec()
default int
blockX()
Gets the floored value of the X componentdefault int
blockY()
Gets the floored value of the Y componentdefault int
blockZ()
Gets the floored value of the Z componentdefault int
chunkX()
default int
chunkZ()
default double
distance
(double x, double y, double z) default double
Gets the distance between this point and another.default double
distanceSquared
(double x, double y, double z) default double
distanceSquared
(Point point) Gets the squared distance between this point and another.div
(double value) div
(double x, double y, double z) default boolean
isZero()
mul
(double value) mul
(double x, double y, double z) default int
regionX()
default int
regionZ()
default Point
default boolean
sameBlock
(int blockX, int blockY, int blockZ) default boolean
Checks if two points are in the same block.default boolean
Checks if two points are in the same chunk.default boolean
samePoint
(double x, double y, double z) default boolean
samePoint
(double x, double y, double z, double epsilon) Checks it two points have similar (x/y/z) coordinates within a given epsilon.default boolean
Checks it two points have similar (x/y/z).default boolean
Checks it two points have similar (x/y/z) coordinates within a given epsilon.default int
section()
Deprecated.default int
sectionX()
default int
sectionY()
default int
sectionZ()
sub
(double value) sub
(double x, double y, double z) withX
(double x) Creates a point with the specified X coordinate.withX
(DoubleUnaryOperator operator) Creates a point with a modified X coordinate based on its value.withY
(double y) Creates a point with the specified Y coordinate.withY
(DoubleUnaryOperator operator) Creates a point with a modified Y coordinate based on its value.withZ
(double z) Creates a point with the specified Z coordinate.withZ
(DoubleUnaryOperator operator) Creates a point with a modified Z coordinate based on its value.double
x()
Gets the X coordinate.double
y()
Gets the Y coordinate.double
z()
Gets the Z coordinate.
-
Method Details
-
x
@Contract(pure=true) double x()Gets the X coordinate.- Returns:
- the X coordinate
-
y
@Contract(pure=true) double y()Gets the Y coordinate.- Returns:
- the Y coordinate
-
z
@Contract(pure=true) double z()Gets the Z coordinate.- Returns:
- the Z coordinate
-
blockX
@Contract(pure=true) default int blockX()Gets the floored value of the X component- Returns:
- the block X
-
blockY
@Contract(pure=true) default int blockY()Gets the floored value of the Y component- Returns:
- the block Y
-
blockZ
@Contract(pure=true) default int blockZ()Gets the floored value of the Z component- Returns:
- the block Z
-
sectionX
@Contract(pure=true) default int sectionX() -
sectionY
@Contract(pure=true) default int sectionY() -
sectionZ
@Contract(pure=true) default int sectionZ() -
chunkX
@Contract(pure=true) default int chunkX() -
chunkZ
@Contract(pure=true) default int chunkZ() -
regionX
@Contract(pure=true) default int regionX() -
regionZ
@Contract(pure=true) default int regionZ() -
section
Deprecated.usesectionY()
instead. -
withX
Creates a point with a modified X coordinate based on its value.- Parameters:
operator
- the operator providing the current X coordinate and returning the new- Returns:
- a new point
-
withX
Creates a point with the specified X coordinate.- Parameters:
x
- the new X coordinate- Returns:
- a new point
-
withY
Creates a point with a modified Y coordinate based on its value.- Parameters:
operator
- the operator providing the current Y coordinate and returning the new- Returns:
- a new point
-
withY
Creates a point with the specified Y coordinate.- Parameters:
y
- the new Y coordinate- Returns:
- a new point
-
withZ
Creates a point with a modified Z coordinate based on its value.- Parameters:
operator
- the operator providing the current Z coordinate and returning the new- Returns:
- a new point
-
withZ
Creates a point with the specified Z coordinate.- Parameters:
z
- the new Z coordinate- Returns:
- a new point
-
add
-
add
-
add
-
sub
-
sub
-
sub
-
mul
-
mul
-
mul
-
div
-
div
-
div
-
relative
-
distanceSquared
@Contract(pure=true) default double distanceSquared(double x, double y, double z) -
distanceSquared
Gets the squared distance between this point and another.- Parameters:
point
- the other point- Returns:
- the squared distance
-
distance
@Contract(pure=true) default double distance(double x, double y, double z) -
distance
Gets the distance between this point and another. The value of this method is not cached and uses a costly square-root function, so do not repeatedly call this method to get the vector's magnitude. NaN will be returned if the inner result of the sqrt() function overflows, which will be caused if the distance is too long.- Parameters:
point
- the other point- Returns:
- the distance
-
samePoint
default boolean samePoint(double x, double y, double z) -
samePoint
Checks it two points have similar (x/y/z).- Parameters:
point
- the point to compare- Returns:
- true if the two positions are similar
-
samePoint
default boolean samePoint(double x, double y, double z, double epsilon) Checks it two points have similar (x/y/z) coordinates within a given epsilon.- Parameters:
x
- the x coordinate to comparey
- the y coordinate to comparez
- the z coordinate to compareepsilon
- the maximum difference allowed between the two points (exclusive)- Returns:
- true if the two positions are similar within the epsilon
- Throws:
IllegalArgumentException
- if epsilon is less than or equal to 0
-
samePoint
Checks it two points have similar (x/y/z) coordinates within a given epsilon.- Parameters:
point
- the point to compareepsilon
- the maximum difference allowed between the two points (exclusive)- Returns:
- true if the two positions are similar within the epsilon
- Throws:
IllegalArgumentException
- if epsilon is less than or equal to 0
-
isZero
default boolean isZero()- Returns:
- true if the three coordinates are zero
-
sameChunk
Checks if two points are in the same chunk.- Parameters:
point
- the point to compare to- Returns:
- true if 'this' is in the same chunk as
point
-
sameBlock
default boolean sameBlock(int blockX, int blockY, int blockZ) -
sameBlock
Checks if two points are in the same block.- Parameters:
point
- the point to compare to- Returns:
- true if 'this' is in the same block as
point
-
asPos
-
asVec
-
asBlockVec
-
sectionY()
instead.