Interface LocationBaseDataHolder

All Known Subinterfaces:
Chunk<P>, ClientWorld, EnvironmentalVolume, GenerationChunk, GenerationRegion, InteractableVolume, LocationBaseDataHolder.Mutable, PrimitiveGameVolume, Region<R>, Schematic, ServerWorld, TrackedVolume, World<W,​L>, WorldChunk, WorldLike<P>

public interface LocationBaseDataHolder
A type of ServerLocation based value store that can handle proxied data api related queries for specific positions.
  • Method Details

    • get

      default <E> Optional<E> get(Vector3i position, Key<? extends Value<E>> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • get

      default <E> Optional<E> get(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • get

      <E> Optional<E> get(int x, int y, int z, Key<? extends Value<E>> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • get

      default <E> Optional<E> get(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getInt

      default OptionalInt getInt(Vector3i position, Key<? extends Value<Integer>> key)
      Gets the int value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getInt

      default OptionalInt getInt(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<Integer>>> key)
      Gets the int value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getInt

      default OptionalInt getInt(int x, int y, int z, Key<? extends Value<Integer>> key)
      Gets the int value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getInt

      default OptionalInt getInt(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<Integer>>> key)
      Gets the int value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getDouble

      default OptionalDouble getDouble(Vector3i position, Key<? extends Value<Double>> key)
      Gets the double value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getDouble

      default OptionalDouble getDouble(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<Double>>> key)
      Gets the double value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getDouble

      default OptionalDouble getDouble(int x, int y, int z, Key<? extends Value<Double>> key)
      Gets the double value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getDouble

      default OptionalDouble getDouble(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<Double>>> key)
      Gets the double value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getLong

      default OptionalLong getLong(Vector3i position, Key<? extends Value<Long>> key)
      Gets the long value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getLong

      default OptionalLong getLong(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<Long>>> key)
      Gets the long value of data that is keyed to the provided Key at the give block location.
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data, if available
    • getLong

      default OptionalLong getLong(int x, int y, int z, Key<? extends Value<Long>> key)
      Gets the long value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • getLong

      default OptionalLong getLong(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<Long>>> key)
      Gets the long value of data that is keyed to the provided Key at the give block location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data, if available
    • require

      default <E> E require(Vector3i position, Key<? extends Value<E>> key)
      Attempts to get the underlying value backed by a Value linked to the provided Key.

      If the Key is not supported or available, NoSuchElementException will be thrown.

      Type Parameters:
      E - The type of value
      Parameters:
      position - The position of the block
      key - The key
      Returns:
      The value
      Throws:
      NoSuchElementException - If the value is not supported or present
    • require

      default <E> E require(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Attempts to get the underlying value backed by a Value linked to the provided Key.

      If the Key is not supported or available, NoSuchElementException will be thrown.

      Type Parameters:
      E - The type of value
      Parameters:
      position - The position of the block
      key - The key
      Returns:
      The value
      Throws:
      NoSuchElementException - If the value is not supported or present
    • require

      default <E> E require(int x, int y, int z, Key<? extends Value<E>> key)
      Attempts to get the underlying value backed by a Value linked to the provided Key.

      If the Key is not supported or available, NoSuchElementException will be thrown.

      Type Parameters:
      E - The type of value
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key
      Returns:
      The value
      Throws:
      NoSuchElementException - If the value is not supported or present
    • require

      default <E> E require(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Attempts to get the underlying value backed by a Value linked to the provided Key.

      If the Key is not supported or available, NoSuchElementException will be thrown.

      Type Parameters:
      E - The type of value
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key
      Returns:
      The value
      Throws:
      NoSuchElementException - If the value is not supported or present
    • orNull

      default <E> @Nullable E orNull(Vector3i position, Key<? extends Value<E>> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data or null
    • orNull

      default <E> @Nullable E orNull(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The data or null
    • orNull

      default <E> @Nullable E orNull(int x, int y, int z, Key<? extends Value<E>> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data or null
    • orNull

      default <E> @Nullable E orNull(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The data or null
    • orElse

      default <E> E orElse(Vector3i position, Key<? extends Value<E>> key, E defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      defaultValue - The default value to be provided
      Returns:
      The data or null
    • orElse

      default <E> E orElse(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key, E defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      defaultValue - The default value to be provided
      Returns:
      The data or null
    • orElse

      default <E> E orElse(int x, int y, int z, Key<? extends Value<E>> key, E defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      defaultValue - The default value to return
      Returns:
      The data or null
    • orElse

      default <E> E orElse(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key, E defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      defaultValue - The supplier of the default value to return
      Returns:
      The data or null
    • orElse

      default <E> E orElse(Vector3i position, Key<? extends Value<E>> key, Supplier<? extends E> defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      defaultValue - The supplier of the default value to be provided
      Returns:
      The data or null
    • orElse

      default <E> E orElse(Vector3i position, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key, Supplier<? extends E> defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      position - The position of the block
      key - The key to the data
      defaultValue - The supplier of the default value to be provided
      Returns:
      The data or null
    • orElse

      default <E> E orElse(int x, int y, int z, Key<? extends Value<E>> key, Supplier<E> defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      defaultValue - The supplier of the default value to return
      Returns:
      The data or null
    • orElse

      default <E> E orElse(int x, int y, int z, DefaultedRegistryReference<? extends Key<? extends Value<E>>> key, Supplier<? extends E> defaultValue)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case the default value may be returned.
      Type Parameters:
      E - The type of element of data
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      defaultValue - The supplier of the default value to return
      Returns:
      The data or null
    • getValue

      default <E,​ V extends Value<E>> Optional<V> getValue(Vector3i position, Key<V> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      V - The type of value
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The base value, if available
    • getValue

      default <E,​ V extends Value<E>> Optional<V> getValue(Vector3i position, Supplier<? extends Key<V>> key)
      Gets the value of data that is keyed to the provided Key at the give block location. The data may not exist, or may not be compatible in which case null may be returned.
      Type Parameters:
      E - The type of element of data
      V - The type of value
      Parameters:
      position - The position of the block
      key - The key to the data
      Returns:
      The base value, if available
    • getValue

      <E,​ V extends Value<E>> Optional<V> getValue(int x, int y, int z, Key<V> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      V - The type of value
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The base value, if available
    • getValue

      default <E,​ V extends Value<E>> Optional<V> getValue(int x, int y, int z, DefaultedRegistryReference<? extends Key<V>> key)
      Gets the value of data that is keyed to the provided Key at the give block location.
      Type Parameters:
      E - The type of element of data
      V - The type of value
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      key - The key to the data
      Returns:
      The base value, if available
    • supports

      default boolean supports(Vector3i position, Key<?> key)
      Checks if the provided Key to the data is supported by the block at the provided location.
      Parameters:
      position - The position of the block
      key - The Key to the value of data
      Returns:
      True if the block supports the data
    • supports

      default boolean supports(Vector3i position, Supplier<? extends Key<?>> key)
      Checks if the provided Key to the data is supported by the block at the provided location.
      Parameters:
      position - The position of the block
      key - The Key to the value of data
      Returns:
      True if the block supports the data
    • supports

      boolean supports(int x, int y, int z, Key<?> key)
      Checks if the provided Key to the data is supported by the block at the provided location.
      Parameters:
      x - The X coordinate
      y - The Y coordinate
      z - The Z coordinate
      key - The Key to the value of data
      Returns:
      True if the block supports the data
    • supports

      default boolean supports(int x, int y, int z, Supplier<? extends Key<?>> key)
      Checks if the provided Key to the data is supported by the block at the provided location.
      Parameters:
      x - The X coordinate
      y - The Y coordinate
      z - The Z coordinate
      key - The Key to the value of data
      Returns:
      True if the block supports the data
    • supports

      default boolean supports(Vector3i position, Value<?> value)
      Checks if the provided Value is supported by the block at the provided location.
      Parameters:
      position - The position of the block
      value - The value of data
      Returns:
      True if the block supports the data
    • supports

      default boolean supports(int x, int y, int z, Value<?> value)
      Checks if the provided Value is supported by the block at the provided location.
      Parameters:
      x - The X coordinate
      y - The Y coordinate
      z - The Z coordinate
      value - The value of data
      Returns:
      True if the block supports the data
    • keys

      default Set<Key<?>> keys(Vector3i position)
      Gets an ImmutableSet of Keys for the block at the given location.
      Parameters:
      position - The position of the block
      Returns:
      The immutable set of values for the block
    • keys

      Set<Key<?>> keys(int x, int y, int z)
      Gets an ImmutableSet of Keys for the block at the given location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      Returns:
      The immutable set of values for the block
    • getValues

      default Set<Value.Immutable<?>> getValues(Vector3i position)
      Gets an ImmutableSet of Value.Immutables for the block at the given location.
      Parameters:
      position - The position of the block
      Returns:
      The immutable set of values for the block
    • getValues

      Set<Value.Immutable<?>> getValues(int x, int y, int z)
      Gets an ImmutableSet of Value.Immutables for the block at the given location.
      Parameters:
      x - The X position
      y - The Y position
      z - The Z position
      Returns:
      The immutable set of values for the block