Class Vec3i
- All Implemented Interfaces:
Comparable<Vec3i>
- Direct Known Subclasses:
BlockPos
,ChunkSectionPos
This class is very often used to hold the coordinates. To hold a block position
specifically, use BlockPos
instead, which extends Vec3i
. To hold
positions for entities and other non-voxels, consider using Vec3f
(that holds
values using float
) or Vec3d
(that holds values using double
)
instead.
Vec3i
is read-only, but subclasses like BlockPos.Mutable
may be mutable. Make sure to sanitize inputs of Vec3i
if needed,
such as calling BlockPos.toImmutable()
or making new copies.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionadd
(double x, double y, double z) Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.add
(int x, int y, int z) Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.Returns another Vec3i whose coordinates have the coordinates ofvec
added to the coordinates of this vector.int
static com.mojang.serialization.Codec<Vec3i>
createOffsetCodec
(int maxAbsValue) createRangeValidator
(int maxAbsValue) crossProduct
(Vec3i vec) down()
Returns a vector which is offset by1
in the downward direction.down
(int distance) Returns a vector which is offset bydistance
in the downward direction.east()
Returns a vector which is offset by1
in the eastward direction.east
(int distance) Returns a vector which is offset bydistance
in the eastward direction.boolean
int
Returns the component on theaxis
axis.int
Returns the Manhattan distance between here andvec
.double
getSquaredDistance
(double x, double y, double z) Returns the squared distance between here and(x, y, z)
.double
Returns the squared distance between here andpos
.double
getSquaredDistance
(Vec3i vec) Returns the squared distance between here (center) andvec
.double
getSquaredDistanceFromCenter
(double x, double y, double z) Returns the squared distance between the center of this voxel and(x, y, z)
.int
getX()
int
getY()
int
getZ()
int
hashCode()
boolean
isWithinDistance
(Position pos, double distance) Returns whether the distance between here andpos
is less thandistance
.boolean
isWithinDistance
(Vec3i vec, double distance) Returns whether the distance between here andvec
is less thandistance
.multiply
(int scale) Returns a vector with all components multiplied byscale
.north()
Returns a vector which is offset by1
in the northward direction.north
(int distance) Returns a vector which is offset bydistance
in the northward direction.Returns a vector which is offset by1
indirection
direction.offset
(Direction.Axis axis, int distance) Returns a vector which is offset bydistance
onaxis
axis.Returns a vector which is offset bydistance
indirection
direction.protected Vec3i
setX
(int x) protected Vec3i
setY
(int y) protected Vec3i
setZ
(int z) south()
Returns a vector which is offset by1
in the southward direction.south
(int distance) Returns a vector which is offset bydistance
in the southward direction.Returns another Vec3i whose coordinates have the coordinates ofvec
subtracted from the coordinates of this vector.Returns the coordinates joined with a colon and a space.toString()
up()
Returns a vector which is offset by1
in the upward direction.up
(int distance) Returns a vector which is offset bydistance
in the upward direction.west()
Returns a vector which is offset by1
in the westward direction.west
(int distance) Returns a vector which is offset bydistance
in the westward direction.
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector official f
Lhs;f:Lcom/mojang/serialization/Codec;
intermediary field_25123
Lnet/minecraft/class_2382;field_25123:Lcom/mojang/serialization/Codec;
named CODEC
Lnet/minecraft/util/math/Vec3i;CODEC:Lcom/mojang/serialization/Codec;
-
ZERO
- Mappings:
Namespace Name Mixin selector official g
Lhs;g:Lhs;
intermediary field_11176
Lnet/minecraft/class_2382;field_11176:Lnet/minecraft/class_2382;
named ZERO
Lnet/minecraft/util/math/Vec3i;ZERO:Lnet/minecraft/util/math/Vec3i;
-
x
private int x- Mappings:
Namespace Name Mixin selector official a
Lhs;a:I
intermediary field_11175
Lnet/minecraft/class_2382;field_11175:I
named x
Lnet/minecraft/util/math/Vec3i;x:I
-
y
private int y- Mappings:
Namespace Name Mixin selector official b
Lhs;b:I
intermediary field_11174
Lnet/minecraft/class_2382;field_11174:I
named y
Lnet/minecraft/util/math/Vec3i;y:I
-
z
private int z- Mappings:
Namespace Name Mixin selector official c
Lhs;c:I
intermediary field_11173
Lnet/minecraft/class_2382;field_11173:I
named z
Lnet/minecraft/util/math/Vec3i;z:I
-
-
Constructor Details
-
Vec3i
public Vec3i(int x, int y, int z) - Mappings:
Namespace Name Mixin selector official <init>
Lhs;<init>(III)V
intermediary <init>
Lnet/minecraft/class_2382;<init>(III)V
named <init>
Lnet/minecraft/util/math/Vec3i;<init>(III)V
-
Vec3i
public Vec3i(double x, double y, double z) - Mappings:
Namespace Name Mixin selector official <init>
Lhs;<init>(DDD)V
intermediary <init>
Lnet/minecraft/class_2382;<init>(DDD)V
named <init>
Lnet/minecraft/util/math/Vec3i;<init>(DDD)V
-
-
Method Details
-
createRangeValidator
private static Function<Vec3i,com.mojang.serialization.DataResult<Vec3i>> createRangeValidator(int maxAbsValue) - Mappings:
Namespace Name Mixin selector official a
Lhs;a(I)Ljava/util/function/Function;
intermediary method_39675
Lnet/minecraft/class_2382;method_39675(I)Ljava/util/function/Function;
named createRangeValidator
Lnet/minecraft/util/math/Vec3i;createRangeValidator(I)Ljava/util/function/Function;
-
createOffsetCodec
- Mappings:
Namespace Name Mixin selector official v
Lhs;v(I)Lcom/mojang/serialization/Codec;
intermediary method_39677
Lnet/minecraft/class_2382;method_39677(I)Lcom/mojang/serialization/Codec;
named createOffsetCodec
Lnet/minecraft/util/math/Vec3i;createOffsetCodec(I)Lcom/mojang/serialization/Codec;
-
equals
-
hashCode
public int hashCode() -
compareTo
- Specified by:
compareTo
in interfaceComparable<Vec3i>
- Mappings:
Namespace Name Mixin selector official i
Lhs;i(Lhs;)I
intermediary method_10265
Lnet/minecraft/class_2382;method_10265(Lnet/minecraft/class_2382;)I
named compareTo
Lnet/minecraft/util/math/Vec3i;compareTo(Lnet/minecraft/util/math/Vec3i;)I
-
getX
public int getX()- Mappings:
Namespace Name Mixin selector official u
Lhs;u()I
intermediary method_10263
Lnet/minecraft/class_2382;method_10263()I
named getX
Lnet/minecraft/util/math/Vec3i;getX()I
-
getY
public int getY()- Mappings:
Namespace Name Mixin selector official v
Lhs;v()I
intermediary method_10264
Lnet/minecraft/class_2382;method_10264()I
named getY
Lnet/minecraft/util/math/Vec3i;getY()I
-
getZ
public int getZ()- Mappings:
Namespace Name Mixin selector official w
Lhs;w()I
intermediary method_10260
Lnet/minecraft/class_2382;method_10260()I
named getZ
Lnet/minecraft/util/math/Vec3i;getZ()I
-
setX
- Mappings:
Namespace Name Mixin selector official u
Lhs;u(I)Lhs;
intermediary method_20787
Lnet/minecraft/class_2382;method_20787(I)Lnet/minecraft/class_2382;
named setX
Lnet/minecraft/util/math/Vec3i;setX(I)Lnet/minecraft/util/math/Vec3i;
-
setY
- Mappings:
Namespace Name Mixin selector official t
Lhs;t(I)Lhs;
intermediary method_10099
Lnet/minecraft/class_2382;method_10099(I)Lnet/minecraft/class_2382;
named setY
Lnet/minecraft/util/math/Vec3i;setY(I)Lnet/minecraft/util/math/Vec3i;
-
setZ
- Mappings:
Namespace Name Mixin selector official s
Lhs;s(I)Lhs;
intermediary method_20788
Lnet/minecraft/class_2382;method_20788(I)Lnet/minecraft/class_2382;
named setZ
Lnet/minecraft/util/math/Vec3i;setZ(I)Lnet/minecraft/util/math/Vec3i;
-
add
Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector
- Mappings:
Namespace Name Mixin selector official b
Lhs;b(DDD)Lhs;
intermediary method_35849
Lnet/minecraft/class_2382;method_35849(DDD)Lnet/minecraft/class_2382;
named add
Lnet/minecraft/util/math/Vec3i;add(DDD)Lnet/minecraft/util/math/Vec3i;
-
add
Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector
- Mappings:
Namespace Name Mixin selector official c
Lhs;c(III)Lhs;
intermediary method_34592
Lnet/minecraft/class_2382;method_34592(III)Lnet/minecraft/class_2382;
named add
Lnet/minecraft/util/math/Vec3i;add(III)Lnet/minecraft/util/math/Vec3i;
-
add
Returns another Vec3i whose coordinates have the coordinates ofvec
added to the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the coordinates of
vec
added to the coordinates of this vector - Mappings:
Namespace Name Mixin selector official f
Lhs;f(Lhs;)Lhs;
intermediary method_35853
Lnet/minecraft/class_2382;method_35853(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;
named add
Lnet/minecraft/util/math/Vec3i;add(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3i;
-
subtract
Returns another Vec3i whose coordinates have the coordinates ofvec
subtracted from the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the coordinates of
vec
subtracted from the coordinates of this vector - Mappings:
Namespace Name Mixin selector official e
Lhs;e(Lhs;)Lhs;
intermediary method_35852
Lnet/minecraft/class_2382;method_35852(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;
named subtract
Lnet/minecraft/util/math/Vec3i;subtract(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3i;
-
multiply
Returns a vector with all components multiplied byscale
.- Returns:
- a vector with all components multiplied by
scale
- Implementation Note:
- This can return the same vector if
scale
equals1
. - Mappings:
Namespace Name Mixin selector official o
Lhs;o(I)Lhs;
intermediary method_35862
Lnet/minecraft/class_2382;method_35862(I)Lnet/minecraft/class_2382;
named multiply
Lnet/minecraft/util/math/Vec3i;multiply(I)Lnet/minecraft/util/math/Vec3i;
-
up
Returns a vector which is offset by1
in the upward direction.- Returns:
- a vector which is offset by
1
in the upward direction - Mappings:
Namespace Name Mixin selector official o
Lhs;o()Lhs;
intermediary method_30931
Lnet/minecraft/class_2382;method_30931()Lnet/minecraft/class_2382;
named up
Lnet/minecraft/util/math/Vec3i;up()Lnet/minecraft/util/math/Vec3i;
-
up
Returns a vector which is offset bydistance
in the upward direction.- Returns:
- a vector which is offset by
distance
in the upward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official n
Lhs;n(I)Lhs;
intermediary method_30930
Lnet/minecraft/class_2382;method_30930(I)Lnet/minecraft/class_2382;
named up
Lnet/minecraft/util/math/Vec3i;up(I)Lnet/minecraft/util/math/Vec3i;
-
down
Returns a vector which is offset by1
in the downward direction.- Returns:
- a vector which is offset by
1
in the downward direction - Mappings:
Namespace Name Mixin selector official n
Lhs;n()Lhs;
intermediary method_23228
Lnet/minecraft/class_2382;method_23228()Lnet/minecraft/class_2382;
named down
Lnet/minecraft/util/math/Vec3i;down()Lnet/minecraft/util/math/Vec3i;
-
down
Returns a vector which is offset bydistance
in the downward direction.- Returns:
- a vector which is offset by
distance
in the downward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official m
Lhs;m(I)Lhs;
intermediary method_23227
Lnet/minecraft/class_2382;method_23227(I)Lnet/minecraft/class_2382;
named down
Lnet/minecraft/util/math/Vec3i;down(I)Lnet/minecraft/util/math/Vec3i;
-
north
Returns a vector which is offset by1
in the northward direction.- Returns:
- a vector which is offset by
1
in the northward direction - Mappings:
Namespace Name Mixin selector official m
Lhs;m()Lhs;
intermediary method_35861
Lnet/minecraft/class_2382;method_35861()Lnet/minecraft/class_2382;
named north
Lnet/minecraft/util/math/Vec3i;north()Lnet/minecraft/util/math/Vec3i;
-
north
Returns a vector which is offset bydistance
in the northward direction.- Returns:
- a vector which is offset by
distance
in the northward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official l
Lhs;l(I)Lhs;
intermediary method_35860
Lnet/minecraft/class_2382;method_35860(I)Lnet/minecraft/class_2382;
named north
Lnet/minecraft/util/math/Vec3i;north(I)Lnet/minecraft/util/math/Vec3i;
-
south
Returns a vector which is offset by1
in the southward direction.- Returns:
- a vector which is offset by
1
in the southward direction - Mappings:
Namespace Name Mixin selector official l
Lhs;l()Lhs;
intermediary method_35859
Lnet/minecraft/class_2382;method_35859()Lnet/minecraft/class_2382;
named south
Lnet/minecraft/util/math/Vec3i;south()Lnet/minecraft/util/math/Vec3i;
-
south
Returns a vector which is offset bydistance
in the southward direction.- Returns:
- a vector which is offset by
distance
in the southward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official k
Lhs;k(I)Lhs;
intermediary method_35858
Lnet/minecraft/class_2382;method_35858(I)Lnet/minecraft/class_2382;
named south
Lnet/minecraft/util/math/Vec3i;south(I)Lnet/minecraft/util/math/Vec3i;
-
west
Returns a vector which is offset by1
in the westward direction.- Returns:
- a vector which is offset by
1
in the westward direction - Mappings:
Namespace Name Mixin selector official k
Lhs;k()Lhs;
intermediary method_35857
Lnet/minecraft/class_2382;method_35857()Lnet/minecraft/class_2382;
named west
Lnet/minecraft/util/math/Vec3i;west()Lnet/minecraft/util/math/Vec3i;
-
west
Returns a vector which is offset bydistance
in the westward direction.- Returns:
- a vector which is offset by
distance
in the westward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official j
Lhs;j(I)Lhs;
intermediary method_35856
Lnet/minecraft/class_2382;method_35856(I)Lnet/minecraft/class_2382;
named west
Lnet/minecraft/util/math/Vec3i;west(I)Lnet/minecraft/util/math/Vec3i;
-
east
Returns a vector which is offset by1
in the eastward direction.- Returns:
- a vector which is offset by
1
in the eastward direction - Mappings:
Namespace Name Mixin selector official j
Lhs;j()Lhs;
intermediary method_35855
Lnet/minecraft/class_2382;method_35855()Lnet/minecraft/class_2382;
named east
Lnet/minecraft/util/math/Vec3i;east()Lnet/minecraft/util/math/Vec3i;
-
east
Returns a vector which is offset bydistance
in the eastward direction.- Returns:
- a vector which is offset by
distance
in the eastward direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official i
Lhs;i(I)Lhs;
intermediary method_35854
Lnet/minecraft/class_2382;method_35854(I)Lnet/minecraft/class_2382;
named east
Lnet/minecraft/util/math/Vec3i;east(I)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset by1
indirection
direction.- Returns:
- a vector which is offset by
1
indirection
direction - Mappings:
Namespace Name Mixin selector official b
Lhs;b(Lgy;)Lhs;
intermediary method_35851
Lnet/minecraft/class_2382;method_35851(Lnet/minecraft/class_2350;)Lnet/minecraft/class_2382;
named offset
Lnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction;)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset bydistance
indirection
direction.- Returns:
- a vector which is offset by
distance
indirection
direction - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official b
Lhs;b(Lgy;I)Lhs;
intermediary method_23226
Lnet/minecraft/class_2382;method_23226(Lnet/minecraft/class_2350;I)Lnet/minecraft/class_2382;
named offset
Lnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction;I)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset bydistance
onaxis
axis.- Returns:
- a vector which is offset by
distance
onaxis
axis - Implementation Note:
- This can return the same vector if
distance
equals0
. - Mappings:
Namespace Name Mixin selector official b
Lhs;b(Lgy$a;I)Lhs;
intermediary method_35850
Lnet/minecraft/class_2382;method_35850(Lnet/minecraft/class_2350$class_2351;I)Lnet/minecraft/class_2382;
named offset
Lnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction$Axis;I)Lnet/minecraft/util/math/Vec3i;
-
crossProduct
- Mappings:
Namespace Name Mixin selector official d
Lhs;d(Lhs;)Lhs;
intermediary method_10259
Lnet/minecraft/class_2382;method_10259(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;
named crossProduct
Lnet/minecraft/util/math/Vec3i;crossProduct(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3i;
-
isWithinDistance
Returns whether the distance between here andvec
is less thandistance
.- Returns:
- whether the distance between here and
vec
is less thandistance
- Mappings:
Namespace Name Mixin selector official a
Lhs;a(Lhs;D)Z
intermediary method_19771
Lnet/minecraft/class_2382;method_19771(Lnet/minecraft/class_2382;D)Z
named isWithinDistance
Lnet/minecraft/util/math/Vec3i;isWithinDistance(Lnet/minecraft/util/math/Vec3i;D)Z
-
isWithinDistance
Returns whether the distance between here andpos
is less thandistance
.- Returns:
- whether the distance between here and
pos
is less thandistance
- Mappings:
Namespace Name Mixin selector official a
Lhs;a(Lhj;D)Z
intermediary method_19769
Lnet/minecraft/class_2382;method_19769(Lnet/minecraft/class_2374;D)Z
named isWithinDistance
Lnet/minecraft/util/math/Vec3i;isWithinDistance(Lnet/minecraft/util/math/Position;D)Z
-
getSquaredDistance
Returns the squared distance between here (center) andvec
.- Returns:
- the squared distance between here (center) and
vec
- See Also:
- Mappings:
Namespace Name Mixin selector official j
Lhs;j(Lhs;)D
intermediary method_10262
Lnet/minecraft/class_2382;method_10262(Lnet/minecraft/class_2382;)D
named getSquaredDistance
Lnet/minecraft/util/math/Vec3i;getSquaredDistance(Lnet/minecraft/util/math/Vec3i;)D
-
getSquaredDistance
Returns the squared distance between here andpos
.- Returns:
- the squared distance between here and
pos
- Mappings:
Namespace Name Mixin selector official b
Lhs;b(Lhj;)D
intermediary method_19770
Lnet/minecraft/class_2382;method_19770(Lnet/minecraft/class_2374;)D
named getSquaredDistance
Lnet/minecraft/util/math/Vec3i;getSquaredDistance(Lnet/minecraft/util/math/Position;)D
-
getSquaredDistanceFromCenter
public double getSquaredDistanceFromCenter(double x, double y, double z) Returns the squared distance between the center of this voxel and(x, y, z)
. This is equivalent toVec3d.ofCenter(this).squaredDistanceTo(x, y, z)
.- Returns:
- the squared distance between the center of this voxel and
(x, y, z)
- Mappings:
Namespace Name Mixin selector official d
Lhs;d(DDD)D
intermediary method_10268
Lnet/minecraft/class_2382;method_10268(DDD)D
named getSquaredDistanceFromCenter
Lnet/minecraft/util/math/Vec3i;getSquaredDistanceFromCenter(DDD)D
-
getSquaredDistance
public double getSquaredDistance(double x, double y, double z) Returns the squared distance between here and(x, y, z)
. This is equivalent toVec3d.of(this).squaredDistanceTo(x, y, z)
.- Returns:
- the squared distance between here and
(x, y, z)
- Mappings:
Namespace Name Mixin selector official e
Lhs;e(DDD)D
intermediary method_40081
Lnet/minecraft/class_2382;method_40081(DDD)D
named getSquaredDistance
Lnet/minecraft/util/math/Vec3i;getSquaredDistance(DDD)D
-
getManhattanDistance
Returns the Manhattan distance between here andvec
.Manhattan distance, also called taxicab distance or snake distance, is the distance measured as the sum of the absolute differences of their coordinates. For example, the Manhattan distance between
(0, 0, 0)
and(1, 1, 1)
is3
.- Returns:
- the Manhattan distance between here and
vec
- Mappings:
Namespace Name Mixin selector official k
Lhs;k(Lhs;)I
intermediary method_19455
Lnet/minecraft/class_2382;method_19455(Lnet/minecraft/class_2382;)I
named getManhattanDistance
Lnet/minecraft/util/math/Vec3i;getManhattanDistance(Lnet/minecraft/util/math/Vec3i;)I
-
getComponentAlongAxis
Returns the component on theaxis
axis.- Returns:
- the component on the
axis
axis - Mappings:
Namespace Name Mixin selector official a
Lhs;a(Lgy$a;)I
intermediary method_30558
Lnet/minecraft/class_2382;method_30558(Lnet/minecraft/class_2350$class_2351;)I
named getComponentAlongAxis
Lnet/minecraft/util/math/Vec3i;getComponentAlongAxis(Lnet/minecraft/util/math/Direction$Axis;)I
-
toString
-
toShortString
Returns the coordinates joined with a colon and a space.- Returns:
- the coordinates joined with a colon and a space
- Mappings:
Namespace Name Mixin selector official x
Lhs;x()Ljava/lang/String;
intermediary method_23854
Lnet/minecraft/class_2382;method_23854()Ljava/lang/String;
named toShortString
Lnet/minecraft/util/math/Vec3i;toShortString()Ljava/lang/String;
-