Package com.sk89q.worldedit.math
Class BlockVector3
java.lang.Object
com.sk89q.worldedit.math.BlockVector3
- Direct Known Subclasses:
BlockVector3Imp
,DelegateBlockVector3
,FilterBlock
,MutableBlockVector3
An immutable 3-dimensional vector.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final BlockVector3
static final BlockVector3
static final BlockVector3
static final BlockVector3
static final BlockVector3
static final BlockVector3
static final BlockVector3
static final BlockVector3
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabs()
Returns a vector with the absolute values of the components of this vector.add
(int x, int y, int z) Add another vector to this vector and return the result as a new vector.add
(BlockVector3 other) Add another vector to this vector and return the result as a new vector.add
(BlockVector3... others) Add a list of vectors to this vector and return the result as a new vector.static BlockVector3
at
(double x, double y, double z) static BlockVector3
at
(int x, int y, int z) ceil()
Rounds all components up.static void
checkLongPackable
(BlockVector3 location) clampY
(int min, int max) Clamp the Y component.boolean
containedWithin
(BlockVector3 min, BlockVector3 max) Checks to see if a vector is contained with another.cross
(BlockVector3 other) Gets the cross product of this and another vector.double
distance
(BlockVector3 other) Get the distance between this vector and another vector.int
distanceSq
(BlockVector3 other) Get the distance between this vector and another vector, squared.divide
(int n) Perform scalar division and return a new vector.divide
(int x, int y, int z) Divide this vector by another vector on each component.divide
(BlockVector3 other) Divide this vector by another vector on each component.double
dot
(BlockVector3 other) Gets the dot product of this and another vector.final boolean
equals
(BlockVector3 other) boolean
floor()
Floors the values of all components.static BlockVector3
fromLongPackedForm
(long packed) int
Deprecated, for removal: This API element is subject to removal in a future version.int
Deprecated, for removal: This API element is subject to removal in a future version.usey()
insteadint
Deprecated, for removal: This API element is subject to removal in a future version.usez()
insteadgetFullBlock
(Extent orDefault) Gets the maximum components of two vectors.Gets the minimum components of two vectors.getNbtData
(Extent orDefault) Deprecated, for removal: This API element is subject to removal in a future version.int
getOrdinal
(Extent orDefault) getOrdinalBelow
(Extent orDefault) char
getOrdinalChar
(Extent orDefault) getStateAbove
(Extent orDefault) getStateRelativeY
(Extent orDefault, int y) int
getX()
Deprecated, for removal: This API element is subject to removal in a future version.usex()
insteadint
getY()
Deprecated, for removal: This API element is subject to removal in a future version.usey()
insteadint
getZ()
Deprecated, for removal: This API element is subject to removal in a future version.usez()
insteadint
hashCode()
static boolean
isLongPackable
(BlockVector3 location) double
length()
Get the length of the vector.int
lengthSq()
Get the length, squared, of the vector.multiply
(int n) Perform scalar multiplication and return a new vector.multiply
(int x, int y, int z) Multiply this vector by another vector on each component.multiply
(BlockVector3 other) Multiply this vector by another vector on each component.multiply
(BlockVector3... others) Multiply this vector by zero or more vectors on each component.mutX
(double x) mutX
(int x) mutY
(double y) mutY
(int y) mutZ
(double z) mutZ
(int z) Get the normalized vector, which is the vector divided by its length, as a new vector.plus
(BlockVector3 other) round()
Rounds all components to the closest integer.boolean
boolean
setBlock
(Extent orDefault, BlockState state) setComponents
(double x, double y, double z) setComponents
(int x, int y, int z) boolean
setFullBlock
(Extent orDefault, BaseBlock block) boolean
setOrdinal
(Extent orDefault, int ordinal) shl
(int n) Shift all components left byn
.shl
(int x, int y, int z) Shift all components left.shr
(int n) Shift all components right byn
.shr
(int x, int y, int z) Shift all components right.static Comparator
<BlockVector3> Returns a comparator that sorts vectors first by Y, then Z, then X.subtract
(int x, int y, int z) Subtract another vector from this vector and return the result as a new vector.subtract
(BlockVector3 other) Subtract another vector from this vector and return the result as a new vector.subtract
(BlockVector3... others) Subtract a list of vectors from this vector and return the result as a new vector.Creates a 2D vector by dropping the Y component from this vector.long
Returns a string representation that is supported by the parser.double
toPitch()
Get this vector's pitch as used within the game.toString()
double
toYaw()
Get this vector's yaw as used within the game.transform2D
(double angle, double aboutX, double aboutZ, double translateX, double translateZ) Perform a 2D transformation on this vector and return a new one.withX
(int x) Set the X coordinate.withY
(int y) Set the Y coordinate.withZ
(int z) Set the Z coordinate.abstract int
x()
Get the X coordinate.abstract int
y()
Get the Y coordinate.abstract int
z()
Get the Z coordinate.
-
Field Details
-
ZERO
-
UNIT_X
-
UNIT_Y
-
UNIT_Z
-
UNIT_MINUS_X
-
UNIT_MINUS_Y
-
UNIT_MINUS_Z
-
ONE
-
-
Constructor Details
-
BlockVector3
public BlockVector3()
-
-
Method Details
-
at
-
at
-
isLongPackable
-
checkLongPackable
-
fromLongPackedForm
-
sortByCoordsYzx
Returns a comparator that sorts vectors first by Y, then Z, then X.Useful for sorting by chunk block storage order.
-
setComponents
-
setComponents
-
toLongPackedForm
public long toLongPackedForm() -
mutX
-
mutY
-
mutZ
-
mutX
-
mutY
-
mutZ
-
toImmutable
-
x
public abstract int x()Get the X coordinate.- Returns:
- the x coordinate
- Since:
- 2.11.0
-
getX
Deprecated, for removal: This API element is subject to removal in a future version.usex()
insteadGet the X coordinate.- Returns:
- the x coordinate
-
getBlockX
Deprecated, for removal: This API element is subject to removal in a future version.usex()
insteadGet the X coordinate.- Returns:
- the x coordinate
-
withX
Set the X coordinate.- Parameters:
x
- the new X- Returns:
- a new vector
-
y
public abstract int y()Get the Y coordinate.- Returns:
- the y coordinate
- Since:
- 2.11.0
-
getY
Deprecated, for removal: This API element is subject to removal in a future version.usey()
insteadGet the Y coordinate.- Returns:
- the y coordinate
-
getBlockY
Deprecated, for removal: This API element is subject to removal in a future version.usey()
insteadGet the Y coordinate.- Returns:
- the y coordinate
-
withY
Set the Y coordinate.- Parameters:
y
- the new Y- Returns:
- a new vector
-
z
public abstract int z()Get the Z coordinate.- Returns:
- the Z coordinate
- Since:
- 2.11.0
-
getZ
Deprecated, for removal: This API element is subject to removal in a future version.usez()
insteadGet the Z coordinate.- Returns:
- the z coordinate
-
getBlockZ
Deprecated, for removal: This API element is subject to removal in a future version.usez()
insteadGet the Z coordinate.- Returns:
- the z coordinate
-
withZ
Set the Z coordinate.- Parameters:
z
- the new Z- Returns:
- a new vector
-
add
Add another vector to this vector and return the result as a new vector.- Parameters:
other
- the other vector- Returns:
- a new vector
-
add
Add another vector to this vector and return the result as a new vector.- Parameters:
x
- the value to addy
- the value to addz
- the value to add- Returns:
- a new vector
-
add
Add a list of vectors to this vector and return the result as a new vector.- Parameters:
others
- an array of vectors- Returns:
- a new vector
-
subtract
Subtract another vector from this vector and return the result as a new vector.- Parameters:
other
- the other vector- Returns:
- a new vector
-
subtract
Subtract another vector from this vector and return the result as a new vector.- Parameters:
x
- the value to subtracty
- the value to subtractz
- the value to subtract- Returns:
- a new vector
-
subtract
Subtract a list of vectors from this vector and return the result as a new vector.- Parameters:
others
- an array of vectors- Returns:
- a new vector
-
multiply
Multiply this vector by another vector on each component.- Parameters:
other
- the other vector- Returns:
- a new vector
-
multiply
Multiply this vector by another vector on each component.- Parameters:
x
- the value to multiplyy
- the value to multiplyz
- the value to multiply- Returns:
- a new vector
-
multiply
Multiply this vector by zero or more vectors on each component.- Parameters:
others
- an array of vectors- Returns:
- a new vector
-
multiply
Perform scalar multiplication and return a new vector.- Parameters:
n
- the value to multiply- Returns:
- a new vector
-
divide
Divide this vector by another vector on each component.- Parameters:
other
- the other vector- Returns:
- a new vector
-
divide
Divide this vector by another vector on each component.- Parameters:
x
- the value to divide byy
- the value to divide byz
- the value to divide by- Returns:
- a new vector
-
divide
Perform scalar division and return a new vector.- Parameters:
n
- the value to divide by- Returns:
- a new vector
-
shr
Shift all components right.- Parameters:
x
- the value to shift x byy
- the value to shift y byz
- the value to shift z by- Returns:
- a new vector
-
shr
Shift all components right byn
.- Parameters:
n
- the value to shift by- Returns:
- a new vector
-
shl
Shift all components left.- Parameters:
x
- the value to shift x byy
- the value to shift y byz
- the value to shift z by- Returns:
- a new vector
-
shl
Shift all components left byn
.- Parameters:
n
- the value to shift by- Returns:
- a new vector
-
length
public double length()Get the length of the vector.- Returns:
- length
-
lengthSq
public int lengthSq()Get the length, squared, of the vector.- Returns:
- length, squared
-
distance
Get the distance between this vector and another vector.- Parameters:
other
- the other vector- Returns:
- distance
-
distanceSq
Get the distance between this vector and another vector, squared.- Parameters:
other
- the other vector- Returns:
- distance
-
normalize
Get the normalized vector, which is the vector divided by its length, as a new vector.- Returns:
- a new vector
-
dot
Gets the dot product of this and another vector.- Parameters:
other
- the other vector- Returns:
- the dot product of this and the other vector
-
cross
Gets the cross product of this and another vector.- Parameters:
other
- the other vector- Returns:
- the cross product of this and the other vector
-
containedWithin
Checks to see if a vector is contained with another.- Parameters:
min
- the minimum point (X, Y, and Z are the lowest)max
- the maximum point (X, Y, and Z are the lowest)- Returns:
- true if the vector is contained
-
clampY
Clamp the Y component.- Parameters:
min
- the minimum valuemax
- the maximum value- Returns:
- a new vector
-
floor
Floors the values of all components.- Returns:
- a new vector
-
ceil
Rounds all components up.- Returns:
- a new vector
-
round
Rounds all components to the closest integer.Components < 0.5 are rounded down, otherwise up.
- Returns:
- a new vector
-
abs
Returns a vector with the absolute values of the components of this vector.- Returns:
- a new vector
-
transform2D
public BlockVector3 transform2D(double angle, double aboutX, double aboutZ, double translateX, double translateZ) Perform a 2D transformation on this vector and return a new one.- Parameters:
angle
- in degreesaboutX
- about which x coordinate to rotateaboutZ
- about which z coordinate to rotatetranslateX
- what to add after rotationtranslateZ
- what to add after rotation- Returns:
- a new vector
- See Also:
-
toPitch
public double toPitch()Get this vector's pitch as used within the game.- Returns:
- pitch in radians
-
toYaw
public double toYaw()Get this vector's yaw as used within the game.- Returns:
- yaw in radians
-
getMinimum
Gets the minimum components of two vectors.- Parameters:
v2
- the second vector- Returns:
- minimum
-
getMaximum
Gets the maximum components of two vectors.- Parameters:
v2
- the second vector- Returns:
- maximum
-
setOrdinal
-
setBlock
-
setFullBlock
-
getOrdinal
-
getOrdinalChar
-
getBlock
-
getFullBlock
-
setBiome
-
getBiome
-
getNbtData
Deprecated, for removal: This API element is subject to removal in a future version. -
getOrdinalBelow
-
getStateAbove
-
getStateRelativeY
-
toBlockVector2
Creates a 2D vector by dropping the Y component from this vector.- Returns:
- a new
BlockVector2
-
toVector3
-
equals
-
equals
-
hashCode
public int hashCode() -
toString
-
toParserString
Returns a string representation that is supported by the parser.- Returns:
- string
-
plus
-
x()
instead