Name  Parameters  Return value  Notes 
() (constructor) 

Vector3d 
Creates a new Vector3d object with all its coords set to 0. 
() (constructor) 
X, Y, Z 
Vector3d 
Creates a new Vector3d object with its coords set to the specified values. 
() (constructor) 
Vector3f 
Vector3d 
Creates a new Vector3d object by copying the coords from the given Vector3f. 
operator * 
number 
Vector3d 
Returns a new Vector3d object with each coord multiplied. 
operator * 
Vector3d 
Vector3d 
Returns a new Vector3d object with each coord multiplied by the corresponding coord from the given vector. 
operator + 
Vector3d 
Vector3d 
Returns a new Vector3d containing the sum of this vector and the specified vector 
operator  

Vector3d 
Returns a new Vector3d object that is a negative of this vector (all coords multiplied by 1). 
operator  
Vector3d 
Vector3d 
Returns a new Vector3d object containing the difference between this object and the specified vector. 
operator / 
number 
Vector3d 
Returns a new Vector3d object with each coord divided by the specified number. 
operator / 
Vector3d 
Vector3d 
Returns a new Vector3d 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 
Vector3d 
Vector3d 
Returns a new Vector3d that is a cross product of this vector and the specified vector. 
Dot 
Vector3d 
number 
Returns the dot product of this vector and the specified vector. 
Equals 
Vector3d 
bool 
Returns true if this vector is exactly equal to the specified 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 nonzero. Note that this is subject to (possibly imprecise) floating point math. 
Length 

number 
Returns the (euclidean) length of the vector. 
LineCoeffToXYPlane 
Vector3d, 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 
Vector3d, 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 
Vector3d, 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 


Changes this vector so that it keeps current direction but is exactly 1 unit long. FIXME: Fails for a zero vector. 
NormalizeCopy 

Vector3d 
Returns a new vector that has the same direction as this but is exactly 1 unit long. FIXME: Fails for a zero vector. 
Set 
X, Y, Z 

Sets all the coords in this object. 
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. 