Package net.risingworld.api.utils
Klasse Vector3i
java.lang.Object
net.risingworld.api.utils.Vector3i
- Alle implementierten Schnittstellen:
Serializable
A Vector which holds three int values: X, Y and Z
It can be used to represent a three dimensional value, like an integer position (e.g a block position or a chunk offset).
It can be used to represent a three dimensional value, like an integer position (e.g a block position or a chunk offset).
- Siehe auch:
-
Feldübersicht
-
Konstruktorübersicht
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungaddLocal
(int addX, int addY, int addZ) Adds the provided values to the values of this vector.Adds the values of the provided vector to the values of this vector.float
angleBetween
(Vector3i other) Gets the angle between this vector and another vector.
Please note: Both vectors need to be unit vectors (normalized).copy()
Creates a copy of this Vector.crossLocal
(int v2x, int v2y, int v2z) Calculates the cross product of this vector and the provided coordinates.crossLocal
(Vector3i other) Calculates the cross product of this vector and another vector.float
distance
(int x, int y, int z) Gets the distance between this vector and the provided coordinates.float
Gets the distance between this vector and another vector.float
distanceSquared
(int x, int y, int z) Gets the squared distance between this vector and the provided coordinates.float
distanceSquared
(Vector3i other) Gets the squared distance between this vector and another Vector3i.divideLocal
(int scalar) divideLocal
(Vector3i other) float
dot
(int x, int y, int z) Gets the dot product of this vector with the provided coordinates.float
Gets the dot product of this vector with the provided vector.boolean
equals
(int x, int y, int z) boolean
Gets whether or not this vector is equal to another object.int
getX()
Returns the x value of this vector.int
getY()
Returns the y value of this vector.int
getZ()
Returns the z value of this vector.int
hashCode()
Gets a unique* hash code for this vector, based on its values.boolean
isOrthogonal
(int x, int y, int z) Checks if this vector is orthogonal to another vector (i.e the angle between both vectors is ~ 90° degree).boolean
isOrthogonal
(Vector3i other) Checks if this vector is orthogonal to another vector (i.e the angle between both vectors is ~ 90° degree).boolean
Checks if this vector is a unit vector.float
length()
Gets the length of this vector.float
Gets the squared length of this vector.multLocal
(int scalar) Multiplies the values of this vector with the provided scalar.multLocal
(int multX, int multY, int multZ) Multiplies the values of this vector with the provided values.Multiplies the values of this vector with the values of the provided vector.Negates all values of this vector.Normalizes this vector (i.e turn it into a unit vector).set
(int x, int y, int z) Sets the x, y and z values of this vector to the provided int values.Sets the x, y and z values of this vector to the values of the provided vector.setX
(int x) Sets the x value of this vector.setY
(int y) Sets the y value of this vector.setZ
(int z) Sets the z value of this vector.subtractLocal
(int subtractX, int subtractY, int subtractZ) Subtracts the provided values from the values of this vector.subtractLocal
(Vector3i other) Subtracts the values of the provided vector from the values of this vector.toString()
Gets a String representation of this vector, for example(23, -5)
zero()
Sets all values to 0 (same setset(0, 0, 0);
).
-
Felddetails
-
ZERO
A vector with values 0, 0, 0 -
ONE
A vector with values 1, 1, 1 -
x
public int xThe integer X value of this vector -
y
public int yThe integer Y value of this vector -
z
public int zThe integer Z value of this vector
-
-
Konstruktordetails
-
Vector3i
public Vector3i()Creates a new Vector3i with default values 0, 0, 0. -
Vector3i
public Vector3i(int x, int y, int z) Creates a new Vector3i with the provided int values.- Parameter:
x
- the x value of the vector.y
- the y value of the vector.z
- the z value of the vector.
-
Vector3i
Creates a new Vector3i and copies the X, Y and Z values from the provided vector.- Parameter:
copy
- the Vector3i to copy.
-
-
Methodendetails
-
copy
Creates a copy of this Vector.- Gibt zurück:
- a new instance with the same values of this Vector.
-
set
Sets the x, y and z values of this vector to the values of the provided vector.- Parameter:
vector
- the Vector3i to copy.- Gibt zurück:
- this vector.
-
set
Sets the x, y and z values of this vector to the provided int values.- Parameter:
x
- the x value.y
- the y value.z
- the z value.- Gibt zurück:
- this vector.
-
setX
Sets the x value of this vector.- Parameter:
x
- the new x value.- Gibt zurück:
- this vector.
-
setY
Sets the y value of this vector.- Parameter:
y
- the new y value.- Gibt zurück:
- this vector.
-
setZ
Sets the z value of this vector.- Parameter:
z
- the new z value.- Gibt zurück:
- this vector.
-
getX
public int getX()Returns the x value of this vector.- Gibt zurück:
- the current x value.
-
getY
public int getY()Returns the y value of this vector.- Gibt zurück:
- the current y value.
-
getZ
public int getZ()Returns the z value of this vector.- Gibt zurück:
- the current z value.
-
dot
Gets the dot product of this vector with the provided vector.- Parameter:
other
- the vector to calculate the dot product with.- Gibt zurück:
- the resulting dot product.
-
dot
public float dot(int x, int y, int z) Gets the dot product of this vector with the provided coordinates.- Parameter:
x
- the x coordinate.y
- the y coordinate.z
- the z coordinate.- Gibt zurück:
- the resulting dot product.
-
length
public float length()Gets the length of this vector.- Gibt zurück:
- the length of this vector.
- Siehe auch:
-
lengthSquared
public float lengthSquared()Gets the squared length of this vector. Use this function to avoid calculating the squareroot.- Gibt zurück:
- the squared length of this vector.
- Siehe auch:
-
distance
Gets the distance between this vector and another vector.- Parameter:
other
- the other vector.- Gibt zurück:
- the distance between this vector and another vector.
- Siehe auch:
-
distance
public float distance(int x, int y, int z) Gets the distance between this vector and the provided coordinates.- Parameter:
x
- the other x coordinate.y
- the other y coordinate.z
- the other z coordinate.- Gibt zurück:
- the distance between this vector and the provided coordinates.
- Siehe auch:
-
distanceSquared
Gets the squared distance between this vector and another Vector3i. Use this function to avoid calculating the squareroot.- Parameter:
other
- the other Vector3i.- Gibt zurück:
- the squared distance between this vector and the provided Vector3i.
-
distanceSquared
public float distanceSquared(int x, int y, int z) Gets the squared distance between this vector and the provided coordinates. Use this function to avoid calculating the squareroot.- Parameter:
x
- the other x coordinate.y
- the other y coordinate.z
- the other z coordinate.- Gibt zurück:
- the squared distance between this vector and the provided coordinates.
-
addLocal
Adds the values of the provided vector to the values of this vector.- Parameter:
other
- the vector to add.- Gibt zurück:
- this vector.
-
addLocal
Adds the provided values to the values of this vector.- Parameter:
addX
- the x value to add.addY
- the y value to add.addZ
- the z value to add.- Gibt zurück:
- this vector.
-
subtractLocal
Subtracts the values of the provided vector from the values of this vector.- Parameter:
other
- the vector to subtract.- Gibt zurück:
- this vector.
-
subtractLocal
Subtracts the provided values from the values of this vector.- Parameter:
subtractX
- the x value to subtract.subtractY
- the y value to subtract.subtractZ
- the z value to subtract.- Gibt zurück:
- this vector.
-
multLocal
Multiplies the values of this vector with the provided scalar.- Parameter:
scalar
- the value to multiply this vector by.- Gibt zurück:
- this vector.
-
multLocal
Multiplies the values of this vector with the values of the provided vector.- Parameter:
other
- the vector to multiply.- Gibt zurück:
- this vector.
-
multLocal
Multiplies the values of this vector with the provided values.- Parameter:
multX
- the x value to multiply the x coordinate of this vector by.multY
- the y value to multiply the y coordinate of this vector by.multZ
- the z value to multiply the z coordinate of this vector by.- Gibt zurück:
- this vector.
-
divideLocal
-
divideLocal
-
negateLocal
Negates all values of this vector.- Gibt zurück:
- this vector.
-
crossLocal
Calculates the cross product of this vector and another vector.- Parameter:
other
- the other vector.- Gibt zurück:
- this vector.
-
crossLocal
Calculates the cross product of this vector and the provided coordinates.- Parameter:
v2x
- the other x coordinate.v2y
- the other y coordinate.v2z
- the other z coordinate.- Gibt zurück:
- this vector.
-
normalizeLocal
Normalizes this vector (i.e turn it into a unit vector).- Gibt zurück:
- this vector (normalized).
-
angleBetween
Gets the angle between this vector and another vector.
Please note: Both vectors need to be unit vectors (normalized).- Parameter:
other
- the other vector (unit vector).- Gibt zurück:
- the angle in degrees.
-
zero
Sets all values to 0 (same setset(0, 0, 0);
).- Gibt zurück:
- this vector.
-
isUnitVector
public boolean isUnitVector()Checks if this vector is a unit vector.- Gibt zurück:
- true if this is a unit vector, false if not.
-
isOrthogonal
Checks if this vector is orthogonal to another vector (i.e the angle between both vectors is ~ 90° degree).- Parameter:
other
- the other vector.- Gibt zurück:
- true if this vector is orthogonal to the other vector, false if not.
-
isOrthogonal
public boolean isOrthogonal(int x, int y, int z) Checks if this vector is orthogonal to another vector (i.e the angle between both vectors is ~ 90° degree).- Parameter:
x
- the x coordinate of the other vector.y
- the y coordinate of the other vector.z
- the z coordinate of the other vector.- Gibt zurück:
- true if this vector is orthogonal to the other vector, false if not.
-
equals
Gets whether or not this vector is equal to another object. This function returns true, if the other object is aVector3i
and if it has exactly the same x, y and z values. -
equals
public boolean equals(int x, int y, int z) -
hashCode
public int hashCode()Gets a unique* hash code for this vector, based on its values. If two vectors have the same x, y and z values, they will return the same hash code.
* Please keep in mind that the uniqueness is not fully reliable. There is always a small chance that collisions occur (i.e two completely different vectors return the same hash code). But usually the reliability is sufficient. -
toString
Gets a String representation of this vector, for example(23, -5)
-