Interface LocationBaseDataHolder

    • Method Detail

      • 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​(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

        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