Record Class ChunkPos

java.lang.Object
java.lang.Record
fr.fidorial.world.ChunkPos
Record Components:
x - the chunk X coordinate, that is the block X coordinate shifted right by four
z - the chunk Z coordinate, that is the block Z coordinate shifted right by four

public record ChunkPos(int x, int z) extends Record
The coordinates of a 16x16 chunk column, independent of any world.
Since:
0.1.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    ChunkPos(int x, int z)
    Creates an instance of a ChunkPos record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    static long
    chunkKey(int chunkX, int chunkZ)
    Returns the coordinates packed into a single long, X in the high bits and Z in the low bits.
    static long
    Returns the position packed into a single long, X in the high bits and Z in the low bits.
    final boolean
    Indicates whether some other object is "equal to" this one.
    static ChunkPos
    fromBlock(int blockX, int blockZ)
    Returns the position of the chunk holding the given block coordinates.
    static ChunkPos
    fromKey(long key)
    Returns the position unpacked from a long built by chunkKey(int, int).
    final int
    Returns a hash code value for this object.
    long
    key()
    Returns this position packed into a single long.
    final String
    Returns a string representation of this record class.
    int
    x()
    Returns the value of the x record component.
    int
    z()
    Returns the value of the z record component.

    Methods inherited from class Object

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

    • ChunkPos

      public ChunkPos(int x, int z)
      Creates an instance of a ChunkPos record class.
      Parameters:
      x - the value for the x record component
      z - the value for the z record component
  • Method Details

    • fromBlock

      public static ChunkPos fromBlock(int blockX, int blockZ)
      Returns the position of the chunk holding the given block coordinates.
      Parameters:
      blockX - the block X coordinate
      blockZ - the block Z coordinate
      Returns:
      the position of the chunk holding the given block coordinates
      Since:
      0.1.0
    • chunkKey

      public static long chunkKey(ChunkPos pos)
      Returns the position packed into a single long, X in the high bits and Z in the low bits.
      Parameters:
      pos - the chunk position
      Returns:
      the position packed into a single long, X in the high bits and Z in the low bits
      Since:
      0.1.0
    • chunkKey

      public static long chunkKey(int chunkX, int chunkZ)
      Returns the coordinates packed into a single long, X in the high bits and Z in the low bits.
      Parameters:
      chunkX - the chunk X coordinate
      chunkZ - the chunk Z coordinate
      Returns:
      the coordinates packed into a single long, X in the high bits and Z in the low bits
      Since:
      0.1.0
    • key

      public long key()
      Returns this position packed into a single long.
      Returns:
      this position packed into a single long
      Since:
      0.1.0
      See Also:
    • fromKey

      public static ChunkPos fromKey(long key)
      Returns the position unpacked from a long built by chunkKey(int, int).
      Parameters:
      key - the packed position
      Returns:
      the position unpacked from a long built by chunkKey(int, int)
      Since:
      0.1.0
    • 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.
    • x

      public int x()
      Returns the value of the x record component.
      Returns:
      the value of the x record component
    • z

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