Cloneable
, ConfigurationSerializable
BlockVector
public class Vector extends Object implements Cloneable, ConfigurationSerializable
clone()
in order to get a copy.Modifier and Type | Field | Description |
---|---|---|
protected double |
x |
|
protected double |
y |
|
protected double |
z |
Constructor | Description |
---|---|
Vector() |
Construct the vector with all components as 0.
|
Vector(double x,
double y,
double z) |
Construct the vector with provided double components.
|
Vector(float x,
float y,
float z) |
Construct the vector with provided float components.
|
Vector(int x,
int y,
int z) |
Construct the vector with provided integer components.
|
Modifier and Type | Method | Description |
---|---|---|
Vector |
add(Vector vec) |
Adds a vector to this one
|
float |
angle(Vector other) |
Gets the angle between this vector and another in radians.
|
void |
checkFinite() |
Check if each component of this Vector is finite.
|
Vector |
clone() |
Get a new vector.
|
Vector |
copy(Vector vec) |
Copies another vector
|
Vector |
crossProduct(Vector o) |
Calculates the cross product of this vector with another.
|
static Vector |
deserialize(Map<String,Object> args) |
|
double |
distance(Vector o) |
Get the distance between this vector and another.
|
double |
distanceSquared(Vector o) |
Get the squared distance between this vector and another.
|
Vector |
divide(Vector vec) |
Divides the vector by another.
|
double |
dot(Vector other) |
Calculates the dot product of this vector with another.
|
boolean |
equals(Object obj) |
Checks to see if two objects are equal.
|
int |
getBlockX() |
Gets the floored value of the X component, indicating the block that
this vector is contained with.
|
int |
getBlockY() |
Gets the floored value of the Y component, indicating the block that
this vector is contained with.
|
int |
getBlockZ() |
Gets the floored value of the Z component, indicating the block that
this vector is contained with.
|
Vector |
getCrossProduct(Vector o) |
Calculates the cross product of this vector with another without mutating
the original.
|
static double |
getEpsilon() |
Get the threshold used for equals().
|
static Vector |
getMaximum(Vector v1,
Vector v2) |
Gets the maximum components of two vectors.
|
Vector |
getMidpoint(Vector other) |
Gets a new midpoint vector between this vector and another.
|
static Vector |
getMinimum(Vector v1,
Vector v2) |
Gets the minimum components of two vectors.
|
static Vector |
getRandom() |
Gets a random vector with components having a random value between 0
and 1.
|
double |
getX() |
Gets the X component.
|
double |
getY() |
Gets the Y component.
|
double |
getZ() |
Gets the Z component.
|
int |
hashCode() |
Returns a hash code for this vector
|
boolean |
isInAABB(Vector min,
Vector max) |
Returns whether this vector is in an axis-aligned bounding box.
|
boolean |
isInSphere(Vector origin,
double radius) |
Returns whether this vector is within a sphere.
|
double |
length() |
Gets the magnitude of the vector, defined as sqrt(x^2+y^2+z^2).
|
double |
lengthSquared() |
Gets the magnitude of the vector squared.
|
Vector |
midpoint(Vector other) |
Sets this vector to the midpoint between this vector and another.
|
Vector |
multiply(double m) |
Performs scalar multiplication, multiplying all components with a
scalar.
|
Vector |
multiply(float m) |
Performs scalar multiplication, multiplying all components with a
scalar.
|
Vector |
multiply(int m) |
Performs scalar multiplication, multiplying all components with a
scalar.
|
Vector |
multiply(Vector vec) |
Multiplies the vector by another.
|
Vector |
normalize() |
Converts this vector to a unit vector (a vector with length of 1).
|
Map<String,Object> |
serialize() |
Creates a Map representation of this class.
|
Vector |
setX(double x) |
Set the X component.
|
Vector |
setX(float x) |
Set the X component.
|
Vector |
setX(int x) |
Set the X component.
|
Vector |
setY(double y) |
Set the Y component.
|
Vector |
setY(float y) |
Set the Y component.
|
Vector |
setY(int y) |
Set the Y component.
|
Vector |
setZ(double z) |
Set the Z component.
|
Vector |
setZ(float z) |
Set the Z component.
|
Vector |
setZ(int z) |
Set the Z component.
|
Vector |
subtract(Vector vec) |
Subtracts a vector from this one.
|
BlockVector |
toBlockVector() |
Get the block vector of this vector.
|
Location |
toLocation(World world) |
Gets a Location version of this vector with yaw and pitch being 0.
|
Location |
toLocation(World world,
float yaw,
float pitch) |
Gets a Location version of this vector.
|
String |
toString() |
Returns this vector's components as x,y,z.
|
Vector |
zero() |
Zero this vector's components.
|
public Vector()
public Vector(int x, int y, int z)
x
- X componenty
- Y componentz
- Z componentpublic Vector(double x, double y, double z)
x
- X componenty
- Y componentz
- Z componentpublic Vector(float x, float y, float z)
x
- X componenty
- Y componentz
- Z componentpublic Vector add(Vector vec)
vec
- The other vectorpublic Vector subtract(Vector vec)
vec
- The other vectorpublic Vector multiply(Vector vec)
vec
- The other vectorpublic Vector divide(Vector vec)
vec
- The other vectorpublic Vector copy(Vector vec)
vec
- The other vectorpublic double length()
public double lengthSquared()
public double distance(Vector o)
o
- The other vectorpublic double distanceSquared(Vector o)
o
- The other vectorpublic float angle(Vector other)
other
- The other vectorpublic Vector midpoint(Vector other)
other
- The other vectorpublic Vector getMidpoint(Vector other)
other
- The other vectorpublic Vector multiply(int m)
m
- The factorpublic Vector multiply(double m)
m
- The factorpublic Vector multiply(float m)
m
- The factorpublic double dot(Vector other)
other
- The other vectorpublic Vector crossProduct(Vector o)
o
- The other vectorpublic Vector getCrossProduct(Vector o)
o
- The other vectorpublic Vector normalize()
public Vector zero()
public boolean isInAABB(Vector min, Vector max)
The minimum and maximum vectors given must be truly the minimum and maximum X, Y and Z components.
min
- Minimum vectormax
- Maximum vectorpublic boolean isInSphere(Vector origin, double radius)
origin
- Sphere origin.radius
- Sphere radiuspublic double getX()
public int getBlockX()
public double getY()
public int getBlockY()
public double getZ()
public int getBlockZ()
public Vector setX(int x)
x
- The new X component.public Vector setX(double x)
x
- The new X component.public Vector setX(float x)
x
- The new X component.public Vector setY(int y)
y
- The new Y component.public Vector setY(double y)
y
- The new Y component.public Vector setY(float y)
y
- The new Y component.public Vector setZ(int z)
z
- The new Z component.public Vector setZ(double z)
z
- The new Z component.public Vector setZ(float z)
z
- The new Z component.public boolean equals(Object obj)
Only two Vectors can ever return true. This method uses a fuzzy match to account for floating point errors. The epsilon can be retrieved with epsilon.
public int hashCode()
public String toString()
public Location toLocation(World world)
world
- The world to link the location to.public Location toLocation(World world, float yaw, float pitch)
world
- The world to link the location to.yaw
- The desired yaw.pitch
- The desired pitch.public BlockVector toBlockVector()
public void checkFinite() throws IllegalArgumentException
IllegalArgumentException
- if any component is not finitepublic static double getEpsilon()
public static Vector getMinimum(Vector v1, Vector v2)
v1
- The first vector.v2
- The second vector.public static Vector getMaximum(Vector v1, Vector v2)
v1
- The first vector.v2
- The second vector.public static Vector getRandom()
public Map<String,Object> serialize()
ConfigurationSerializable
This class must provide a method to restore this class, as defined in
the ConfigurationSerializable
interface javadocs.
serialize
in interface ConfigurationSerializable
Copyright © 2019. All rights reserved.