Package net.minecraft.util.math
Class Box
java.lang.Object
net.minecraft.util.math.Box
An immutable box with double-valued coordinates. The box is axis-aligned
and the coordinates are minimum inclusive and maximum exclusive.
This box 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/Boxintermediary net/minecraft/class_238official ewx
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancontains(double x, double y, double z) Checks if the given position is in this box.booleanChecks if the given position is in this box.contract(double value) contract(double x, double y, double z) static BoxReturns a box whose bounds extend to the full block betweenpos1andpos2, both inclusive.booleanexpand(double value) expand(double x, double y, double z) static Boxstatic BoxdoubleReturns the center position of this box.doubleReturns the length of this box on the X axis.doubleReturns the length of this box on the Y axis.doubleReturns the length of this box on the Z axis.doublegetMax(Direction.Axis axis) Returns the maximum coordinate for the givenaxisof this box.doublegetMin(Direction.Axis axis) Returns the minimum coordinate for the givenaxisof this box.inthashCode()intersection(Box box) Creates the maximum box that this box and the given box contain.booleanintersects(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) Checks if this box intersects the box of the given coordinates.booleanintersects(Box box) Checks if this box intersects the given box.booleanintersects(Vec3d pos1, Vec3d pos2) Checks if this box intersects the box of the given positions as corners.booleanisNaN()Checks if any of the coordinates of this box are not a number.static Boxoffset(double x, double y, double z) Creates a box that is translated byx,y,zon each axis from this box.Creates a box that is translated byblockPos.getX(),blockPos.getY(),blockPos.getZ()on each axis from this box.Creates a box that is translated byvec.x,vec.y,vec.zon each axis from this box.static @Nullable BlockHitResultshrink(double x, double y, double z) doublesquaredMagnitude(Vec3d pos) stretch(double x, double y, double z) toString()traceCollisionSide(double[] traceDistanceResult, @Nullable Direction approachDirection, double deltaX, double deltaY, double deltaZ, double begin, double minX, double maxX, double minZ, double maxZ, Direction resultDirection, double startX, double startY, double startZ) traceCollisionSide(Box box, Vec3d intersectingVector, double[] traceDistanceResult, @Nullable Direction approachDirection, double deltaX, double deltaY, double deltaZ) Creates the minimum box that contains this box and the given box.withMaxX(double maxX) Returns a new box with the maximum X provided and all other coordinates of this box.withMaxY(double maxY) Returns a new box with the maximum Y provided and all other coordinates of this box.withMaxZ(double maxZ) Returns a new box with the maximum Z provided and all other coordinates of this box.withMinX(double minX) Returns a new box with the minimum X provided and all other coordinates of this box.withMinY(double minY) Returns a new box with the minimum Y provided and all other coordinates of this box.withMinZ(double minZ) Returns a new box with the minimum Z provided and all other coordinates of this box.
-
Field Details
-
EPSILON
private static final double EPSILON- See Also:
- Mappings:
Namespace Name Mixin selector named EPSILONLnet/minecraft/util/math/Box;EPSILON:Dintermediary field_31879Lnet/minecraft/class_238;field_31879:Dofficial gLewx;g:D
-
minX
public final double minX- Mappings:
Namespace Name Mixin selector named minXLnet/minecraft/util/math/Box;minX:Dintermediary field_1323Lnet/minecraft/class_238;field_1323:Dofficial aLewx;a:D
-
minY
public final double minY- Mappings:
Namespace Name Mixin selector named minYLnet/minecraft/util/math/Box;minY:Dintermediary field_1322Lnet/minecraft/class_238;field_1322:Dofficial bLewx;b:D
-
minZ
public final double minZ- Mappings:
Namespace Name Mixin selector named minZLnet/minecraft/util/math/Box;minZ:Dintermediary field_1321Lnet/minecraft/class_238;field_1321:Dofficial cLewx;c:D
-
maxX
public final double maxX- Mappings:
Namespace Name Mixin selector named maxXLnet/minecraft/util/math/Box;maxX:Dintermediary field_1320Lnet/minecraft/class_238;field_1320:Dofficial dLewx;d:D
-
maxY
public final double maxY- Mappings:
Namespace Name Mixin selector named maxYLnet/minecraft/util/math/Box;maxY:Dintermediary field_1325Lnet/minecraft/class_238;field_1325:Dofficial eLewx;e:D
-
maxZ
public final double maxZ- Mappings:
Namespace Name Mixin selector named maxZLnet/minecraft/util/math/Box;maxZ:Dintermediary field_1324Lnet/minecraft/class_238;field_1324:Dofficial fLewx;f:D
-
-
Constructor Details
-
Box
public Box(double x1, double y1, double z1, double x2, double y2, double z2) Creates a box of the given positions as corners.- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/util/math/Box;<init>(DDDDDD)Vintermediary <init>Lnet/minecraft/class_238;<init>(DDDDDD)Vofficial <init>Lewx;<init>(DDDDDD)V
-
Box
Creates a box that only contains the given block position.- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/util/math/Box;<init>(Lnet/minecraft/util/math/BlockPos;)Vintermediary <init>Lnet/minecraft/class_238;<init>(Lnet/minecraft/class_2338;)Vofficial <init>Lewx;<init>(Ljd;)V
-
Box
Creates a box of the given positions as corners.- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/util/math/Box;<init>(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Vintermediary <init>Lnet/minecraft/class_238;<init>(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Vofficial <init>Lewx;<init>(Lexc;Lexc;)V
-
-
Method Details
-
from
- Mappings:
Namespace Name Mixin selector named fromLnet/minecraft/util/math/Box;from(Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/util/math/Box;intermediary method_19316Lnet/minecraft/class_238;method_19316(Lnet/minecraft/class_3341;)Lnet/minecraft/class_238;official aLewx;a(Lejj;)Lewx;
-
from
- Mappings:
Namespace Name Mixin selector named fromLnet/minecraft/util/math/Box;from(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;intermediary method_29968Lnet/minecraft/class_238;method_29968(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;official aLewx;a(Lexc;)Lewx;
-
enclosing
Returns a box whose bounds extend to the full block betweenpos1andpos2, both inclusive.- Returns:
- a box whose bounds extend to the full block between
pos1andpos2, both inclusive - Mappings:
Namespace Name Mixin selector named enclosingLnet/minecraft/util/math/Box;enclosing(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/Box;intermediary method_54784Lnet/minecraft/class_238;method_54784(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_238;official aLewx;a(Ljd;Ljd;)Lewx;
-
withMinX
Returns a new box with the minimum X provided and all other coordinates of this box.- Returns:
- a new box with the minimum X provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMinXLnet/minecraft/util/math/Box;withMinX(D)Lnet/minecraft/util/math/Box;intermediary method_35574Lnet/minecraft/class_238;method_35574(D)Lnet/minecraft/class_238;official aLewx;a(D)Lewx;
-
withMinY
Returns a new box with the minimum Y provided and all other coordinates of this box.- Returns:
- a new box with the minimum Y provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMinYLnet/minecraft/util/math/Box;withMinY(D)Lnet/minecraft/util/math/Box;intermediary method_35575Lnet/minecraft/class_238;method_35575(D)Lnet/minecraft/class_238;official bLewx;b(D)Lewx;
-
withMinZ
Returns a new box with the minimum Z provided and all other coordinates of this box.- Returns:
- a new box with the minimum Z provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMinZLnet/minecraft/util/math/Box;withMinZ(D)Lnet/minecraft/util/math/Box;intermediary method_35576Lnet/minecraft/class_238;method_35576(D)Lnet/minecraft/class_238;official cLewx;c(D)Lewx;
-
withMaxX
Returns a new box with the maximum X provided and all other coordinates of this box.- Returns:
- a new box with the maximum X provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMaxXLnet/minecraft/util/math/Box;withMaxX(D)Lnet/minecraft/util/math/Box;intermediary method_35577Lnet/minecraft/class_238;method_35577(D)Lnet/minecraft/class_238;official dLewx;d(D)Lewx;
-
withMaxY
Returns a new box with the maximum Y provided and all other coordinates of this box.- Returns:
- a new box with the maximum Y provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMaxYLnet/minecraft/util/math/Box;withMaxY(D)Lnet/minecraft/util/math/Box;intermediary method_35578Lnet/minecraft/class_238;method_35578(D)Lnet/minecraft/class_238;official eLewx;e(D)Lewx;
-
withMaxZ
Returns a new box with the maximum Z provided and all other coordinates of this box.- Returns:
- a new box with the maximum Z provided and all other coordinates of this box
- Mappings:
Namespace Name Mixin selector named withMaxZLnet/minecraft/util/math/Box;withMaxZ(D)Lnet/minecraft/util/math/Box;intermediary method_35579Lnet/minecraft/class_238;method_35579(D)Lnet/minecraft/class_238;official fLewx;f(D)Lewx;
-
getMin
Returns the minimum coordinate for the givenaxisof this box.- Returns:
- the minimum coordinate for the given
axisof this box - Mappings:
Namespace Name Mixin selector named getMinLnet/minecraft/util/math/Box;getMin(Lnet/minecraft/util/math/Direction$Axis;)Dintermediary method_1001Lnet/minecraft/class_238;method_1001(Lnet/minecraft/class_2350$class_2351;)Dofficial aLewx;a(Lji$a;)D
-
getMax
Returns the maximum coordinate for the givenaxisof this box.- Returns:
- the maximum coordinate for the given
axisof this box - Mappings:
Namespace Name Mixin selector named getMaxLnet/minecraft/util/math/Box;getMax(Lnet/minecraft/util/math/Direction$Axis;)Dintermediary method_990Lnet/minecraft/class_238;method_990(Lnet/minecraft/class_2350$class_2351;)Dofficial bLewx;b(Lji$a;)D
-
equals
-
hashCode
public int hashCode() -
shrink
- Mappings:
Namespace Name Mixin selector named shrinkLnet/minecraft/util/math/Box;shrink(DDD)Lnet/minecraft/util/math/Box;intermediary method_1002Lnet/minecraft/class_238;method_1002(DDD)Lnet/minecraft/class_238;official aLewx;a(DDD)Lewx;
-
stretch
- Mappings:
Namespace Name Mixin selector named stretchLnet/minecraft/util/math/Box;stretch(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;intermediary method_18804Lnet/minecraft/class_238;method_18804(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;official bLewx;b(Lexc;)Lewx;
-
stretch
- Mappings:
Namespace Name Mixin selector named stretchLnet/minecraft/util/math/Box;stretch(DDD)Lnet/minecraft/util/math/Box;intermediary method_1012Lnet/minecraft/class_238;method_1012(DDD)Lnet/minecraft/class_238;official bLewx;b(DDD)Lewx;
-
expand
- See Also:
- Mappings:
Namespace Name Mixin selector named expandLnet/minecraft/util/math/Box;expand(DDD)Lnet/minecraft/util/math/Box;intermediary method_1009Lnet/minecraft/class_238;method_1009(DDD)Lnet/minecraft/class_238;official cLewx;c(DDD)Lewx;
-
expand
- See Also:
- Mappings:
Namespace Name Mixin selector named expandLnet/minecraft/util/math/Box;expand(D)Lnet/minecraft/util/math/Box;intermediary method_1014Lnet/minecraft/class_238;method_1014(D)Lnet/minecraft/class_238;official gLewx;g(D)Lewx;
-
intersection
Creates the maximum box that this box and the given box contain.- Mappings:
Namespace Name Mixin selector named intersectionLnet/minecraft/util/math/Box;intersection(Lnet/minecraft/util/math/Box;)Lnet/minecraft/util/math/Box;intermediary method_999Lnet/minecraft/class_238;method_999(Lnet/minecraft/class_238;)Lnet/minecraft/class_238;official aLewx;a(Lewx;)Lewx;
-
union
Creates the minimum box that contains this box and the given box.- Mappings:
Namespace Name Mixin selector named unionLnet/minecraft/util/math/Box;union(Lnet/minecraft/util/math/Box;)Lnet/minecraft/util/math/Box;intermediary method_991Lnet/minecraft/class_238;method_991(Lnet/minecraft/class_238;)Lnet/minecraft/class_238;official bLewx;b(Lewx;)Lewx;
-
offset
Creates a box that is translated byx,y,zon each axis from this box.- Mappings:
Namespace Name Mixin selector named offsetLnet/minecraft/util/math/Box;offset(DDD)Lnet/minecraft/util/math/Box;intermediary method_989Lnet/minecraft/class_238;method_989(DDD)Lnet/minecraft/class_238;official dLewx;d(DDD)Lewx;
-
offset
Creates a box that is translated byblockPos.getX(),blockPos.getY(),blockPos.getZ()on each axis from this box.- See Also:
- Mappings:
Namespace Name Mixin selector named offsetLnet/minecraft/util/math/Box;offset(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/Box;intermediary method_996Lnet/minecraft/class_238;method_996(Lnet/minecraft/class_2338;)Lnet/minecraft/class_238;official aLewx;a(Ljd;)Lewx;
-
offset
Creates a box that is translated byvec.x,vec.y,vec.zon each axis from this box.- See Also:
- Mappings:
Namespace Name Mixin selector named offsetLnet/minecraft/util/math/Box;offset(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;intermediary method_997Lnet/minecraft/class_238;method_997(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;official cLewx;c(Lexc;)Lewx;
-
offset
- Mappings:
Namespace Name Mixin selector named offsetLnet/minecraft/util/math/Box;offset(Lorg/joml/Vector3f;)Lnet/minecraft/util/math/Box;intermediary method_60314Lnet/minecraft/class_238;method_60314(Lorg/joml/Vector3f;)Lnet/minecraft/class_238;official aLewx;a(Lorg/joml/Vector3f;)Lewx;
-
intersects
Checks if this box intersects the given box.- Mappings:
Namespace Name Mixin selector named intersectsLnet/minecraft/util/math/Box;intersects(Lnet/minecraft/util/math/Box;)Zintermediary method_994Lnet/minecraft/class_238;method_994(Lnet/minecraft/class_238;)Zofficial cLewx;c(Lewx;)Z
-
intersects
public boolean intersects(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) Checks if this box intersects the box of the given coordinates.- Mappings:
Namespace Name Mixin selector named intersectsLnet/minecraft/util/math/Box;intersects(DDDDDD)Zintermediary method_1003Lnet/minecraft/class_238;method_1003(DDDDDD)Zofficial aLewx;a(DDDDDD)Z
-
intersects
Checks if this box intersects the box of the given positions as corners.- Mappings:
Namespace Name Mixin selector named intersectsLnet/minecraft/util/math/Box;intersects(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Zintermediary method_993Lnet/minecraft/class_238;method_993(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Zofficial aLewx;a(Lexc;Lexc;)Z
-
contains
Checks if the given position is in this box.- Mappings:
Namespace Name Mixin selector named containsLnet/minecraft/util/math/Box;contains(Lnet/minecraft/util/math/Vec3d;)Zintermediary method_1006Lnet/minecraft/class_238;method_1006(Lnet/minecraft/class_243;)Zofficial dLewx;d(Lexc;)Z
-
contains
public boolean contains(double x, double y, double z) Checks if the given position is in this box.- Mappings:
Namespace Name Mixin selector named containsLnet/minecraft/util/math/Box;contains(DDD)Zintermediary method_1008Lnet/minecraft/class_238;method_1008(DDD)Zofficial eLewx;e(DDD)Z
-
getAverageSideLength
public double getAverageSideLength()- Mappings:
Namespace Name Mixin selector named getAverageSideLengthLnet/minecraft/util/math/Box;getAverageSideLength()Dintermediary method_995Lnet/minecraft/class_238;method_995()Dofficial aLewx;a()D
-
getLengthX
public double getLengthX()Returns the length of this box on the X axis.- Returns:
- the length of this box on the X axis
- Mappings:
Namespace Name Mixin selector named getLengthXLnet/minecraft/util/math/Box;getLengthX()Dintermediary method_17939Lnet/minecraft/class_238;method_17939()Dofficial bLewx;b()D
-
getLengthY
public double getLengthY()Returns the length of this box on the Y axis.- Returns:
- the length of this box on the Y axis
- Mappings:
Namespace Name Mixin selector named getLengthYLnet/minecraft/util/math/Box;getLengthY()Dintermediary method_17940Lnet/minecraft/class_238;method_17940()Dofficial cLewx;c()D
-
getLengthZ
public double getLengthZ()Returns the length of this box on the Z axis.- Returns:
- the length of this box on the Z axis
- Mappings:
Namespace Name Mixin selector named getLengthZLnet/minecraft/util/math/Box;getLengthZ()Dintermediary method_17941Lnet/minecraft/class_238;method_17941()Dofficial dLewx;d()D
-
contract
- See Also:
- Mappings:
Namespace Name Mixin selector named contractLnet/minecraft/util/math/Box;contract(DDD)Lnet/minecraft/util/math/Box;intermediary method_35580Lnet/minecraft/class_238;method_35580(DDD)Lnet/minecraft/class_238;official fLewx;f(DDD)Lewx;
-
contract
- See Also:
- Mappings:
Namespace Name Mixin selector named contractLnet/minecraft/util/math/Box;contract(D)Lnet/minecraft/util/math/Box;intermediary method_1011Lnet/minecraft/class_238;method_1011(D)Lnet/minecraft/class_238;official hLewx;h(D)Lewx;
-
raycast
- Mappings:
Namespace Name Mixin selector named raycastLnet/minecraft/util/math/Box;raycast(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Ljava/util/Optional;intermediary method_992Lnet/minecraft/class_238;method_992(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Ljava/util/Optional;official bLewx;b(Lexc;Lexc;)Ljava/util/Optional;
-
raycast
@Nullable public static @Nullable BlockHitResult raycast(Iterable<Box> boxes, Vec3d from, Vec3d to, BlockPos pos) - Mappings:
Namespace Name Mixin selector named raycastLnet/minecraft/util/math/Box;raycast(Ljava/lang/Iterable;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/hit/BlockHitResult;intermediary method_1010Lnet/minecraft/class_238;method_1010(Ljava/lang/Iterable;Lnet/minecraft/class_243;Lnet/minecraft/class_243;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3965;official aLewx;a(Ljava/lang/Iterable;Lexc;Lexc;Ljd;)Lewy;
-
traceCollisionSide
@Nullable private static @Nullable Direction traceCollisionSide(Box box, Vec3d intersectingVector, double[] traceDistanceResult, @Nullable @Nullable Direction approachDirection, double deltaX, double deltaY, double deltaZ) - Mappings:
Namespace Name Mixin selector named traceCollisionSideLnet/minecraft/util/math/Box;traceCollisionSide(Lnet/minecraft/util/math/Box;Lnet/minecraft/util/math/Vec3d;[DLnet/minecraft/util/math/Direction;DDD)Lnet/minecraft/util/math/Direction;intermediary method_1007Lnet/minecraft/class_238;method_1007(Lnet/minecraft/class_238;Lnet/minecraft/class_243;[DLnet/minecraft/class_2350;DDD)Lnet/minecraft/class_2350;official aLewx;a(Lewx;Lexc;[DLji;DDD)Lji;
-
traceCollisionSide
@Nullable private static @Nullable Direction traceCollisionSide(double[] traceDistanceResult, @Nullable @Nullable Direction approachDirection, double deltaX, double deltaY, double deltaZ, double begin, double minX, double maxX, double minZ, double maxZ, Direction resultDirection, double startX, double startY, double startZ) - Mappings:
Namespace Name Mixin selector named traceCollisionSideLnet/minecraft/util/math/Box;traceCollisionSide([DLnet/minecraft/util/math/Direction;DDDDDDDDLnet/minecraft/util/math/Direction;DDD)Lnet/minecraft/util/math/Direction;intermediary method_998Lnet/minecraft/class_238;method_998([DLnet/minecraft/class_2350;DDDDDDDDLnet/minecraft/class_2350;DDD)Lnet/minecraft/class_2350;official aLewx;a([DLji;DDDDDDDDLji;DDD)Lji;
-
squaredMagnitude
- Mappings:
Namespace Name Mixin selector named squaredMagnitudeLnet/minecraft/util/math/Box;squaredMagnitude(Lnet/minecraft/util/math/Vec3d;)Dintermediary method_49271Lnet/minecraft/class_238;method_49271(Lnet/minecraft/class_243;)Dofficial eLewx;e(Lexc;)D
-
toString
-
isNaN
public boolean isNaN()Checks if any of the coordinates of this box are not a number.- Mappings:
Namespace Name Mixin selector named isNaNLnet/minecraft/util/math/Box;isNaN()Zintermediary method_1013Lnet/minecraft/class_238;method_1013()Zofficial eLewx;e()Z
-
getCenter
Returns the center position of this box.- Mappings:
Namespace Name Mixin selector named getCenterLnet/minecraft/util/math/Box;getCenter()Lnet/minecraft/util/math/Vec3d;intermediary method_1005Lnet/minecraft/class_238;method_1005()Lnet/minecraft/class_243;official fLewx;f()Lexc;
-
getBottomCenter
- Mappings:
Namespace Name Mixin selector named getBottomCenterLnet/minecraft/util/math/Box;getBottomCenter()Lnet/minecraft/util/math/Vec3d;intermediary method_61124Lnet/minecraft/class_238;method_61124()Lnet/minecraft/class_243;official gLewx;g()Lexc;
-
getMinPos
- Mappings:
Namespace Name Mixin selector named getMinPosLnet/minecraft/util/math/Box;getMinPos()Lnet/minecraft/util/math/Vec3d;intermediary method_61125Lnet/minecraft/class_238;method_61125()Lnet/minecraft/class_243;official hLewx;h()Lexc;
-
getMaxPos
- Mappings:
Namespace Name Mixin selector named getMaxPosLnet/minecraft/util/math/Box;getMaxPos()Lnet/minecraft/util/math/Vec3d;intermediary method_61126Lnet/minecraft/class_238;method_61126()Lnet/minecraft/class_243;official iLewx;i()Lexc;
-
of
- Mappings:
Namespace Name Mixin selector named ofLnet/minecraft/util/math/Box;of(Lnet/minecraft/util/math/Vec3d;DDD)Lnet/minecraft/util/math/Box;intermediary method_30048Lnet/minecraft/class_238;method_30048(Lnet/minecraft/class_243;DDD)Lnet/minecraft/class_238;official aLewx;a(Lexc;DDD)Lewx;
-