Interface ListBinaryTag

All Superinterfaces:
BinaryTag, BinaryTagLike, net.kyori.examination.Examinable, Iterable<BinaryTag>, ListTagSetter<ListBinaryTag,​BinaryTag>

public interface ListBinaryTag
extends ListTagSetter<ListBinaryTag,​BinaryTag>, BinaryTag, Iterable<BinaryTag>
A list of zero or more values of a single tag type.
Since:
4.0.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static interface  ListBinaryTag.Builder<T extends BinaryTag>
    A list tag builder.
  • Method Summary

    Modifier and Type Method Description
    static @NotNull ListBinaryTag.Builder<BinaryTag> builder()
    Creates a builder.
    static <T extends BinaryTag>
    @NotNull ListBinaryTag.Builder<T>
    builder​(@NotNull BinaryTagType<T> type)
    Creates a builder.
    @NotNull BinaryTagType<? extends BinaryTag> elementType()
    Gets the type of element stored in this list.
    static @NotNull ListBinaryTag empty()
    Gets an empty list tag.
    static @NotNull ListBinaryTag from​(@NotNull Iterable<? extends BinaryTag> tags)
    Creates a list tag from tags.
    @NotNull BinaryTag get​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a tag.
    default byte getByte​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a byte.
    default byte getByte​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, byte defaultValue)
    Gets a byte.
    default byte @NotNull [] getByteArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets an array of bytes.
    default byte @NotNull [] getByteArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, byte @NotNull [] defaultValue)
    Gets an array of bytes.
    default @NotNull CompoundBinaryTag getCompound​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a compound.
    default @NotNull CompoundBinaryTag getCompound​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull CompoundBinaryTag defaultValue)
    Gets a compound.
    default double getDouble​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a double.
    default double getDouble​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, double defaultValue)
    Gets a double.
    default float getFloat​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a float.
    default float getFloat​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, float defaultValue)
    Gets a float.
    default int getInt​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets an int.
    default int getInt​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, int defaultValue)
    Gets an int.
    default int @NotNull [] getIntArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets an array of ints.
    default int @NotNull [] getIntArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, int @NotNull [] defaultValue)
    Gets an array of ints.
    default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a list.
    default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull ListBinaryTag defaultValue)
    Gets a list.
    default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @Nullable BinaryTagType<?> elementType)
    Gets a list.
    default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @Nullable BinaryTagType<?> elementType, @NotNull ListBinaryTag defaultValue)
    Gets a list.
    default long getLong​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a long.
    default long getLong​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, long defaultValue)
    Gets a long.
    default long @NotNull [] getLongArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets an array of longs.
    default long @NotNull [] getLongArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, long @NotNull [] defaultValue)
    Gets an array of longs.
    default short getShort​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a short.
    default short getShort​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, short defaultValue)
    Gets a short.
    default @NotNull String getString​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
    Gets a string.
    default @NotNull String getString​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull String defaultValue)
    Gets a string.
    default @NotNull BinaryTagType<? extends BinaryTag> listType()
    Deprecated.
    since 4.4.0, use elementType() instead
    static @NotNull ListBinaryTag of​(@NotNull BinaryTagType<? extends BinaryTag> type, @NotNull List<BinaryTag> tags)
    Creates a tag.
    @NotNull ListBinaryTag remove​(int index, @Nullable Consumer<? super BinaryTag> removed)
    Removes the tag at index index, optionally providing removedConsumer with the tag previously at index index.
    @NotNull ListBinaryTag set​(int index, @NotNull BinaryTag tag, @Nullable Consumer<? super BinaryTag> removed)
    Sets the tag at index index to tag, optionally providing removedConsumer with the tag previously at index index.
    int size()
    Gets the size.
    @NotNull Stream<BinaryTag> stream()
    Creates a stream of the tags contained within this list.
    default @NotNull BinaryTagType<ListBinaryTag> type()
    Gets the tag type.

    Methods inherited from interface net.kyori.adventure.nbt.BinaryTag

    asBinaryTag

    Methods inherited from interface net.kyori.examination.Examinable

    examinableName, examinableProperties, examine

    Methods inherited from interface java.lang.Iterable

    forEach, iterator, spliterator

    Methods inherited from interface net.kyori.adventure.nbt.ListTagSetter

    add, add
  • Method Details

    • empty

      @NotNull static @NotNull ListBinaryTag empty()
      Gets an empty list tag.
      Returns:
      an empty tag
      Since:
      4.0.0
    • from

      @NotNull static @NotNull ListBinaryTag from​(@NotNull @NotNull Iterable<? extends BinaryTag> tags)
      Creates a list tag from tags.

      The element type of the returned list tag is determined from tags.

      Returns:
      a list tag
      Throws:
      IllegalArgumentException - if tags has different tag types within
      Since:
      4.4.0
    • builder

      @NotNull static @NotNull ListBinaryTag.Builder<BinaryTag> builder()
      Creates a builder.
      Returns:
      a new builder
      Since:
      4.0.0
    • builder

      @NotNull static <T extends BinaryTag> @NotNull ListBinaryTag.Builder<T> builder​(@NotNull @NotNull BinaryTagType<T> type)
      Creates a builder.
      Type Parameters:
      T - the element type
      Parameters:
      type - the element type
      Returns:
      a new builder
      Throws:
      IllegalArgumentException - if type is BinaryTagTypes.END
      Since:
      4.0.0
    • of

      @NotNull static @NotNull ListBinaryTag of​(@NotNull @NotNull BinaryTagType<? extends BinaryTag> type, @NotNull @NotNull List<BinaryTag> tags)
      Creates a tag.

      If tags is empty, empty() will be returned.

      Parameters:
      type - the element type
      tags - the elements
      Returns:
      a tag
      Throws:
      IllegalArgumentException - if type is BinaryTagTypes.END
      Since:
      4.0.0
    • type

      @NotNull default @NotNull BinaryTagType<ListBinaryTag> type()
      Description copied from interface: BinaryTag
      Gets the tag type.
      Specified by:
      type in interface BinaryTag
      Returns:
      the tag type
    • listType

      @Deprecated @NotNull default @NotNull BinaryTagType<? extends BinaryTag> listType()
      Deprecated.
      since 4.4.0, use elementType() instead
      Gets the type of element stored in this list.
      Returns:
      the type
      Since:
      4.0.0
    • elementType

      @NotNull @NotNull BinaryTagType<? extends BinaryTag> elementType()
      Gets the type of element stored in this list.
      Returns:
      the type
      Since:
      4.4.0
    • size

      int size()
      Gets the size.
      Returns:
      the size
      Since:
      4.0.0
    • get

      @NotNull @NotNull BinaryTag get​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a tag.
      Parameters:
      index - the index
      Returns:
      the tag
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      Since:
      4.0.0
    • set

      @NotNull @NotNull ListBinaryTag set​(int index, @NotNull @NotNull BinaryTag tag, @Nullable @Nullable Consumer<? super BinaryTag> removed)
      Sets the tag at index index to tag, optionally providing removedConsumer with the tag previously at index index.
      Parameters:
      index - the index
      tag - the tag
      removed - a consumer which receives the tag being removed at index index
      Returns:
      a list tag
      Since:
      4.0.0
    • remove

      @NotNull @NotNull ListBinaryTag remove​(int index, @Nullable @Nullable Consumer<? super BinaryTag> removed)
      Removes the tag at index index, optionally providing removedConsumer with the tag previously at index index.
      Parameters:
      index - the index
      removed - a consumer which receives the tag being removed at index index
      Returns:
      a list tag
      Since:
      4.0.0
    • getByte

      default byte getByte​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a byte.
      Parameters:
      index - the index
      Returns:
      the byte value, or 0
      Since:
      4.0.0
    • getByte

      default byte getByte​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, byte defaultValue)
      Gets a byte.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the byte value, or defaultValue
      Since:
      4.0.0
    • getShort

      default short getShort​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a short.
      Parameters:
      index - the index
      Returns:
      the short value, or 0
      Since:
      4.0.0
    • getShort

      default short getShort​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, short defaultValue)
      Gets a short.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the short value, or defaultValue
      Since:
      4.0.0
    • getInt

      default int getInt​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets an int.
      Parameters:
      index - the index
      Returns:
      the int value, or 0
      Since:
      4.0.0
    • getInt

      default int getInt​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, int defaultValue)
      Gets an int.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the int value, or defaultValue
      Since:
      4.0.0
    • getLong

      default long getLong​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a long.
      Parameters:
      index - the index
      Returns:
      the long value, or 0
      Since:
      4.0.0
    • getLong

      default long getLong​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, long defaultValue)
      Gets a long.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the long value, or defaultValue
      Since:
      4.0.0
    • getFloat

      default float getFloat​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a float.
      Parameters:
      index - the index
      Returns:
      the float value, or 0
      Since:
      4.0.0
    • getFloat

      default float getFloat​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, float defaultValue)
      Gets a float.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the float value, or defaultValue
      Since:
      4.0.0
    • getDouble

      default double getDouble​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a double.
      Parameters:
      index - the index
      Returns:
      the double value, or 0
      Since:
      4.0.0
    • getDouble

      default double getDouble​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, double defaultValue)
      Gets a double.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the double value, or defaultValue
      Since:
      4.0.0
    • getByteArray

      default byte @NotNull [] getByteArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets an array of bytes.
      Parameters:
      index - the index
      Returns:
      the array of bytes, or a zero-length array
      Since:
      4.0.0
    • getByteArray

      default byte @NotNull [] getByteArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, byte @NotNull [] defaultValue)
      Gets an array of bytes.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the array of bytes, or defaultValue
      Since:
      4.0.0
    • getString

      @NotNull default @NotNull String getString​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a string.
      Parameters:
      index - the index
      Returns:
      the string value, or ""
      Since:
      4.0.0
    • getString

      @NotNull default @NotNull String getString​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull @NotNull String defaultValue)
      Gets a string.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the string value, or defaultValue
      Since:
      4.0.0
    • getList

      @NotNull default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a list.
      Parameters:
      index - the index
      Returns:
      the list, or an empty list if the tag at index index is not a list tag
      Since:
      4.4.0
    • getList

      @NotNull default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @Nullable @Nullable BinaryTagType<?> elementType)
      Gets a list.
      Parameters:
      index - the index
      elementType - the expected element type of the list at index index
      Returns:
      the list, or an empty list if the tag at index index is not a list tag, or if the list tag's element type is not elementType
      Since:
      4.4.0
    • getList

      @NotNull default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull @NotNull ListBinaryTag defaultValue)
      Gets a list.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the list, or defaultValue if the tag at index index is not a list tag
      Since:
      4.4.0
    • getList

      @NotNull default @NotNull ListBinaryTag getList​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @Nullable @Nullable BinaryTagType<?> elementType, @NotNull @NotNull ListBinaryTag defaultValue)
      Gets a list.

      If elementType is non-null and the ListBinaryTag at index index does not match, defaultValue will be returned.

      Parameters:
      index - the index
      elementType - the expected element type of the list at index index
      defaultValue - the default value
      Returns:
      the list, or defaultValue if the tag at index index is not a list tag, or if the list tag's element type is not elementType
      Since:
      4.4.0
    • getCompound

      @NotNull default @NotNull CompoundBinaryTag getCompound​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets a compound.
      Parameters:
      index - the index
      Returns:
      the compound, or a new compound
      Since:
      4.0.0
    • getCompound

      @NotNull default @NotNull CompoundBinaryTag getCompound​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, @NotNull @NotNull CompoundBinaryTag defaultValue)
      Gets a compound.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the compound, or defaultValue
      Since:
      4.0.0
    • getIntArray

      default int @NotNull [] getIntArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets an array of ints.
      Parameters:
      index - the index
      Returns:
      the array of ints, or a zero-length array
      Since:
      4.0.0
    • getIntArray

      default int @NotNull [] getIntArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, int @NotNull [] defaultValue)
      Gets an array of ints.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the array of ints, or defaultValue
      Since:
      4.0.0
    • getLongArray

      default long @NotNull [] getLongArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index)
      Gets an array of longs.
      Parameters:
      index - the index
      Returns:
      the array of longs, or a zero-length array
      Since:
      4.0.0
    • getLongArray

      default long @NotNull [] getLongArray​(@org.jetbrains.annotations.Range(from=0L, to=2147483647L) int index, long @NotNull [] defaultValue)
      Gets an array of longs.
      Parameters:
      index - the index
      defaultValue - the default value
      Returns:
      the array of longs, or defaultValue
      Since:
      4.0.0
    • stream

      @NotNull @NotNull Stream<BinaryTag> stream()
      Creates a stream of the tags contained within this list.
      Returns:
      a new stream
      Since:
      4.2.0