Record Class Bounds

java.lang.Object
java.lang.Record
dev.despical.pixelpainter.core.Bounds
Record Components:
minX - inclusive minimum X
minY - inclusive minimum Y
minZ - inclusive minimum Z
maxX - inclusive maximum X
maxY - inclusive maximum Y
maxZ - inclusive maximum Z

public record Bounds(int minX, int minY, int minZ, int maxX, int maxY, int maxZ) extends Record
Describes an inclusive, axis-aligned block region in a separately identified world.

Both endpoints are part of the region. Overlap checks reserve journal regions, and chunk counting handles negative coordinates using arithmetic shifts.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Bounds(int minX, int minY, int minZ, int maxX, int maxY, int maxZ)
    Creates an instance of a Bounds record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Counts horizontal chunks touched by the inclusive X/Z span.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    boolean
    Checks whether this region shares at least one block with another region.
    int
    Returns the value of the maxX record component.
    int
    Returns the value of the maxY record component.
    int
    Returns the value of the maxZ record component.
    int
    Returns the value of the minX record component.
    int
    Returns the value of the minY record component.
    int
    Returns the value of the minZ record component.
    static Bounds
    Creates normalized inclusive bounds from two opposite corners.
    final String
    Returns a string representation of this record class.

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Bounds

      public Bounds(int minX, int minY, int minZ, int maxX, int maxY, int maxZ)
      Creates an instance of a Bounds record class.
      Parameters:
      minX - the value for the minX record component
      minY - the value for the minY record component
      minZ - the value for the minZ record component
      maxX - the value for the maxX record component
      maxY - the value for the maxY record component
      maxZ - the value for the maxZ record component
  • Method Details

    • of

      public static Bounds of(Position a, Position b)
      Creates normalized inclusive bounds from two opposite corners.
      Parameters:
      a - first corner
      b - opposite corner
      Returns:
      bounds containing both corners
    • intersects

      public boolean intersects(Bounds other)
      Checks whether this region shares at least one block with another region.
      Parameters:
      other - region in the same world
      Returns:
      whether all three inclusive axis spans overlap
    • chunks

      public long chunks()
      Counts horizontal chunks touched by the inclusive X/Z span.
      Returns:
      chunk count using wide arithmetic
    • toString

      public final String 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.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • 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.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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 with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • minX

      public int minX()
      Returns the value of the minX record component.
      Returns:
      the value of the minX record component
    • minY

      public int minY()
      Returns the value of the minY record component.
      Returns:
      the value of the minY record component
    • minZ

      public int minZ()
      Returns the value of the minZ record component.
      Returns:
      the value of the minZ record component
    • maxX

      public int maxX()
      Returns the value of the maxX record component.
      Returns:
      the value of the maxX record component
    • maxY

      public int maxY()
      Returns the value of the maxY record component.
      Returns:
      the value of the maxY record component
    • maxZ

      public int maxZ()
      Returns the value of the maxZ record component.
      Returns:
      the value of the maxZ record component