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
Fields -
Constructor Summary
Constructors -
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 ofvecadded to the coordinates of this vector.intstatic com.mojang.serialization.Codec<Vec3i>createOffsetCodec(int maxAbsValue) createRangeValidator(int maxAbsValue) crossProduct(Vec3i vec) down()Returns a vector which is offset by1in the downward direction.down(int distance) Returns a vector which is offset bydistancein the downward direction.east()Returns a vector which is offset by1in the eastward direction.east(int distance) Returns a vector which is offset bydistancein the eastward direction.booleanintReturns the component on theaxisaxis.intReturns the Manhattan distance between here andvec.doublegetSquaredDistance(double x, double y, double z) Returns the squared distance between here and(x, y, z).doubleReturns the squared distance between here andpos.doublegetSquaredDistance(Vec3i vec) Returns the squared distance between here (center) andvec.doublegetSquaredDistanceFromCenter(double x, double y, double z) Returns the squared distance between the center of this voxel and(x, y, z).intgetX()intgetY()intgetZ()inthashCode()booleanisWithinDistance(Position pos, double distance) Returns whether the distance between here andposis less thandistance.booleanisWithinDistance(Vec3i vec, double distance) Returns whether the distance between here andvecis less thandistance.multiply(int scale) Returns a vector with all components multiplied byscale.north()Returns a vector which is offset by1in the northward direction.north(int distance) Returns a vector which is offset bydistancein the northward direction.Returns a vector which is offset by1indirectiondirection.offset(Direction.Axis axis, int distance) Returns a vector which is offset bydistanceonaxisaxis.Returns a vector which is offset bydistanceindirectiondirection.protected Vec3isetX(int x) protected Vec3isetY(int y) protected Vec3isetZ(int z) south()Returns a vector which is offset by1in the southward direction.south(int distance) Returns a vector which is offset bydistancein the southward direction.Returns another Vec3i whose coordinates have the coordinates ofvecsubtracted from the coordinates of this vector.Returns the coordinates joined with a colon and a space.toString()up()Returns a vector which is offset by1in the upward direction.up(int distance) Returns a vector which is offset bydistancein the upward direction.west()Returns a vector which is offset by1in the westward direction.west(int distance) Returns a vector which is offset bydistancein the westward direction.
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector official fLhg;f:Lcom/mojang/serialization/Codec;intermediary field_25123Lnet/minecraft/class_2382;field_25123:Lcom/mojang/serialization/Codec;named CODECLnet/minecraft/util/math/Vec3i;CODEC:Lcom/mojang/serialization/Codec;
-
ZERO
- Mappings:
Namespace Name Mixin selector official gLhg;g:Lhg;intermediary field_11176Lnet/minecraft/class_2382;field_11176:Lnet/minecraft/class_2382;named ZEROLnet/minecraft/util/math/Vec3i;ZERO:Lnet/minecraft/util/math/Vec3i;
-
x
private int x- Mappings:
Namespace Name Mixin selector official aLhg;a:Iintermediary field_11175Lnet/minecraft/class_2382;field_11175:Inamed xLnet/minecraft/util/math/Vec3i;x:I
-
y
private int y- Mappings:
Namespace Name Mixin selector official bLhg;b:Iintermediary field_11174Lnet/minecraft/class_2382;field_11174:Inamed yLnet/minecraft/util/math/Vec3i;y:I
-
z
private int z- Mappings:
Namespace Name Mixin selector official cLhg;c:Iintermediary field_11173Lnet/minecraft/class_2382;field_11173:Inamed zLnet/minecraft/util/math/Vec3i;z:I
-
-
Constructor Details
-
Vec3i
public Vec3i(int x, int y, int z) - Mappings:
Namespace Name Mixin selector official <init>Lhg;<init>(III)Vintermediary <init>Lnet/minecraft/class_2382;<init>(III)Vnamed <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>Lhg;<init>(DDD)Vintermediary <init>Lnet/minecraft/class_2382;<init>(DDD)Vnamed <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 aLhg;a(I)Ljava/util/function/Function;intermediary method_39675Lnet/minecraft/class_2382;method_39675(I)Ljava/util/function/Function;named createRangeValidatorLnet/minecraft/util/math/Vec3i;createRangeValidator(I)Ljava/util/function/Function;
-
createOffsetCodec
- Mappings:
Namespace Name Mixin selector official vLhg;v(I)Lcom/mojang/serialization/Codec;intermediary method_39677Lnet/minecraft/class_2382;method_39677(I)Lcom/mojang/serialization/Codec;named createOffsetCodecLnet/minecraft/util/math/Vec3i;createOffsetCodec(I)Lcom/mojang/serialization/Codec;
-
equals
-
hashCode
public int hashCode() -
compareTo
- Specified by:
compareToin interfaceComparable<Vec3i>- Mappings:
Namespace Name Mixin selector official iLhg;i(Lhg;)Iintermediary method_10265Lnet/minecraft/class_2382;method_10265(Lnet/minecraft/class_2382;)Inamed compareToLnet/minecraft/util/math/Vec3i;compareTo(Lnet/minecraft/util/math/Vec3i;)I
-
getX
public int getX()- Mappings:
Namespace Name Mixin selector official uLhg;u()Iintermediary method_10263Lnet/minecraft/class_2382;method_10263()Inamed getXLnet/minecraft/util/math/Vec3i;getX()I
-
getY
public int getY()- Mappings:
Namespace Name Mixin selector official vLhg;v()Iintermediary method_10264Lnet/minecraft/class_2382;method_10264()Inamed getYLnet/minecraft/util/math/Vec3i;getY()I
-
getZ
public int getZ()- Mappings:
Namespace Name Mixin selector official wLhg;w()Iintermediary method_10260Lnet/minecraft/class_2382;method_10260()Inamed getZLnet/minecraft/util/math/Vec3i;getZ()I
-
setX
- Mappings:
Namespace Name Mixin selector official uLhg;u(I)Lhg;intermediary method_20787Lnet/minecraft/class_2382;method_20787(I)Lnet/minecraft/class_2382;named setXLnet/minecraft/util/math/Vec3i;setX(I)Lnet/minecraft/util/math/Vec3i;
-
setY
- Mappings:
Namespace Name Mixin selector official tLhg;t(I)Lhg;intermediary method_10099Lnet/minecraft/class_2382;method_10099(I)Lnet/minecraft/class_2382;named setYLnet/minecraft/util/math/Vec3i;setY(I)Lnet/minecraft/util/math/Vec3i;
-
setZ
- Mappings:
Namespace Name Mixin selector official sLhg;s(I)Lhg;intermediary method_20788Lnet/minecraft/class_2382;method_20788(I)Lnet/minecraft/class_2382;named setZLnet/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 bLhg;b(DDD)Lhg;intermediary method_35849Lnet/minecraft/class_2382;method_35849(DDD)Lnet/minecraft/class_2382;named addLnet/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 cLhg;c(III)Lhg;intermediary method_34592Lnet/minecraft/class_2382;method_34592(III)Lnet/minecraft/class_2382;named addLnet/minecraft/util/math/Vec3i;add(III)Lnet/minecraft/util/math/Vec3i;
-
add
Returns another Vec3i whose coordinates have the coordinates ofvecadded to the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the coordinates of
vecadded to the coordinates of this vector - Mappings:
Namespace Name Mixin selector official fLhg;f(Lhg;)Lhg;intermediary method_35853Lnet/minecraft/class_2382;method_35853(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;named addLnet/minecraft/util/math/Vec3i;add(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3i;
-
subtract
Returns another Vec3i whose coordinates have the coordinates ofvecsubtracted from the coordinates of this vector.This method always returns an immutable object.
- Returns:
- another Vec3i whose coordinates have the coordinates of
vecsubtracted from the coordinates of this vector - Mappings:
Namespace Name Mixin selector official eLhg;e(Lhg;)Lhg;intermediary method_35852Lnet/minecraft/class_2382;method_35852(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;named subtractLnet/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
scaleequals1. - Mappings:
Namespace Name Mixin selector official oLhg;o(I)Lhg;intermediary method_35862Lnet/minecraft/class_2382;method_35862(I)Lnet/minecraft/class_2382;named multiplyLnet/minecraft/util/math/Vec3i;multiply(I)Lnet/minecraft/util/math/Vec3i;
-
up
Returns a vector which is offset by1in the upward direction.- Returns:
- a vector which is offset by
1in the upward direction - Mappings:
Namespace Name Mixin selector official oLhg;o()Lhg;intermediary method_30931Lnet/minecraft/class_2382;method_30931()Lnet/minecraft/class_2382;named upLnet/minecraft/util/math/Vec3i;up()Lnet/minecraft/util/math/Vec3i;
-
up
Returns a vector which is offset bydistancein the upward direction.- Returns:
- a vector which is offset by
distancein the upward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official nLhg;n(I)Lhg;intermediary method_30930Lnet/minecraft/class_2382;method_30930(I)Lnet/minecraft/class_2382;named upLnet/minecraft/util/math/Vec3i;up(I)Lnet/minecraft/util/math/Vec3i;
-
down
Returns a vector which is offset by1in the downward direction.- Returns:
- a vector which is offset by
1in the downward direction - Mappings:
Namespace Name Mixin selector official nLhg;n()Lhg;intermediary method_23228Lnet/minecraft/class_2382;method_23228()Lnet/minecraft/class_2382;named downLnet/minecraft/util/math/Vec3i;down()Lnet/minecraft/util/math/Vec3i;
-
down
Returns a vector which is offset bydistancein the downward direction.- Returns:
- a vector which is offset by
distancein the downward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official mLhg;m(I)Lhg;intermediary method_23227Lnet/minecraft/class_2382;method_23227(I)Lnet/minecraft/class_2382;named downLnet/minecraft/util/math/Vec3i;down(I)Lnet/minecraft/util/math/Vec3i;
-
north
Returns a vector which is offset by1in the northward direction.- Returns:
- a vector which is offset by
1in the northward direction - Mappings:
Namespace Name Mixin selector official mLhg;m()Lhg;intermediary method_35861Lnet/minecraft/class_2382;method_35861()Lnet/minecraft/class_2382;named northLnet/minecraft/util/math/Vec3i;north()Lnet/minecraft/util/math/Vec3i;
-
north
Returns a vector which is offset bydistancein the northward direction.- Returns:
- a vector which is offset by
distancein the northward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official lLhg;l(I)Lhg;intermediary method_35860Lnet/minecraft/class_2382;method_35860(I)Lnet/minecraft/class_2382;named northLnet/minecraft/util/math/Vec3i;north(I)Lnet/minecraft/util/math/Vec3i;
-
south
Returns a vector which is offset by1in the southward direction.- Returns:
- a vector which is offset by
1in the southward direction - Mappings:
Namespace Name Mixin selector official lLhg;l()Lhg;intermediary method_35859Lnet/minecraft/class_2382;method_35859()Lnet/minecraft/class_2382;named southLnet/minecraft/util/math/Vec3i;south()Lnet/minecraft/util/math/Vec3i;
-
south
Returns a vector which is offset bydistancein the southward direction.- Returns:
- a vector which is offset by
distancein the southward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official kLhg;k(I)Lhg;intermediary method_35858Lnet/minecraft/class_2382;method_35858(I)Lnet/minecraft/class_2382;named southLnet/minecraft/util/math/Vec3i;south(I)Lnet/minecraft/util/math/Vec3i;
-
west
Returns a vector which is offset by1in the westward direction.- Returns:
- a vector which is offset by
1in the westward direction - Mappings:
Namespace Name Mixin selector official kLhg;k()Lhg;intermediary method_35857Lnet/minecraft/class_2382;method_35857()Lnet/minecraft/class_2382;named westLnet/minecraft/util/math/Vec3i;west()Lnet/minecraft/util/math/Vec3i;
-
west
Returns a vector which is offset bydistancein the westward direction.- Returns:
- a vector which is offset by
distancein the westward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official jLhg;j(I)Lhg;intermediary method_35856Lnet/minecraft/class_2382;method_35856(I)Lnet/minecraft/class_2382;named westLnet/minecraft/util/math/Vec3i;west(I)Lnet/minecraft/util/math/Vec3i;
-
east
Returns a vector which is offset by1in the eastward direction.- Returns:
- a vector which is offset by
1in the eastward direction - Mappings:
Namespace Name Mixin selector official jLhg;j()Lhg;intermediary method_35855Lnet/minecraft/class_2382;method_35855()Lnet/minecraft/class_2382;named eastLnet/minecraft/util/math/Vec3i;east()Lnet/minecraft/util/math/Vec3i;
-
east
Returns a vector which is offset bydistancein the eastward direction.- Returns:
- a vector which is offset by
distancein the eastward direction - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official iLhg;i(I)Lhg;intermediary method_35854Lnet/minecraft/class_2382;method_35854(I)Lnet/minecraft/class_2382;named eastLnet/minecraft/util/math/Vec3i;east(I)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset by1indirectiondirection.- Returns:
- a vector which is offset by
1indirectiondirection - Mappings:
Namespace Name Mixin selector official bLhg;b(Lgn;)Lhg;intermediary method_35851Lnet/minecraft/class_2382;method_35851(Lnet/minecraft/class_2350;)Lnet/minecraft/class_2382;named offsetLnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction;)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset bydistanceindirectiondirection.- Returns:
- a vector which is offset by
distanceindirectiondirection - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official bLhg;b(Lgn;I)Lhg;intermediary method_23226Lnet/minecraft/class_2382;method_23226(Lnet/minecraft/class_2350;I)Lnet/minecraft/class_2382;named offsetLnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction;I)Lnet/minecraft/util/math/Vec3i;
-
offset
Returns a vector which is offset bydistanceonaxisaxis.- Returns:
- a vector which is offset by
distanceonaxisaxis - Implementation Note:
- This can return the same vector if
distanceequals0. - Mappings:
Namespace Name Mixin selector official bLhg;b(Lgn$a;I)Lhg;intermediary method_35850Lnet/minecraft/class_2382;method_35850(Lnet/minecraft/class_2350$class_2351;I)Lnet/minecraft/class_2382;named offsetLnet/minecraft/util/math/Vec3i;offset(Lnet/minecraft/util/math/Direction$Axis;I)Lnet/minecraft/util/math/Vec3i;
-
crossProduct
- Mappings:
Namespace Name Mixin selector official dLhg;d(Lhg;)Lhg;intermediary method_10259Lnet/minecraft/class_2382;method_10259(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2382;named crossProductLnet/minecraft/util/math/Vec3i;crossProduct(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/Vec3i;
-
isWithinDistance
Returns whether the distance between here andvecis less thandistance.- Returns:
- whether the distance between here and
vecis less thandistance - Mappings:
Namespace Name Mixin selector official aLhg;a(Lhg;D)Zintermediary method_19771Lnet/minecraft/class_2382;method_19771(Lnet/minecraft/class_2382;D)Znamed isWithinDistanceLnet/minecraft/util/math/Vec3i;isWithinDistance(Lnet/minecraft/util/math/Vec3i;D)Z
-
isWithinDistance
Returns whether the distance between here andposis less thandistance.- Returns:
- whether the distance between here and
posis less thandistance - Mappings:
Namespace Name Mixin selector official aLhg;a(Lgx;D)Zintermediary method_19769Lnet/minecraft/class_2382;method_19769(Lnet/minecraft/class_2374;D)Znamed isWithinDistanceLnet/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:
-
-
invalid @see
#getSquaredDistance(Vec3i, boolean)
-
- Mappings:
Namespace Name Mixin selector official jLhg;j(Lhg;)Dintermediary method_10262Lnet/minecraft/class_2382;method_10262(Lnet/minecraft/class_2382;)Dnamed getSquaredDistanceLnet/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 aLhg;a(Lgx;)Dintermediary method_19770Lnet/minecraft/class_2382;method_19770(Lnet/minecraft/class_2374;)Dnamed getSquaredDistanceLnet/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 dLhg;d(DDD)Dintermediary method_10268Lnet/minecraft/class_2382;method_10268(DDD)Dnamed getSquaredDistanceFromCenterLnet/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 eLhg;e(DDD)Dintermediary method_40081Lnet/minecraft/class_2382;method_40081(DDD)Dnamed getSquaredDistanceLnet/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 kLhg;k(Lhg;)Iintermediary method_19455Lnet/minecraft/class_2382;method_19455(Lnet/minecraft/class_2382;)Inamed getManhattanDistanceLnet/minecraft/util/math/Vec3i;getManhattanDistance(Lnet/minecraft/util/math/Vec3i;)I
-
getComponentAlongAxis
Returns the component on theaxisaxis.- Returns:
- the component on the
axisaxis - Mappings:
Namespace Name Mixin selector official aLhg;a(Lgn$a;)Iintermediary method_30558Lnet/minecraft/class_2382;method_30558(Lnet/minecraft/class_2350$class_2351;)Inamed getComponentAlongAxisLnet/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 xLhg;x()Ljava/lang/String;intermediary method_23854Lnet/minecraft/class_2382;method_23854()Ljava/lang/String;named toShortStringLnet/minecraft/util/math/Vec3i;toShortString()Ljava/lang/String;
-