Skip to content

Vec3

A 3-dimensional numerical vector.

Fields

x: number Read/Write

The x component of this vector.

y: number Read/Write

The y component of this vector.

z: number Read/Write

The z component of this vector.

Methods

new(x: number, y: number, z: number) vec: Vec3

Initializes a new vector.

Parameters

  • x: number The x component.
  • y: number The y component.
  • z: number The z component.

Returns

  • vec: Vec3 A new vector with the given components.

add(other: Vec3) Vec3

Returns a new vector that is the sum of this vector and another.

Parameters

Returns

chunk() number: number,

Calculates the chunk coordinates (assuming 16-unit chunks).

Returns

  • number: number, number

dotProduct(other: Vec3) number

Returns the dot product of this vector and another.

Parameters

Returns

  • number

floor() Vec3

Floors all components of the vector.

Returns

invert() Vec3

Inverts this vector (negates all components).

Returns

magnitude() number

Returns the magnitude (length) of this vector.

Returns

  • number

normalize() Vec3

Normalizes this vector to unit length.

Returns

scale(factor: number) Vec3

Scales this vector by a scalar value.

Parameters

  • factor: number

Returns

sqrMagnitude() number

Returns the squared magnitude of this vector.

Returns

  • number

subtract(other: Vec3) Vec3

Returns a new vector that is the difference between this vector and another.

Parameters

Returns

tostring() string

Returns a string representation of this vector.

Returns

  • string

Vec3(x: number, y: number, z: number) vec: Vec3

Convenient constructor for creating a new vector. Equivalent to Vec3:new(x, y, z).

Parameters

  • x: number The x component.
  • y: number The y component.
  • z: number The z component.

Returns

  • vec: Vec3 A new vector with the given components.

Operators / Metamethods

__add(v1: Vec3, v2: Vec3) Vec3

Metamethod for vec1 + vec2.

Parameters

Returns

__concat(a: any, b: any) string

Metamethod for vec1 .. vec2 (string concatenation).

Parameters

  • a: any
  • b: any

Returns

  • string

__eq(a: Vec3, b: Vec3) boolean

Compares two vectors for equality.

Parameters

Returns

  • boolean

__mul(a: Vec3|number, b: Vec3|number) Vec3|number

Metamethod for vec * scalar or vec1 * vec2 (dot product).

Parameters

Returns

__sub(v1: Vec3, v2: Vec3) Vec3

Metamethod for vec1 - vec2.

Parameters

Returns

__tostring(self: Vec3) string

Metamethod for tostring(vec) or string concatenation.

Parameters

Returns

  • string

__unm(v: Vec3) Vec3

Metamethod for -vec.

Parameters

Returns