Interface Position

All Known Subinterfaces:
BlockPosition, FinePosition
All Known Implementing Classes:
Location

@Experimental public interface Position
Common interface for FinePosition and BlockPosition.

May see breaking changes until Experimental annotation is removed.

  • Field Details

  • Method Details

    • blockX

      int blockX()
      Gets the block x value for this position
      Returns:
      the block x value
    • blockY

      int blockY()
      Gets the block x value for this position
      Returns:
      the block x value
    • blockZ

      int blockZ()
      Gets the block x value for this position
      Returns:
      the block x value
    • x

      double x()
      Gets the x value for this position
      Returns:
      the x value
    • y

      double y()
      Gets the y value for this position
      Returns:
      the y value
    • z

      double z()
      Gets the z value for this position
      Returns:
      the z value
    • isBlock

      boolean isBlock()
      Checks of this position represents a BlockPosition
      Returns:
      true if block
    • isFine

      boolean isFine()
      Checks if this position represents a FinePosition
      Returns:
      true if fine
    • offset

      @NotNull @NotNull Position offset(int x, int y, int z)
      Returns a position offset by the specified amounts.
      Parameters:
      x - x value to offset
      y - y value to offset
      z - z value to offset
      Returns:
      the offset position
    • offset

      @NotNull @NotNull FinePosition offset(double x, double y, double z)
      Returns a position offset by the specified amounts.
      Parameters:
      x - x value to offset
      y - y value to offset
      z - z value to offset
      Returns:
      the offset position
    • toCenter

      @Contract(value="-> new", pure=true) @NotNull default @NotNull FinePosition toCenter()
      Returns a new position at the center of the block position this represents
      Returns:
      a new center position
    • toBlock

      Returns the block position of this position or itself if it already is a block position
      Returns:
      the block position
    • toVector

      @Contract(value="-> new", pure=true) @NotNull default @NotNull Vector toVector()
      Converts this position to a vector
      Returns:
      a new vector
    • toLocation

      @Contract(value="_ -> new", pure=true) @NotNull default @NotNull Location toLocation(@NotNull @NotNull World world)
      Creates a new location object at this position with the specified world
      Parameters:
      world - the world for the location object
      Returns:
      a new location
    • block

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull BlockPosition block(int x, int y, int z)
      Creates a position at the coordinates
      Parameters:
      x - x coord
      y - y coord
      z - z coord
      Returns:
      a position with those coords
    • block

      @Contract(value="_ -> new", pure=true) @NotNull static @NotNull BlockPosition block(@NotNull @NotNull Location location)
      Creates a position from the location.
      Parameters:
      location - the location to copy the position of
      Returns:
      a new position at that location
    • fine

      @Contract(value="_, _, _ -> new", pure=true) @NotNull static @NotNull FinePosition fine(double x, double y, double z)
      Creates a position at the coordinates
      Parameters:
      x - x coord
      y - y coord
      z - z coord
      Returns:
      a position with those coords
    • fine

      @Contract(value="_ -> new", pure=true) @NotNull static @NotNull FinePosition fine(@NotNull @NotNull Location location)
      Creates a position from the location.
      Parameters:
      location - the location to copy the position of
      Returns:
      a new position at that location