A Vector3f object uses floating point values to describe a point in space.
Name | Parameters | Return value | Notes |
() (constructor) |
|
Vector3f |
Creates a new Vector3f object with zero coords |
() (constructor) |
Vector3f |
Vector3f |
Creates a new Vector3f object as a copy of the specified vector |
() (constructor) |
x, y, z |
Vector3f |
Creates a new Vector3f object with the specified coords |
() (constructor) |
Vector3d |
Vector3f |
Creates a new Vector3f object as a copy of the specified Vector3d |
() (constructor) |
Vector3i |
Vector3f |
Creates a new Vector3f object as a copy of the specified Vector3i |
operator * |
number |
Vector3f |
Returns a new Vector3f object that has each of its coords multiplied by the specified number |
operator * |
Vector3f |
Vector3f |
Returns a new Vector3f object that has each of its coords multiplied by the respective coord of the specified vector. |
operator + |
Vector3f |
Vector3f |
Returns a new Vector3f object that holds the vector sum of this vector and the specified vector. |
operator - |
|
Vector3f |
Returns a new Vector3f that is a negative of this vector (all coords multiplied by -1). |
operator - |
Vector3f |
Vector3f |
Returns a new Vector3f object that holds the vector differrence between this vector and the specified vector. |
operator / |
number |
Vector3f |
Returns a new Vector3f object with each coord divided by the specified number. |
operator / |
Vector3f |
Vector3f |
Returns a new Vector3f object with each coord divided by the corresponding coord from the given vector. |
Abs |
|
|
Updates each coord to its absolute value. |
Clamp |
min, max |
|
Clamps each coord into the specified range. |
Cross |
Vector3f |
Vector3f |
Returns a new Vector3f object that holds the cross product of this vector and the specified vector. |
Dot |
Vector3f |
number |
Returns the dot product of this vector and the specified vector. |
Equals |
Vector3f |
bool |
Returns true if the specified vector is exactly equal to this vector. Note that this is subject to (possibly imprecise) floating point math. |
EqualsEps |
Rhs, Eps |
boolean |
Returns true if the differences between each corresponding coords of this vector and the one specified, are less than the specified Eps. |
Floor |
|
Vector3i |
Returns a new Vector3i object with coords set to math.floor of this vector's coords. |
HasNonZeroLength |
|
boolean |
Returns true if the vector has at least one coord non-zero. Note that this is subject to (possibly imprecise) floating point math. |
Length |
|
number |
Returns the (euclidean) length of this vector |
LineCoeffToXYPlane |
Vector3f, Z |
number |
Returns the coefficient for the line from the specified vector through this vector to reach the specified Z coord. The result satisfies the following equation: (this + Result * (Param - this)).z = Z. Returns the NO_INTERSECTION constant if there's no intersection. |
LineCoeffToXZPlane |
Vector3f, Y |
number |
Returns the coefficient for the line from the specified vector through this vector to reach the specified Y coord. The result satisfies the following equation: (this + Result * (Param - this)).y = Y. Returns the NO_INTERSECTION constant if there's no intersection. |
LineCoeffToYZPlane |
Vector3f, X |
number |
Returns the coefficient for the line from the specified vector through this vector to reach the specified X coord. The result satisfies the following equation: (this + Result * (Param - this)).x = X. Returns the NO_INTERSECTION constant if there's no intersection. |
Move |
X, Y, Z |
|
Adds the specified offsets to each coord, effectively moving the vector by the specified coord offsets. |
Move |
Diff |
|
Adds the specified vector to this vector. Is slightly better performant than adding with a "+" because this doesn't create a new object for the result. |
Normalize |
|
|
Normalizes this vector (makes it 1 unit long while keeping the direction). FIXME: Fails for zero vectors. |
NormalizeCopy |
|
Vector3f |
Returns a copy of this vector that is normalized (1 unit long while keeping the same direction). FIXME: Fails for zero vectors. |
Set |
x, y, z |
|
Sets all the coords of the vector at once. |
SqrLength |
|
number |
Returns the (euclidean) length of this vector, squared. This operation is slightly less computationally expensive than Length(), while it conserves some properties of Length(), such as comparison. |
TurnCCW |
|
|
Rotates the vector 90 degrees counterclockwise around the vertical axis. Note that this is specific to minecraft's axis ordering, which is X+ left, Z+ down. |
TurnCW |
|
|
Rotates the vector 90 degrees clockwise around the vertical axis. Note that this is specific to minecraft's axis ordering, which is X+ left, Z+ down. |
abs |
|
|
OBSOLETE, use Abs() instead. |
clamp |
min, max |
|
OBSOLETE, use Clamp() instead. |