Name  Parameters  Return value  Notes 
() (constructor) 


Creates a new Vector3d object with its coords set to the specified values. 
() (constructor) 


Creates a new Vector3d object by copying the coords from the given Vector3f. 
() (constructor) 


Creates a new Vector3d object with all its coords set to 0. 
operator * 


Returns a new Vector3d object with each coord multiplied by the corresponding coord from the given vector. 
operator * 


Returns a new Vector3d object with each coord multiplied. 
operator + 


Returns a new Vector3d containing the sum of this vector and the specified vector 
operator  


Returns a new Vector3d object containing the difference between this object and the specified vector. 
operator  


Returns a new Vector3d object that is a negative of this vector (all coords multiplied by 1). 
operator / 


Returns a new Vector3d object with each coord divided by the corresponding coord from the given vector. 
operator / 


Returns a new Vector3d object with each coord divided by the specified number. 
Abs 


Updates each coord to its absolute value. 
Clamp 


Clamps each coord into the specified range. 
Cross 


Returns a new Vector3d that is a cross product of this vector and the specified vector. 
Dot 


Returns the dot product of this vector and the specified vector. 
Equals 


Returns true if this vector is exactly equal to the specified vector. Note that this is subject to (possibly imprecise) floating point math. 
EqualsEps 


Returns true if the differences between each corresponding coords of this vector and the one specified are less than the specified Eps. 
Floor 


Returns a new Vector3i object with coords set to math.floor of this vector's coords. 
HasNonZeroLength 


Returns true if the vector has at least one coord nonzero. Note that this is subject to (possibly imprecise) floating point math. 
Length 


Returns the (euclidean) length of the vector. 
LineCoeffToXYPlane 


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 


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 


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 


Adds the specified offsets to each coord, effectively moving the vector by the specified coord offsets. 
Move 


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 


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


Sets all the coords in this object. 
SqrLength 


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 


OBSOLETE, use Clamp() instead. 