Class BoundingBox

java.lang.Object
org.geysermc.geyser.level.physics.BoundingBox
All Implemented Interfaces:
Cloneable

public class BoundingBox extends Object implements Cloneable
  • Constructor Details

    • BoundingBox

      public BoundingBox(double middleX, double middleY, double middleZ, double sizeX, double sizeY, double sizeZ)
  • Method Details

    • translate

      public void translate(double x, double y, double z)
    • extend

      public void extend(double x, double y, double z)
    • extend

      public void extend(com.nukkitx.math.vector.Vector3d extend)
    • checkIntersection

      public boolean checkIntersection(double offsetX, double offsetY, double offsetZ, BoundingBox otherBox)
    • checkIntersection

      public boolean checkIntersection(com.nukkitx.math.vector.Vector3d offset, BoundingBox otherBox)
    • getMin

      public com.nukkitx.math.vector.Vector3d getMin()
    • getMax

      public com.nukkitx.math.vector.Vector3d getMax()
    • getBottomCenter

      public com.nukkitx.math.vector.Vector3d getBottomCenter()
    • getMaxOffset

      public double getMaxOffset(double xOffset, double yOffset, double zOffset, BoundingBox otherBoundingBox, Axis axis, double offset)
      Find the maximum offset of another bounding box in an axis that will not collide with this bounding box
      Parameters:
      xOffset - The x offset of this bounding box
      yOffset - The y offset of this bounding box
      zOffset - The z offset of this bounding box
      otherBoundingBox - The bounding box that is moving
      axis - The axis of movement
      offset - The current max offset
      Returns:
      The new max offset
    • getIntersectionSize

      public double getIntersectionSize(BoundingBox otherBoundingBox, Direction side)
      Get the distance required to move this bounding box to one of otherBoundingBox's sides
      Parameters:
      otherBoundingBox - The stationary bounding box
      side - The side of otherBoundingBox to snap this bounding box to
      Returns:
      The distance to move in the direction of side
    • clone

      public BoundingBox clone()
      Overrides:
      clone in class Object
    • getMiddleX

      public double getMiddleX()
    • getMiddleY

      public double getMiddleY()
    • getMiddleZ

      public double getMiddleZ()
    • getSizeX

      public double getSizeX()
    • getSizeY

      public double getSizeY()
    • getSizeZ

      public double getSizeZ()
    • setMiddleX

      public void setMiddleX(double middleX)
    • setMiddleY

      public void setMiddleY(double middleY)
    • setMiddleZ

      public void setMiddleZ(double middleZ)
    • setSizeX

      public void setSizeX(double sizeX)
    • setSizeY

      public void setSizeY(double sizeY)
    • setSizeZ

      public void setSizeZ(double sizeZ)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object