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 official ecz
intermediary net/minecraft/class_238
named net/minecraft/util/math/Box
-
Field Summary
-
Constructor Summary
ConstructorDescriptionBox
(double x1, double y1, double z1, double x2, double y2, double z2) Creates a box of the given positions as corners.Creates a box that only contains the given block position.Creates a box of the given positions as corners.Creates a box of the given positions as corners. -
Method Summary
Modifier and TypeMethodDescriptionboolean
contains
(double x, double y, double z) Checks if the given position is in this box.boolean
Checks if the given position is in this box.contract
(double value) contract
(double x, double y, double z) boolean
expand
(double value) expand
(double x, double y, double z) static Box
static Box
double
Returns the center position of this box.double
getMax
(Direction.Axis axis) Returns the maximum coordinate for the givenaxis
of this box.double
getMin
(Direction.Axis axis) Returns the minimum coordinate for the givenaxis
of this box.double
double
double
int
hashCode()
intersection
(Box box) Creates the maximum box that this box and the given box contain.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.boolean
intersects
(Box box) Checks if this box intersects the given box.boolean
intersects
(Vec3d pos1, Vec3d pos2) Checks if this box intersects the box of the given positions as corners.boolean
isValid()
Checks if any of the coordinates of this box is not a number.static Box
offset
(double x, double y, double z) Creates a box that is translated byx
,y
,z
on 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.z
on each axis from this box.static @Nullable BlockHitResult
shrink
(double x, double y, double z) double
squaredMagnitude
(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 official g
Lecz;g:D
intermediary field_31879
Lnet/minecraft/class_238;field_31879:D
named EPSILON
Lnet/minecraft/util/math/Box;EPSILON:D
-
minX
public final double minX- Mappings:
Namespace Name Mixin selector official a
Lecz;a:D
intermediary field_1323
Lnet/minecraft/class_238;field_1323:D
named minX
Lnet/minecraft/util/math/Box;minX:D
-
minY
public final double minY- Mappings:
Namespace Name Mixin selector official b
Lecz;b:D
intermediary field_1322
Lnet/minecraft/class_238;field_1322:D
named minY
Lnet/minecraft/util/math/Box;minY:D
-
minZ
public final double minZ- Mappings:
Namespace Name Mixin selector official c
Lecz;c:D
intermediary field_1321
Lnet/minecraft/class_238;field_1321:D
named minZ
Lnet/minecraft/util/math/Box;minZ:D
-
maxX
public final double maxX- Mappings:
Namespace Name Mixin selector official d
Lecz;d:D
intermediary field_1320
Lnet/minecraft/class_238;field_1320:D
named maxX
Lnet/minecraft/util/math/Box;maxX:D
-
maxY
public final double maxY- Mappings:
Namespace Name Mixin selector official e
Lecz;e:D
intermediary field_1325
Lnet/minecraft/class_238;field_1325:D
named maxY
Lnet/minecraft/util/math/Box;maxY:D
-
maxZ
public final double maxZ- Mappings:
Namespace Name Mixin selector official f
Lecz;f:D
intermediary field_1324
Lnet/minecraft/class_238;field_1324:D
named maxZ
Lnet/minecraft/util/math/Box;maxZ: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 official <init>
Lecz;<init>(DDDDDD)V
intermediary <init>
Lnet/minecraft/class_238;<init>(DDDDDD)V
named <init>
Lnet/minecraft/util/math/Box;<init>(DDDDDD)V
-
Box
Creates a box that only contains the given block position.- Mappings:
Namespace Name Mixin selector official <init>
Lecz;<init>(Lgt;)V
intermediary <init>
Lnet/minecraft/class_238;<init>(Lnet/minecraft/class_2338;)V
named <init>
Lnet/minecraft/util/math/Box;<init>(Lnet/minecraft/util/math/BlockPos;)V
-
Box
Creates a box of the given positions as corners.- Mappings:
Namespace Name Mixin selector official <init>
Lecz;<init>(Lgt;Lgt;)V
intermediary <init>
Lnet/minecraft/class_238;<init>(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)V
named <init>
Lnet/minecraft/util/math/Box;<init>(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)V
-
Box
Creates a box of the given positions as corners.- Mappings:
Namespace Name Mixin selector official <init>
Lecz;<init>(Lede;Lede;)V
intermediary <init>
Lnet/minecraft/class_238;<init>(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)V
named <init>
Lnet/minecraft/util/math/Box;<init>(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)V
-
-
Method Details
-
from
- Mappings:
Namespace Name Mixin selector official a
Lecz;a(Ldrh;)Lecz;
intermediary method_19316
Lnet/minecraft/class_238;method_19316(Lnet/minecraft/class_3341;)Lnet/minecraft/class_238;
named from
Lnet/minecraft/util/math/Box;from(Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/util/math/Box;
-
from
- Mappings:
Namespace Name Mixin selector official a
Lecz;a(Lede;)Lecz;
intermediary method_29968
Lnet/minecraft/class_238;method_29968(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;
named from
Lnet/minecraft/util/math/Box;from(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;
-
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 official a
Lecz;a(D)Lecz;
intermediary method_35574
Lnet/minecraft/class_238;method_35574(D)Lnet/minecraft/class_238;
named withMinX
Lnet/minecraft/util/math/Box;withMinX(D)Lnet/minecraft/util/math/Box;
-
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 official b
Lecz;b(D)Lecz;
intermediary method_35575
Lnet/minecraft/class_238;method_35575(D)Lnet/minecraft/class_238;
named withMinY
Lnet/minecraft/util/math/Box;withMinY(D)Lnet/minecraft/util/math/Box;
-
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 official c
Lecz;c(D)Lecz;
intermediary method_35576
Lnet/minecraft/class_238;method_35576(D)Lnet/minecraft/class_238;
named withMinZ
Lnet/minecraft/util/math/Box;withMinZ(D)Lnet/minecraft/util/math/Box;
-
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 official d
Lecz;d(D)Lecz;
intermediary method_35577
Lnet/minecraft/class_238;method_35577(D)Lnet/minecraft/class_238;
named withMaxX
Lnet/minecraft/util/math/Box;withMaxX(D)Lnet/minecraft/util/math/Box;
-
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 official e
Lecz;e(D)Lecz;
intermediary method_35578
Lnet/minecraft/class_238;method_35578(D)Lnet/minecraft/class_238;
named withMaxY
Lnet/minecraft/util/math/Box;withMaxY(D)Lnet/minecraft/util/math/Box;
-
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 official f
Lecz;f(D)Lecz;
intermediary method_35579
Lnet/minecraft/class_238;method_35579(D)Lnet/minecraft/class_238;
named withMaxZ
Lnet/minecraft/util/math/Box;withMaxZ(D)Lnet/minecraft/util/math/Box;
-
getMin
Returns the minimum coordinate for the givenaxis
of this box.- Returns:
- the minimum coordinate for the given
axis
of this box - Mappings:
Namespace Name Mixin selector official a
Lecz;a(Lgz$a;)D
intermediary method_1001
Lnet/minecraft/class_238;method_1001(Lnet/minecraft/class_2350$class_2351;)D
named getMin
Lnet/minecraft/util/math/Box;getMin(Lnet/minecraft/util/math/Direction$Axis;)D
-
getMax
Returns the maximum coordinate for the givenaxis
of this box.- Returns:
- the maximum coordinate for the given
axis
of this box - Mappings:
Namespace Name Mixin selector official b
Lecz;b(Lgz$a;)D
intermediary method_990
Lnet/minecraft/class_238;method_990(Lnet/minecraft/class_2350$class_2351;)D
named getMax
Lnet/minecraft/util/math/Box;getMax(Lnet/minecraft/util/math/Direction$Axis;)D
-
equals
-
hashCode
public int hashCode() -
shrink
- Mappings:
Namespace Name Mixin selector official a
Lecz;a(DDD)Lecz;
intermediary method_1002
Lnet/minecraft/class_238;method_1002(DDD)Lnet/minecraft/class_238;
named shrink
Lnet/minecraft/util/math/Box;shrink(DDD)Lnet/minecraft/util/math/Box;
-
stretch
- Mappings:
Namespace Name Mixin selector official b
Lecz;b(Lede;)Lecz;
intermediary method_18804
Lnet/minecraft/class_238;method_18804(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;
named stretch
Lnet/minecraft/util/math/Box;stretch(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;
-
stretch
- Mappings:
Namespace Name Mixin selector official b
Lecz;b(DDD)Lecz;
intermediary method_1012
Lnet/minecraft/class_238;method_1012(DDD)Lnet/minecraft/class_238;
named stretch
Lnet/minecraft/util/math/Box;stretch(DDD)Lnet/minecraft/util/math/Box;
-
expand
- See Also:
- Mappings:
Namespace Name Mixin selector official c
Lecz;c(DDD)Lecz;
intermediary method_1009
Lnet/minecraft/class_238;method_1009(DDD)Lnet/minecraft/class_238;
named expand
Lnet/minecraft/util/math/Box;expand(DDD)Lnet/minecraft/util/math/Box;
-
expand
- See Also:
- Mappings:
Namespace Name Mixin selector official g
Lecz;g(D)Lecz;
intermediary method_1014
Lnet/minecraft/class_238;method_1014(D)Lnet/minecraft/class_238;
named expand
Lnet/minecraft/util/math/Box;expand(D)Lnet/minecraft/util/math/Box;
-
intersection
Creates the maximum box that this box and the given box contain.- Mappings:
Namespace Name Mixin selector official a
Lecz;a(Lecz;)Lecz;
intermediary method_999
Lnet/minecraft/class_238;method_999(Lnet/minecraft/class_238;)Lnet/minecraft/class_238;
named intersection
Lnet/minecraft/util/math/Box;intersection(Lnet/minecraft/util/math/Box;)Lnet/minecraft/util/math/Box;
-
union
Creates the minimum box that contains this box and the given box.- Mappings:
Namespace Name Mixin selector official b
Lecz;b(Lecz;)Lecz;
intermediary method_991
Lnet/minecraft/class_238;method_991(Lnet/minecraft/class_238;)Lnet/minecraft/class_238;
named union
Lnet/minecraft/util/math/Box;union(Lnet/minecraft/util/math/Box;)Lnet/minecraft/util/math/Box;
-
offset
Creates a box that is translated byx
,y
,z
on each axis from this box.- Mappings:
Namespace Name Mixin selector official d
Lecz;d(DDD)Lecz;
intermediary method_989
Lnet/minecraft/class_238;method_989(DDD)Lnet/minecraft/class_238;
named offset
Lnet/minecraft/util/math/Box;offset(DDD)Lnet/minecraft/util/math/Box;
-
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 official a
Lecz;a(Lgt;)Lecz;
intermediary method_996
Lnet/minecraft/class_238;method_996(Lnet/minecraft/class_2338;)Lnet/minecraft/class_238;
named offset
Lnet/minecraft/util/math/Box;offset(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/Box;
-
offset
Creates a box that is translated byvec.x
,vec.y
,vec.z
on each axis from this box.- See Also:
- Mappings:
Namespace Name Mixin selector official c
Lecz;c(Lede;)Lecz;
intermediary method_997
Lnet/minecraft/class_238;method_997(Lnet/minecraft/class_243;)Lnet/minecraft/class_238;
named offset
Lnet/minecraft/util/math/Box;offset(Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/math/Box;
-
intersects
Checks if this box intersects the given box.- Mappings:
Namespace Name Mixin selector official c
Lecz;c(Lecz;)Z
intermediary method_994
Lnet/minecraft/class_238;method_994(Lnet/minecraft/class_238;)Z
named intersects
Lnet/minecraft/util/math/Box;intersects(Lnet/minecraft/util/math/Box;)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 official a
Lecz;a(DDDDDD)Z
intermediary method_1003
Lnet/minecraft/class_238;method_1003(DDDDDD)Z
named intersects
Lnet/minecraft/util/math/Box;intersects(DDDDDD)Z
-
intersects
Checks if this box intersects the box of the given positions as corners.- Mappings:
Namespace Name Mixin selector official a
Lecz;a(Lede;Lede;)Z
intermediary method_993
Lnet/minecraft/class_238;method_993(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Z
named intersects
Lnet/minecraft/util/math/Box;intersects(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Z
-
contains
Checks if the given position is in this box.- Mappings:
Namespace Name Mixin selector official d
Lecz;d(Lede;)Z
intermediary method_1006
Lnet/minecraft/class_238;method_1006(Lnet/minecraft/class_243;)Z
named contains
Lnet/minecraft/util/math/Box;contains(Lnet/minecraft/util/math/Vec3d;)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 official e
Lecz;e(DDD)Z
intermediary method_1008
Lnet/minecraft/class_238;method_1008(DDD)Z
named contains
Lnet/minecraft/util/math/Box;contains(DDD)Z
-
getAverageSideLength
public double getAverageSideLength()- Mappings:
Namespace Name Mixin selector official a
Lecz;a()D
intermediary method_995
Lnet/minecraft/class_238;method_995()D
named getAverageSideLength
Lnet/minecraft/util/math/Box;getAverageSideLength()D
-
getXLength
public double getXLength()- Mappings:
Namespace Name Mixin selector official b
Lecz;b()D
intermediary method_17939
Lnet/minecraft/class_238;method_17939()D
named getXLength
Lnet/minecraft/util/math/Box;getXLength()D
-
getYLength
public double getYLength()- Mappings:
Namespace Name Mixin selector official c
Lecz;c()D
intermediary method_17940
Lnet/minecraft/class_238;method_17940()D
named getYLength
Lnet/minecraft/util/math/Box;getYLength()D
-
getZLength
public double getZLength()- Mappings:
Namespace Name Mixin selector official d
Lecz;d()D
intermediary method_17941
Lnet/minecraft/class_238;method_17941()D
named getZLength
Lnet/minecraft/util/math/Box;getZLength()D
-
contract
- See Also:
- Mappings:
Namespace Name Mixin selector official f
Lecz;f(DDD)Lecz;
intermediary method_35580
Lnet/minecraft/class_238;method_35580(DDD)Lnet/minecraft/class_238;
named contract
Lnet/minecraft/util/math/Box;contract(DDD)Lnet/minecraft/util/math/Box;
-
contract
- See Also:
- Mappings:
Namespace Name Mixin selector official h
Lecz;h(D)Lecz;
intermediary method_1011
Lnet/minecraft/class_238;method_1011(D)Lnet/minecraft/class_238;
named contract
Lnet/minecraft/util/math/Box;contract(D)Lnet/minecraft/util/math/Box;
-
raycast
- Mappings:
Namespace Name Mixin selector official b
Lecz;b(Lede;Lede;)Ljava/util/Optional;
intermediary method_992
Lnet/minecraft/class_238;method_992(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Ljava/util/Optional;
named raycast
Lnet/minecraft/util/math/Box;raycast(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Ljava/util/Optional;
-
raycast
@Nullable public static @Nullable BlockHitResult raycast(Iterable<Box> boxes, Vec3d from, Vec3d to, BlockPos pos) - Mappings:
Namespace Name Mixin selector official a
Lecz;a(Ljava/lang/Iterable;Lede;Lede;Lgt;)Leda;
intermediary method_1010
Lnet/minecraft/class_238;method_1010(Ljava/lang/Iterable;Lnet/minecraft/class_243;Lnet/minecraft/class_243;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3965;
named raycast
Lnet/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;
-
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 official a
Lecz;a(Lecz;Lede;[DLgz;DDD)Lgz;
intermediary method_1007
Lnet/minecraft/class_238;method_1007(Lnet/minecraft/class_238;Lnet/minecraft/class_243;[DLnet/minecraft/class_2350;DDD)Lnet/minecraft/class_2350;
named traceCollisionSide
Lnet/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;
-
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 official a
Lecz;a([DLgz;DDDDDDDDLgz;DDD)Lgz;
intermediary method_998
Lnet/minecraft/class_238;method_998([DLnet/minecraft/class_2350;DDDDDDDDLnet/minecraft/class_2350;DDD)Lnet/minecraft/class_2350;
named traceCollisionSide
Lnet/minecraft/util/math/Box;traceCollisionSide([DLnet/minecraft/util/math/Direction;DDDDDDDDLnet/minecraft/util/math/Direction;DDD)Lnet/minecraft/util/math/Direction;
-
squaredMagnitude
- Mappings:
Namespace Name Mixin selector official e
Lecz;e(Lede;)D
intermediary method_49271
Lnet/minecraft/class_238;method_49271(Lnet/minecraft/class_243;)D
named squaredMagnitude
Lnet/minecraft/util/math/Box;squaredMagnitude(Lnet/minecraft/util/math/Vec3d;)D
-
toString
-
isValid
public boolean isValid()Checks if any of the coordinates of this box is not a number.- Mappings:
Namespace Name Mixin selector official e
Lecz;e()Z
intermediary method_1013
Lnet/minecraft/class_238;method_1013()Z
named isValid
Lnet/minecraft/util/math/Box;isValid()Z
-
getCenter
Returns the center position of this box.- Mappings:
Namespace Name Mixin selector official f
Lecz;f()Lede;
intermediary method_1005
Lnet/minecraft/class_238;method_1005()Lnet/minecraft/class_243;
named getCenter
Lnet/minecraft/util/math/Box;getCenter()Lnet/minecraft/util/math/Vec3d;
-
of
- Mappings:
Namespace Name Mixin selector official a
Lecz;a(Lede;DDD)Lecz;
intermediary method_30048
Lnet/minecraft/class_238;method_30048(Lnet/minecraft/class_243;DDD)Lnet/minecraft/class_238;
named of
Lnet/minecraft/util/math/Box;of(Lnet/minecraft/util/math/Vec3d;DDD)Lnet/minecraft/util/math/Box;
-