CollectionTag.java

net.minecraft.nbt.CollectionTag

信息

  • 全限定名:net.minecraft.nbt.CollectionTag
  • 类型:public sealed interface
  • 包:net.minecraft.nbt
  • 源码路径:src/main/java/net/minecraft/nbt/CollectionTag.java
  • 起始行号:L9
  • 继承:Tag, Iterable
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

void clear() @ L10

  • 方法名:clear
  • 源码定位:L10
  • 返回类型:void
  • 修饰符:package-private

参数:

说明:

TODO

boolean setTag(int index, Tag tag) @ L12

  • 方法名:setTag
  • 源码定位:L12
  • 返回类型:boolean
  • 修饰符:package-private

参数:

  • index: int
  • tag: Tag

说明:

TODO

boolean addTag(int index, Tag tag) @ L14

  • 方法名:addTag
  • 源码定位:L14
  • 返回类型:boolean
  • 修饰符:package-private

参数:

  • index: int
  • tag: Tag

说明:

TODO

Tag remove(int index) @ L16

  • 方法名:remove
  • 源码定位:L16
  • 返回类型:Tag
  • 修饰符:package-private

参数:

  • index: int

说明:

TODO

Tag get(int index) @ L18

  • 方法名:get
  • 源码定位:L18
  • 返回类型:Tag
  • 修饰符:package-private

参数:

  • index: int

说明:

TODO

int size() @ L20

  • 方法名:size
  • 源码定位:L20
  • 返回类型:int
  • 修饰符:package-private

参数:

说明:

TODO

default boolean isEmpty() @ L22

  • 方法名:isEmpty
  • 源码定位:L22
  • 返回类型:boolean
  • 修饰符:default

参数:

说明:

TODO

default Iterator<Tag> iterator() @ L26

  • 方法名:iterator
  • 源码定位:L26
  • 返回类型:Iterator
  • 修饰符:default

参数:

说明:

TODO

default Stream<Tag> stream() @ L50

  • 方法名:stream
  • 源码定位:L50
  • 返回类型:Stream
  • 修饰符:default

参数:

说明:

TODO

代码

public sealed interface CollectionTag extends Tag, Iterable<Tag> permits ListTag, ByteArrayTag, IntArrayTag, LongArrayTag {
    void clear();
 
    boolean setTag(int index, Tag tag);
 
    boolean addTag(int index, Tag tag);
 
    Tag remove(int index);
 
    Tag get(int index);
 
    int size();
 
    default boolean isEmpty() {
        return this.size() == 0;
    }
 
    @Override
    default Iterator<Tag> iterator() {
        return new Iterator<Tag>() {
            private int index;
 
            {
                Objects.requireNonNull(CollectionTag.this);
            }
 
            @Override
            public boolean hasNext() {
                return this.index < CollectionTag.this.size();
            }
 
            public Tag next() {
                if (!this.hasNext()) {
                    throw new NoSuchElementException();
                } else {
                    return CollectionTag.this.get(this.index++);
                }
            }
        };
    }
 
    default Stream<Tag> stream() {
        return StreamSupport.stream(this.spliterator(), false);
    }
}

引用的其他类

  • Tag
    • 引用位置: 参数/继承/返回值