Interface Location<W extends World<W,L>,L extends Location<W,L>>

All Known Subinterfaces:
ClientLocation, ServerLocation

public interface Location<W extends World<W,L>,L extends Location<W,L>>
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    add(double x, double y, double z)
    Add vector components to the position on this instance, returning a new Location instance.
    Add another Vector3d to the position on this instance, returning a new Location instance.
    Add another Vector3i to the position on this instance, returning a new Location instance.
    Gets the block at this location.
    Gets the underlying biome position.
    Gets the BlockState for this location.
    Gets the associated BlockEntity on this block.
    Gets the underlying block position.
    default BlockType
    Gets the BlockType for this location.
    int
    Gets the floored X component of this instance's position.
    int
    Gets the floored Y component of this instance's position.
    int
    Gets the floored Z component of this instance's position.
    Gets the underlying chunk position.
    Gets the FluidState for this location.
    boolean
    Returns true if this location has a block at its blockPosition().
    boolean
    Checks for whether the block at this location contains block entity data.
    boolean
    inWorld(W world)
    Returns true if this location is in the given world.
    boolean
    Gets whether this location is available.
    boolean
    Gets whether this location is valid.
     
    Gets the underlying position.
    relativeTo(Direction direction)
    Gets the location next to this one in the given direction.
    Gets the location next to this one in the given direction.
    boolean
    Replace the block at this location with a new state.
    boolean
    Replace the block at this location with a new state.
    boolean
    Replace the block type at this location by a new type.
    boolean
    Replace the block type at this location by a new type.
    sub(double x, double y, double z)
    Subtract vector components to the position on this instance, returning a new Location instance.
    Subtract another Vector3d to the position on this instance, returning a new Location instance.
    Subtract another Vector3i to the position on this instance, returning a new Location instance.
    Create a new instance with a new block position.
    Create a new instance with a new position.
    withWorld(W world)
    Create a new instance with a new World.
    Gets the underlying world.
    Gets the underlying World if it's available.
    double
    x()
    Gets the X component of this instance's position.
    double
    y()
    Gets the Y component of this instance's position.
    double
    z()
    Gets the Z component of this instance's position.
  • Method Details Link icon

    • world Link icon

      W world()
      Gets the underlying world. Throws a IllegalStateException if the world isn't available.
      Returns:
      The underlying world
      See Also:
    • worldIfAvailable Link icon

      Optional<W> worldIfAvailable()
      Gets the underlying World if it's available. A World is available when it exists and is loaded.
      Returns:
      The underlying world, if available
      See Also:
    • isAvailable Link icon

      boolean isAvailable()
      Gets whether this location is available. A location is available when the target World exists and is loaded.
      Returns:
      Whether the location is available
    • isValid Link icon

      boolean isValid()
      Gets whether this location is valid. A location is valid when the target World exists, this can be loaded or unloaded.
      Returns:
      Whether the location is valid
    • position Link icon

      Vector3d position()
      Gets the underlying position.
      Returns:
      The underlying position
    • blockPosition Link icon

      Vector3i blockPosition()
      Gets the underlying block position.
      Returns:
      The underlying block position
    • chunkPosition Link icon

      Vector3i chunkPosition()
      Gets the underlying chunk position.
      Returns:
      The underlying chunk position
    • biomePosition Link icon

      Vector3i biomePosition()
      Gets the underlying biome position.
      Returns:
      The underlying biome position
    • x Link icon

      double x()
      Gets the X component of this instance's position.
      Returns:
      The x component
    • y Link icon

      double y()
      Gets the Y component of this instance's position.
      Returns:
      The y component
    • z Link icon

      double z()
      Gets the Z component of this instance's position.
      Returns:
      The z component
    • blockX Link icon

      int blockX()
      Gets the floored X component of this instance's position.
      Returns:
      The floored x component
    • blockY Link icon

      int blockY()
      Gets the floored Y component of this instance's position.
      Returns:
      The floored y component
    • blockZ Link icon

      int blockZ()
      Gets the floored Z component of this instance's position.
      Returns:
      The floored z component
    • onServer Link icon

      default Optional<ServerLocation> onServer()
    • inWorld Link icon

      boolean inWorld(W world)
      Returns true if this location is in the given world. This is implemented as an Object.equals(Object) check.
      Parameters:
      world - The world to check
      Returns:
      Whether this location is in the world
    • withWorld Link icon

      L withWorld(W world)
      Create a new instance with a new World.
      Parameters:
      world - The new world
      Returns:
      A new instance
    • withPosition Link icon

      L withPosition(Vector3d position)
      Create a new instance with a new position.
      Parameters:
      position - The new position
      Returns:
      A new instance
    • withBlockPosition Link icon

      L withBlockPosition(Vector3i position)
      Create a new instance with a new block position.
      Parameters:
      position - The new position
      Returns:
      A new instance
    • sub Link icon

      L sub(Vector3d v)
      Subtract another Vector3d to the position on this instance, returning a new Location instance.
      Parameters:
      v - The vector to subtract
      Returns:
      A new instance
    • sub Link icon

      L sub(Vector3i v)
      Subtract another Vector3i to the position on this instance, returning a new Location instance.
      Parameters:
      v - The vector to subtract
      Returns:
      A new instance
    • sub Link icon

      L sub(double x, double y, double z)
      Subtract vector components to the position on this instance, returning a new Location instance.
      Parameters:
      x - The x component
      y - The y component
      z - The z component
      Returns:
      A new instance
    • add Link icon

      L add(Vector3d v)
      Add another Vector3d to the position on this instance, returning a new Location instance.
      Parameters:
      v - The vector to add
      Returns:
      A new instance
    • add Link icon

      L add(Vector3i v)
      Add another Vector3i to the position on this instance, returning a new Location instance.
      Parameters:
      v - The vector to add
      Returns:
      A new instance
    • add Link icon

      L add(double x, double y, double z)
      Add vector components to the position on this instance, returning a new Location instance.
      Parameters:
      x - The x component
      y - The y component
      z - The z component
      Returns:
      A new instance
    • relativeTo Link icon

      L relativeTo(Direction direction)
      Gets the location next to this one in the given direction. Always moves by a unit amount, even diagonally.
      Parameters:
      direction - The direction to move in
      Returns:
      The location in that direction
    • relativeToBlock Link icon

      L relativeToBlock(Direction direction)
      Gets the location next to this one in the given direction. Always moves by a block amount, even diagonally.

      Direction.Division.SECONDARY_ORDINAL directions are not a valid argument. These will throw an exception.

      Parameters:
      direction - The direction to move in
      Returns:
      The location in that direction
      Throws:
      IllegalArgumentException - If the direction is a Direction.Division.SECONDARY_ORDINAL
    • biome Link icon

      Biome biome()
      Gets the block at this location.
      Returns:
      The biome at this location
    • hasBlock Link icon

      boolean hasBlock()
      Returns true if this location has a block at its blockPosition().
      Returns:
      Whether or not there is a block at this location.
    • block Link icon

      BlockState block()
      Gets the BlockState for this location.
      Returns:
      The block state
    • blockType Link icon

      default BlockType blockType()
      Gets the BlockType for this location.
      Returns:
      The block type
    • fluid Link icon

      FluidState fluid()
      Gets the FluidState for this location.
      Returns:
      The fluid state
    • hasBlockEntity Link icon

      boolean hasBlockEntity()
      Checks for whether the block at this location contains block entity data.
      Returns:
      True if the block at this location has block entity data, false otherwise
    • blockEntity Link icon

      Optional<? extends BlockEntity> blockEntity()
      Gets the associated BlockEntity on this block.
      Returns:
      The associated block entity, if available
    • setBlock Link icon

      boolean setBlock(BlockState state)
      Replace the block at this location with a new state.

      This will remove any extended block data at the given position.

      Parameters:
      state - The new block state
      Returns:
      True if the block change was successful
    • setBlock Link icon

      boolean setBlock(BlockState state, BlockChangeFlag flag)
      Replace the block at this location with a new state.

      This will remove any extended block data at the given position.

      Parameters:
      state - The new block state
      flag - The various change flags controlling some interactions
      Returns:
      True if the block change was successful
    • setBlockType Link icon

      boolean setBlockType(BlockType type)
      Replace the block type at this location by a new type.

      This will remove any extended block data at the given position.

      Parameters:
      type - The new type
      Returns:
      True if the block change was successful
    • setBlockType Link icon

      boolean setBlockType(BlockType type, BlockChangeFlag flag)
      Replace the block type at this location by a new type.

      This will remove any extended block data at the given position.

      Parameters:
      type - The new type
      flag - The various change flags controlling some interactions
      Returns:
      True if the block change was successful