Table of Contents

Struct Vector

Namespace
Obsidian.API
Assembly
Obsidian.API.dll

Represents a three-dimensional vector. Uses int.

public struct Vector : IEquatable<Vector>, INetworkSerializable<Vector>
Implements
Inherited Members

Constructors

Vector(int)

Creates new instance of Vector with X, Y and Z set to value.

public Vector(int value)

Parameters

value int

Value of X, Y and Z.

Vector(int, int, int)

Creates a new instance of Vector with specific values.

public Vector(int x, int y, int z)

Parameters

x int

Value of X coordinate.

y int

Value of Y coordinate.

z int

Value of Z coordinate.

Fields

Backwards

A read-only field that represents Vector with coordinates (0, 0, -1).

public static readonly Vector Backwards

Field Value

Vector

CardinalDirs

Enumerable array of Cardinal Directions

public static readonly IEnumerable<Vector> CardinalDirs

Field Value

IEnumerable<Vector>

Down

A read-only field that represents Vector with coordinates (0, -1, 0).

public static readonly Vector Down

Field Value

Vector

East

A read-only field that represents Vector with coordinates (1, 0, 0).

public static readonly Vector East

Field Value

Vector

Forwards

A read-only field that represents Vector with coordinates (0, 0, 1).

public static readonly Vector Forwards

Field Value

Vector

Left

A read-only field that represents Vector with coordinates (-1, 0, 0).

public static readonly Vector Left

Field Value

Vector

North

A read-only field that represents Vector with coordinates (0, 0, -1).

public static readonly Vector North

Field Value

Vector

One

A read-only field that represents Vector with coordinates (1, 1, 1).

public static readonly Vector One

Field Value

Vector

Right

A read-only field that represents Vector with coordinates (1, 0, 0).

public static readonly Vector Right

Field Value

Vector

South

A read-only field that represents Vector with coordinates (0, 0, 1).

public static readonly Vector South

Field Value

Vector

Up

A read-only field that represents Vector with coordinates (0, 1, 0).

public static readonly Vector Up

Field Value

Vector

West

A read-only field that represents Vector with coordinates (-1, 0, 0).

public static readonly Vector West

Field Value

Vector

Zero

A read-only field that represents Vector with coordinates (0, 0, 0).

public static readonly Vector Zero

Field Value

Vector

Properties

Magnitude

Calculates magnitude of this Vector.

public readonly float Magnitude { get; }

Property Value

float

SoundPosition

public readonly SoundPosition SoundPosition { get; }

Property Value

SoundPosition

X

The X component of the Vector.

public int X { readonly get; set; }

Property Value

int

Y

The Y component of the Vector.

public int Y { readonly get; set; }

Property Value

int

Z

The Z component of the Vector.

public int Z { readonly get; set; }

Property Value

int

Methods

ChunkClamp()

Returns Vector clamped to fit inside a single minecraft chunk.

public readonly Vector ChunkClamp()

Returns

Vector

ChunkClamped(int, int, int)

Creates new Vector clamped to fit inside a single minecraft chunk.

public static Vector ChunkClamped(int x, int y, int z)

Parameters

x int
y int
z int

Returns

Vector

Clamp(Vector, Vector)

Returns Vector clamped to the inclusive range of min and max.

public readonly Vector Clamp(Vector min, Vector max)

Parameters

min Vector
max Vector

Returns

Vector

Clamp(Vector, Vector, Vector)

public static Vector Clamp(Vector value, Vector min, Vector max)

Parameters

value Vector
min Vector
max Vector

Returns

Vector

Cross(Vector, Vector)

public static Vector Cross(Vector value1, Vector value2)

Parameters

value1 Vector
value2 Vector

Returns

Vector

Deconstruct(out int, out int, out int)

public void Deconstruct(out int x, out int y, out int z)

Parameters

x int
y int
z int

Distance(Vector, Vector)

Calculates the distance between two Vectors.

public static float Distance(Vector from, Vector to)

Parameters

from Vector
to Vector

Returns

float

Dot(Vector, Vector)

public static int Dot(Vector value1, Vector value2)

Parameters

value1 Vector
value2 Vector

Returns

int

Equals(Vector)

Indicates whether this Vector is near equal to other.

public readonly bool Equals(Vector other)

Parameters

other Vector

Returns

bool

Equals(object?)

public override readonly bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override readonly int GetHashCode()

Returns

int

MagnitudeSquared()

Calculates magnitude of this Vector squared.

public readonly float MagnitudeSquared()

Returns

float

ToString()

Returns Vector formatted as a string.

public override readonly string ToString()

Returns

string

String representaion of this Vector.

Operators

operator +(Vector, Vector)

public static Vector operator +(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

Vector

operator +(Vector, int)

public static Vector operator +(Vector a, int b)

Parameters

a Vector
b int

Returns

Vector

operator +(Vector, (int x, int y, int z))

public static Vector operator +(Vector a, (int x, int y, int z) b)

Parameters

a Vector
b (int x, int y, int z)

Returns

Vector

operator +(int, Vector)

public static Vector operator +(int a, Vector b)

Parameters

a int
b Vector

Returns

Vector

operator /(Vector, Vector)

public static Vector operator /(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

Vector

operator /(Vector, int)

public static Vector operator /(Vector a, int b)

Parameters

a Vector
b int

Returns

Vector

operator /(int, Vector)

public static Vector operator /(int a, Vector b)

Parameters

a int
b Vector

Returns

Vector

operator ==(Vector, Vector)

public static bool operator ==(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

bool

implicit operator VectorF(Vector)

public static implicit operator VectorF(Vector position)

Parameters

position Vector

Returns

VectorF

operator !=(Vector, Vector)

public static bool operator !=(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

bool

operator %(Vector, Vector)

public static Vector operator %(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

Vector

operator %(Vector, int)

public static Vector operator %(Vector a, int b)

Parameters

a Vector
b int

Returns

Vector

operator %(int, Vector)

public static Vector operator %(int a, Vector b)

Parameters

a int
b Vector

Returns

Vector

operator *(Vector, Vector)

public static Vector operator *(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

Vector

operator *(Vector, int)

public static Vector operator *(Vector a, int b)

Parameters

a Vector
b int

Returns

Vector

operator *(int, Vector)

public static Vector operator *(int a, Vector b)

Parameters

a int
b Vector

Returns

Vector

operator -(Vector, Vector)

public static Vector operator -(Vector a, Vector b)

Parameters

a Vector
b Vector

Returns

Vector

operator -(Vector, int)

public static Vector operator -(Vector a, int b)

Parameters

a Vector
b int

Returns

Vector

operator -(int, Vector)

public static Vector operator -(int a, Vector b)

Parameters

a int
b Vector

Returns

Vector

operator -(Vector)

public static Vector operator -(Vector a)

Parameters

a Vector

Returns

Vector

Explicit Interface Implementations

Read(INetStreamReader)

static Vector Read(INetStreamReader reader)

Parameters

reader INetStreamReader

Returns

Vector

Write(Vector, INetStreamWriter)

static void Write(Vector value, INetStreamWriter writer)

Parameters

value Vector
writer INetStreamWriter