Package net.minestom.server.collision
Record Class BoundingBox
java.lang.Object
java.lang.Record
net.minestom.server.collision.BoundingBox
- All Implemented Interfaces:
Shape
See https://wiki.vg/Entity_metadata#Mobs_2
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic classstatic class -
Constructor Summary
ConstructorsConstructorDescriptionBoundingBox(double width, double height, double depth) BoundingBox(double width, double height, double depth, Point offset) BoundingBox(Vec relativeStart, Vec relativeEnd) Creates an instance of aBoundingBoxrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbooleanboundingBoxRayIntersectionCheck(Vec start, Vec direction, Pos position) @NotNull BoundingBoxcontract(double x, double y, double z) Creates a newBoundingBoxwith a contracted size.doubledepth()final booleanIndicates whether some other object is "equal to" this one.@NotNull BoundingBoxexpand(double x, double y, double z) Creates a newBoundingBoxwith an expanded size.static @NotNull BoundingBoxfromPoints(@NotNull Point a, @NotNull Point b) static @Nullable BoundingBoxfromPose(@NotNull EntityPose pose) getBlocks(Point point, BoundingBox.AxisMask axisMask, double axis) final inthashCode()Returns a hash code value for this object.doubleheight()booleanintersectBox(@NotNull Point positionRelative, @NotNull BoundingBox boundingBox) Checks if two bounding boxes intersect.booleanintersectBoxSwept(@NotNull Point rayStart, @NotNull Point rayDirection, @NotNull Point shapePos, @NotNull BoundingBox moving, @NotNull SweepResult finalResult) Checks if a moving bounding box will hit this shape.booleanisOccluded(@NotNull Shape shape, @NotNull BlockFace face) doublemaxX()doublemaxY()doublemaxZ()doubleminX()doubleminY()doubleminZ()Returns the value of therelativeEndrecord component.Returns the value of therelativeStartrecord component.final StringtoString()Returns a string representation of this record class.doublewidth()@NotNull BoundingBoxwithOffset(Point offset) Creates a newBoundingBoxwith an offset.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minestom.server.collision.Shape
intersectEntity, isFaceFull
-
Constructor Details
-
BoundingBox
-
BoundingBox
public BoundingBox(double width, double height, double depth) -
BoundingBox
Creates an instance of aBoundingBoxrecord class.- Parameters:
relativeStart- the value for therelativeStartrecord componentrelativeEnd- the value for therelativeEndrecord component
-
-
Method Details
-
isOccluded
- Specified by:
isOccludedin interfaceShape
-
intersectBox
public boolean intersectBox(@NotNull @NotNull Point positionRelative, @NotNull @NotNull BoundingBox boundingBox) Description copied from interface:ShapeChecks if two bounding boxes intersect.- Specified by:
intersectBoxin interfaceShape- Parameters:
positionRelative- Relative position of bounding box to check withboundingBox- Bounding box to check for intersections with- Returns:
- is an intersection found
-
intersectBoxSwept
public boolean intersectBoxSwept(@NotNull @NotNull Point rayStart, @NotNull @NotNull Point rayDirection, @NotNull @NotNull Point shapePos, @NotNull @NotNull BoundingBox moving, @NotNull @NotNull SweepResult finalResult) Description copied from interface:ShapeChecks if a moving bounding box will hit this shape.- Specified by:
intersectBoxSweptin interfaceShape- Parameters:
rayStart- Position of the moving shaperayDirection- Movement vectorshapePos- Position of this shapemoving- Bounding Box of moving shapefinalResult- Stores final SweepResult- Returns:
- is an intersection found
-
boundingBoxRayIntersectionCheck
-
expand
Creates a newBoundingBoxwith an expanded size.- Parameters:
x- the X offsety- the Y offsetz- the Z offset- Returns:
- a new
BoundingBoxexpanded
-
contract
Creates a newBoundingBoxwith a contracted size.- Parameters:
x- the X offsety- the Y offsetz- the Z offset- Returns:
- a new bounding box contracted
-
withOffset
Creates a newBoundingBoxwith an offset.- Parameters:
offset- the offset- Returns:
- a new bounding box with an offset.
-
width
public double width() -
height
public double height() -
depth
public double depth() -
minX
public double minX() -
maxX
public double maxX() -
minY
public double minY() -
maxY
public double maxY() -
minZ
public double minZ() -
maxZ
public double maxZ() -
getBlocks
-
getBlocks
-
fromPose
-
fromPoints
@NotNull public static @NotNull BoundingBox fromPoints(@NotNull @NotNull Point a, @NotNull @NotNull Point b) -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
relativeStart
Returns the value of therelativeStartrecord component.- Specified by:
relativeStartin interfaceShape- Returns:
- the value of the
relativeStartrecord component
-
relativeEnd
Returns the value of therelativeEndrecord component.- Specified by:
relativeEndin interfaceShape- Returns:
- the value of the
relativeEndrecord component
-