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