Class Vec3d
- All Implemented Interfaces:
Position
This vector class is used for representing position, velocity, rotation, color, etc.
This vector has proper hashCode()
and equals(Object)
implementations and can be used as a map key.
- See Also:
- Mappings:
Namespace Name named net/minecraft/util/math/Vec3d
intermediary net/minecraft/class_243
official evs
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionadd
(double x, double y, double z) Returns the sum of this vector and the given vector.Returns the sum of this vector and the given vector.static Vec3d
Returns a new vector fromvec
withdeltaX
,deltaY
, anddeltaZ
added to X, Y, Z values, respectively.Returns a vector with each value added byrandom.nextFloat() - 0.5f) * multiplier
.crossProduct
(Vec3d vec) Returns the cross product of this vector and the given vector.double
distanceTo
(Vec3d vec) Returns the distance between this vector and the given vector.double
dotProduct
(Vec3d vec) Returns the dot product of this vector and the given vector.boolean
floorAlongAxes
(EnumSet<Direction.Axis> axes) Applies the floor function to the coordinates chosen by the given axes.static Vec3d
fromPolar
(float pitch, float yaw) Converts pitch and yaw into a direction vector.static Vec3d
Converts pitch and yaw into a direction vector.double
Returns the coordinate chosen by the given axis.final double
getX()
Returns the X coordinate.final double
getY()
Returns the Y coordinate.final double
getZ()
Returns the Z coordinate.int
hashCode()
double
Returns the horizontal length of this vector.double
Returns the squared horizontal length of this vector.boolean
Checks if the distance between this vector and the given position is less thanradius
.boolean
isWithinRangeOf
(Vec3d vec, double horizontalRange, double verticalRange) double
length()
Returns the length of this vector.double
Returns the squared length of this vector.Performs linear interpolation from this vector to the given vector.multiply
(double value) Return a vector whose coordinates are the coordinates of this vector each multiplied by the given scalar value.multiply
(double x, double y, double z) Returns a vector whose coordinates are the product of each pair of coordinates in this vector and the given vector.Returns a vector whose coordinates are the product of each pair of coordinates in this vector and the given vector.negate()
Creates a vector with the same length but with the opposite direction.Normalizes this vector.static Vec3d
Copies the given vector.static Vec3d
ofBottomCenter
(Vec3i vec) Creates a vector representing the bottom center of the given block position.static Vec3d
Creates a vector representing the center of the given block position.static Vec3d
Creates a vector representing the center of the given block position but with the given offset for the Y coordinate.relativize
(Vec3d vec) Subtracts this vector from the given vector.rotateX
(float angle) Rotates this vector by the given angle counterclockwise around the X axis.rotateY
(float angle) Rotates this vector by the given angle counterclockwise around the Y axis.rotateZ
(float angle) Rotates this vector by the given angle counterclockwise around the Z axis.double
squaredDistanceTo
(double x, double y, double z) Returns the squared distance between this vector and the given vector.double
squaredDistanceTo
(Vec3d vec) Returns the squared distance between this vector and the given vector.subtract
(double x, double y, double z) Subtracts the given vector from this vector.Subtracts the given vector from this vector.toString()
Returns a JOMLVector3f
representing this vector.static Vec3d
unpackRgb
(int rgb) Converts a packed RGB color into a vector of (red, green, blue).withAxis
(Direction.Axis axis, double value)
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector named CODEC
Lnet/minecraft/util/math/Vec3d;CODEC:Lcom/mojang/serialization/Codec;
intermediary field_38277
Lnet/minecraft/class_243;field_38277:Lcom/mojang/serialization/Codec;
official a
Levs;a:Lcom/mojang/serialization/Codec;
-
ZERO
The zero vector (0, 0, 0).- Mappings:
Namespace Name Mixin selector named ZERO
Lnet/minecraft/util/math/Vec3d;ZERO:Lnet/minecraft/util/math/Vec3d;
intermediary field_1353
Lnet/minecraft/class_243;field_1353:Lnet/minecraft/class_243;
official b
Levs;b:Levs;
-
x
public final double xThe X coordinate of this vector.- Mappings:
Namespace Name Mixin selector named x
Lnet/minecraft/util/math/Vec3d;x:D
intermediary field_1352
Lnet/minecraft/class_243;field_1352:D
official c
Levs;c:D
-
y
public final double yThe Y coordinate of this vector.- Mappings:
Namespace Name Mixin selector named y
Lnet/minecraft/util/math/Vec3d;y:D
intermediary field_1351
Lnet/minecraft/class_243;field_1351:D
official d
Levs;d:D
-
z
public final double zThe Z coordinate of this vector.- Mappings:
Namespace Name Mixin selector named z
Lnet/minecraft/util/math/Vec3d;z:D
intermediary field_1350
Lnet/minecraft/class_243;field_1350:D
official e
Levs;e:D
-
-
Constructor Details
-
Vec3d
public Vec3d(double x, double y, double z) Creates a vector of the given coordinates.- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/Vec3d;<init>(DDD)V
intermediary <init>
Lnet/minecraft/class_243;<init>(DDD)V
official <init>
Levs;<init>(DDD)V
-
Vec3d
Copies the given vector.- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/Vec3d;<init>(Lorg/joml/Vector3f;)V
intermediary <init>
Lnet/minecraft/class_243;<init>(Lorg/joml/Vector3f;)V
official <init>
Levs;<init>(Lorg/joml/Vector3f;)V
-
-
Method Details
-
unpackRgb
Converts a packed RGB color into a vector of (red, green, blue).- Parameters:
rgb
- the color in the 0xRRGGBB format- Returns:
- the vector representing the given color; each coordinate has value between 0 and 1
- Mappings:
Namespace Name Mixin selector named unpackRgb
Lnet/minecraft/util/math/Vec3d;unpackRgb(I)Lnet/minecraft/util/math/Vec3d;
intermediary method_24457
Lnet/minecraft/class_243;method_24457(I)Lnet/minecraft/class_243;
official a
Levs;a(I)Levs;
-
of
Copies the given vector.- Mappings:
Namespace Name Mixin selector named of
Lnet/minecraft/util/math/Vec3d;of(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3d;
intermediary method_24954
Lnet/minecraft/class_243;method_24954(Lnet/minecraft/class_2382;)Lnet/minecraft/class_243;
official a
Levs;a(Lkd;)Levs;
-
add
Returns a new vector fromvec
withdeltaX
,deltaY
, anddeltaZ
added to X, Y, Z values, respectively.- Returns:
- a new vector from
vec
withdeltaX
,deltaY
, anddeltaZ
added to X, Y, Z values, respectively - Mappings:
Namespace Name Mixin selector named add
Lnet/minecraft/util/math/Vec3d;add(Lnet/minecraft/util/math/Vec3i;DDD)Lnet/minecraft/util/math/Vec3d;
intermediary method_49273
Lnet/minecraft/class_243;method_49273(Lnet/minecraft/class_2382;DDD)Lnet/minecraft/class_243;
official a
Levs;a(Lkd;DDD)Levs;
-
ofCenter
Creates a vector representing the center of the given block position.- Mappings:
Namespace Name Mixin selector named ofCenter
Lnet/minecraft/util/math/Vec3d;ofCenter(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3d;
intermediary method_24953
Lnet/minecraft/class_243;method_24953(Lnet/minecraft/class_2382;)Lnet/minecraft/class_243;
official b
Levs;b(Lkd;)Levs;
-
ofBottomCenter
Creates a vector representing the bottom center of the given block position.The bottom center of a block position
pos
is(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5)
.- See Also:
- Mappings:
Namespace Name Mixin selector named ofBottomCenter
Lnet/minecraft/util/math/Vec3d;ofBottomCenter(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3d;
intermediary method_24955
Lnet/minecraft/class_243;method_24955(Lnet/minecraft/class_2382;)Lnet/minecraft/class_243;
official c
Levs;c(Lkd;)Levs;
-
ofCenter
Creates a vector representing the center of the given block position but with the given offset for the Y coordinate.- Returns:
- a vector of
(vec.getX() + 0.5, vec.getY() + deltaY, vec.getZ() + 0.5)
- Mappings:
Namespace Name Mixin selector named ofCenter
Lnet/minecraft/util/math/Vec3d;ofCenter(Lnet/minecraft/util/math/Vec3i;D)Lnet/minecraft/util/math/Vec3d;
intermediary method_26410
Lnet/minecraft/class_243;method_26410(Lnet/minecraft/class_2382;D)Lnet/minecraft/class_243;
official a
Levs;a(Lkd;D)Levs;
-
relativize
Subtracts this vector from the given vector.- Returns:
- the difference between the given vector and this vector
- See Also:
- Mappings:
Namespace Name Mixin selector named relativize
Lnet/minecraft/util/math/Vec3d;relativize(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1035
Lnet/minecraft/class_243;method_1035(Lnet/minecraft/class_243;)Lnet/minecraft/class_243;
official a
Levs;a(Levs;)Levs;
-
normalize
Normalizes this vector.Normalized vector is a vector with the same direction but with length 1. Each coordinate of normalized vector has value between 0 and 1.
- Returns:
- the normalized vector of this vector
- Mappings:
Namespace Name Mixin selector named normalize
Lnet/minecraft/util/math/Vec3d;normalize()Lnet/minecraft/util/math/Vec3d;
intermediary method_1029
Lnet/minecraft/class_243;method_1029()Lnet/minecraft/class_243;
official d
Levs;d()Levs;
-
dotProduct
Returns the dot product of this vector and the given vector.- Mappings:
Namespace Name Mixin selector named dotProduct
Lnet/minecraft/util/math/Vec3d;dotProduct(Lnet/minecraft/util/math/Vec3d;)D
intermediary method_1026
Lnet/minecraft/class_243;method_1026(Lnet/minecraft/class_243;)D
official b
Levs;b(Levs;)D
-
crossProduct
Returns the cross product of this vector and the given vector.- Mappings:
Namespace Name Mixin selector named crossProduct
Lnet/minecraft/util/math/Vec3d;crossProduct(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1036
Lnet/minecraft/class_243;method_1036(Lnet/minecraft/class_243;)Lnet/minecraft/class_243;
official c
Levs;c(Levs;)Levs;
-
subtract
Subtracts the given vector from this vector.- Returns:
- the difference between this vector and the given vector
- See Also:
- Mappings:
Namespace Name Mixin selector named subtract
Lnet/minecraft/util/math/Vec3d;subtract(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1020
Lnet/minecraft/class_243;method_1020(Lnet/minecraft/class_243;)Lnet/minecraft/class_243;
official d
Levs;d(Levs;)Levs;
-
subtract
Subtracts the given vector from this vector.- Returns:
- the difference between this vector and the given vector
- See Also:
- Mappings:
Namespace Name Mixin selector named subtract
Lnet/minecraft/util/math/Vec3d;subtract(DDD)Lnet/minecraft/util/math/Vec3d;
intermediary method_1023
Lnet/minecraft/class_243;method_1023(DDD)Lnet/minecraft/class_243;
official a
Levs;a(DDD)Levs;
-
add
Returns the sum of this vector and the given vector.- See Also:
- Mappings:
Namespace Name Mixin selector named add
Lnet/minecraft/util/math/Vec3d;add(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1019
Lnet/minecraft/class_243;method_1019(Lnet/minecraft/class_243;)Lnet/minecraft/class_243;
official e
Levs;e(Levs;)Levs;
-
add
Returns the sum of this vector and the given vector.- See Also:
- Mappings:
Namespace Name Mixin selector named add
Lnet/minecraft/util/math/Vec3d;add(DDD)Lnet/minecraft/util/math/Vec3d;
intermediary method_1031
Lnet/minecraft/class_243;method_1031(DDD)Lnet/minecraft/class_243;
official b
Levs;b(DDD)Levs;
-
isInRange
Checks if the distance between this vector and the given position is less thanradius
.- Mappings:
Namespace Name Mixin selector named isInRange
Lnet/minecraft/util/math/Vec3d;isInRange(Lnet/minecraft/util/math/Position;D)Z
intermediary method_24802
Lnet/minecraft/class_243;method_24802(Lnet/minecraft/class_2374;D)Z
official a
Levs;a(Ljs;D)Z
-
distanceTo
Returns the distance between this vector and the given vector.- See Also:
- Mappings:
Namespace Name Mixin selector named distanceTo
Lnet/minecraft/util/math/Vec3d;distanceTo(Lnet/minecraft/util/math/Vec3d;)D
intermediary method_1022
Lnet/minecraft/class_243;method_1022(Lnet/minecraft/class_243;)D
official f
Levs;f(Levs;)D
-
squaredDistanceTo
Returns the squared distance between this vector and the given vector.Can be used for fast comparison between distances.
- See Also:
- Mappings:
Namespace Name Mixin selector named squaredDistanceTo
Lnet/minecraft/util/math/Vec3d;squaredDistanceTo(Lnet/minecraft/util/math/Vec3d;)D
intermediary method_1025
Lnet/minecraft/class_243;method_1025(Lnet/minecraft/class_243;)D
official g
Levs;g(Levs;)D
-
squaredDistanceTo
public double squaredDistanceTo(double x, double y, double z) Returns the squared distance between this vector and the given vector.Can be used for fast comparison between distances.
- See Also:
- Mappings:
Namespace Name Mixin selector named squaredDistanceTo
Lnet/minecraft/util/math/Vec3d;squaredDistanceTo(DDD)D
intermediary method_1028
Lnet/minecraft/class_243;method_1028(DDD)D
official c
Levs;c(DDD)D
-
isWithinRangeOf
- Mappings:
Namespace Name Mixin selector named isWithinRangeOf
Lnet/minecraft/util/math/Vec3d;isWithinRangeOf(Lnet/minecraft/util/math/Vec3d;DD)Z
intermediary method_55230
Lnet/minecraft/class_243;method_55230(Lnet/minecraft/class_243;DD)Z
official a
Levs;a(Levs;DD)Z
-
multiply
Return a vector whose coordinates are the coordinates of this vector each multiplied by the given scalar value.- See Also:
- Mappings:
Namespace Name Mixin selector named multiply
Lnet/minecraft/util/math/Vec3d;multiply(D)Lnet/minecraft/util/math/Vec3d;
intermediary method_1021
Lnet/minecraft/class_243;method_1021(D)Lnet/minecraft/class_243;
official a
Levs;a(D)Levs;
-
negate
Creates a vector with the same length but with the opposite direction.- Mappings:
Namespace Name Mixin selector named negate
Lnet/minecraft/util/math/Vec3d;negate()Lnet/minecraft/util/math/Vec3d;
intermediary method_22882
Lnet/minecraft/class_243;method_22882()Lnet/minecraft/class_243;
official e
Levs;e()Levs;
-
multiply
Returns a vector whose coordinates are the product of each pair of coordinates in this vector and the given vector.- See Also:
- Mappings:
Namespace Name Mixin selector named multiply
Lnet/minecraft/util/math/Vec3d;multiply(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Vec3d;
intermediary method_18806
Lnet/minecraft/class_243;method_18806(Lnet/minecraft/class_243;)Lnet/minecraft/class_243;
official h
Levs;h(Levs;)Levs;
-
multiply
Returns a vector whose coordinates are the product of each pair of coordinates in this vector and the given vector.- See Also:
- Mappings:
Namespace Name Mixin selector named multiply
Lnet/minecraft/util/math/Vec3d;multiply(DDD)Lnet/minecraft/util/math/Vec3d;
intermediary method_18805
Lnet/minecraft/class_243;method_18805(DDD)Lnet/minecraft/class_243;
official d
Levs;d(DDD)Levs;
-
addRandom
Returns a vector with each value added byrandom.nextFloat() - 0.5f) * multiplier
.- Returns:
- a vector with each value added by
random.nextFloat() - 0.5f) * multiplier
- Mappings:
Namespace Name Mixin selector named addRandom
Lnet/minecraft/util/math/Vec3d;addRandom(Lnet/minecraft/util/math/random/Random;F)Lnet/minecraft/util/math/Vec3d;
intermediary method_49272
Lnet/minecraft/class_243;method_49272(Lnet/minecraft/class_5819;F)Lnet/minecraft/class_243;
official a
Levs;a(Lazh;F)Levs;
-
length
public double length()Returns the length of this vector.The length of a vector is equivalent to the distance between that vector and the ZERO vector.
- Returns:
- the length of this vector
- See Also:
- Mappings:
Namespace Name Mixin selector named length
Lnet/minecraft/util/math/Vec3d;length()D
intermediary method_1033
Lnet/minecraft/class_243;method_1033()D
official f
Levs;f()D
-
lengthSquared
public double lengthSquared()Returns the squared length of this vector.Can be used for fast comparison between lengths.
- Returns:
- the squared length of this vector
- See Also:
- Mappings:
Namespace Name Mixin selector named lengthSquared
Lnet/minecraft/util/math/Vec3d;lengthSquared()D
intermediary method_1027
Lnet/minecraft/class_243;method_1027()D
official g
Levs;g()D
-
horizontalLength
public double horizontalLength()Returns the horizontal length of this vector.This length is same as the length of a 2-vector with the
x
andz
components of this vector, or the euclidean distance between(x, z)
and the origin.- Returns:
- the horizontal length of this vector
- See Also:
- Mappings:
Namespace Name Mixin selector named horizontalLength
Lnet/minecraft/util/math/Vec3d;horizontalLength()D
intermediary method_37267
Lnet/minecraft/class_243;method_37267()D
official h
Levs;h()D
-
horizontalLengthSquared
public double horizontalLengthSquared()Returns the squared horizontal length of this vector.Can be used for fast comparison between horizontal lengths.
- Returns:
- the squared horizontal length of this vector
- See Also:
- Mappings:
Namespace Name Mixin selector named horizontalLengthSquared
Lnet/minecraft/util/math/Vec3d;horizontalLengthSquared()D
intermediary method_37268
Lnet/minecraft/class_243;method_37268()D
official i
Levs;i()D
-
equals
-
hashCode
public int hashCode() -
toString
-
lerp
Performs linear interpolation from this vector to the given vector.- Parameters:
to
- the vector to interpolate todelta
- the interpolation coefficient in the range between 0 and 1- Mappings:
Namespace Name Mixin selector named lerp
Lnet/minecraft/util/math/Vec3d;lerp(Lnet/minecraft/util/math/Vec3d;D)Lnet/minecraft/util/math/Vec3d;
intermediary method_35590
Lnet/minecraft/class_243;method_35590(Lnet/minecraft/class_243;D)Lnet/minecraft/class_243;
official a
Levs;a(Levs;D)Levs;
-
rotateX
Rotates this vector by the given angle counterclockwise around the X axis.- Parameters:
angle
- the angle in radians- Mappings:
Namespace Name Mixin selector named rotateX
Lnet/minecraft/util/math/Vec3d;rotateX(F)Lnet/minecraft/util/math/Vec3d;
intermediary method_1037
Lnet/minecraft/class_243;method_1037(F)Lnet/minecraft/class_243;
official a
Levs;a(F)Levs;
-
rotateY
Rotates this vector by the given angle counterclockwise around the Y axis.- Parameters:
angle
- the angle in radians- Mappings:
Namespace Name Mixin selector named rotateY
Lnet/minecraft/util/math/Vec3d;rotateY(F)Lnet/minecraft/util/math/Vec3d;
intermediary method_1024
Lnet/minecraft/class_243;method_1024(F)Lnet/minecraft/class_243;
official b
Levs;b(F)Levs;
-
rotateZ
Rotates this vector by the given angle counterclockwise around the Z axis.- Parameters:
angle
- the angle in radians- Mappings:
Namespace Name Mixin selector named rotateZ
Lnet/minecraft/util/math/Vec3d;rotateZ(F)Lnet/minecraft/util/math/Vec3d;
intermediary method_31033
Lnet/minecraft/class_243;method_31033(F)Lnet/minecraft/class_243;
official c
Levs;c(F)Levs;
-
fromPolar
Converts pitch and yaw into a direction vector.- Parameters:
polar
- the vector composed of pitch and yaw- See Also:
- Mappings:
Namespace Name Mixin selector named fromPolar
Lnet/minecraft/util/math/Vec3d;fromPolar(Lnet/minecraft/util/math/Vec2f;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1034
Lnet/minecraft/class_243;method_1034(Lnet/minecraft/class_241;)Lnet/minecraft/class_243;
official a
Levs;a(Levr;)Levs;
-
fromPolar
Converts pitch and yaw into a direction vector.- See Also:
- Mappings:
Namespace Name Mixin selector named fromPolar
Lnet/minecraft/util/math/Vec3d;fromPolar(FF)Lnet/minecraft/util/math/Vec3d;
intermediary method_1030
Lnet/minecraft/class_243;method_1030(FF)Lnet/minecraft/class_243;
official a
Levs;a(FF)Levs;
-
floorAlongAxes
Applies the floor function to the coordinates chosen by the given axes.- Mappings:
Namespace Name Mixin selector named floorAlongAxes
Lnet/minecraft/util/math/Vec3d;floorAlongAxes(Ljava/util/EnumSet;)Lnet/minecraft/util/math/Vec3d;
intermediary method_1032
Lnet/minecraft/class_243;method_1032(Ljava/util/EnumSet;)Lnet/minecraft/class_243;
official a
Levs;a(Ljava/util/EnumSet;)Levs;
-
getComponentAlongAxis
Returns the coordinate chosen by the given axis.- Mappings:
Namespace Name Mixin selector named getComponentAlongAxis
Lnet/minecraft/util/math/Vec3d;getComponentAlongAxis(Lnet/minecraft/util/math/Direction$Axis;)D
intermediary method_18043
Lnet/minecraft/class_243;method_18043(Lnet/minecraft/class_2350$class_2351;)D
official a
Levs;a(Lje$a;)D
-
withAxis
- Mappings:
Namespace Name Mixin selector named withAxis
Lnet/minecraft/util/math/Vec3d;withAxis(Lnet/minecraft/util/math/Direction$Axis;D)Lnet/minecraft/util/math/Vec3d;
intermediary method_38499
Lnet/minecraft/class_243;method_38499(Lnet/minecraft/class_2350$class_2351;D)Lnet/minecraft/class_243;
official a
Levs;a(Lje$a;D)Levs;
-
offset
- Mappings:
Namespace Name Mixin selector named offset
Lnet/minecraft/util/math/Vec3d;offset(Lnet/minecraft/util/math/Direction;D)Lnet/minecraft/util/math/Vec3d;
intermediary method_43206
Lnet/minecraft/class_243;method_43206(Lnet/minecraft/class_2350;D)Lnet/minecraft/class_243;
official a
Levs;a(Lje;D)Levs;
-
getX
public final double getX()Returns the X coordinate. -
getY
public final double getY()Returns the Y coordinate. -
getZ
public final double getZ()Returns the Z coordinate. -
toVector3f
Returns a JOMLVector3f
representing this vector.- Returns:
- a JOML
Vector3f
representing this vector - Mappings:
Namespace Name Mixin selector named toVector3f
Lnet/minecraft/util/math/Vec3d;toVector3f()Lorg/joml/Vector3f;
intermediary method_46409
Lnet/minecraft/class_243;method_46409()Lorg/joml/Vector3f;
official j
Levs;j()Lorg/joml/Vector3f;
-