Tag.java
net.minecraft.nbt.Tag
信息
- 全限定名:net.minecraft.nbt.Tag
- 类型:public sealed interface
- 包:net.minecraft.nbt
- 源码路径:src/main/java/net/minecraft/nbt/Tag.java
- 起始行号:L7
- 职责:
TODO
字段/常量
-
OBJECT_HEADER- 类型:
int - 修饰符:
package-private - 源码定位:
L8 - 说明:
TODO
- 类型:
-
ARRAY_HEADER- 类型:
int - 修饰符:
package-private - 源码定位:
L9 - 说明:
TODO
- 类型:
-
OBJECT_REFERENCE- 类型:
int - 修饰符:
package-private - 源码定位:
L10 - 说明:
TODO
- 类型:
-
STRING_SIZE- 类型:
int - 修饰符:
package-private - 源码定位:
L11 - 说明:
TODO
- 类型:
-
TAG_END- 类型:
byte - 修饰符:
package-private - 源码定位:
L12 - 说明:
TODO
- 类型:
-
TAG_BYTE- 类型:
byte - 修饰符:
package-private - 源码定位:
L13 - 说明:
TODO
- 类型:
-
TAG_SHORT- 类型:
byte - 修饰符:
package-private - 源码定位:
L14 - 说明:
TODO
- 类型:
-
TAG_INT- 类型:
byte - 修饰符:
package-private - 源码定位:
L15 - 说明:
TODO
- 类型:
-
TAG_LONG- 类型:
byte - 修饰符:
package-private - 源码定位:
L16 - 说明:
TODO
- 类型:
-
TAG_FLOAT- 类型:
byte - 修饰符:
package-private - 源码定位:
L17 - 说明:
TODO
- 类型:
-
TAG_DOUBLE- 类型:
byte - 修饰符:
package-private - 源码定位:
L18 - 说明:
TODO
- 类型:
-
TAG_BYTE_ARRAY- 类型:
byte - 修饰符:
package-private - 源码定位:
L19 - 说明:
TODO
- 类型:
-
TAG_STRING- 类型:
byte - 修饰符:
package-private - 源码定位:
L20 - 说明:
TODO
- 类型:
-
TAG_LIST- 类型:
byte - 修饰符:
package-private - 源码定位:
L21 - 说明:
TODO
- 类型:
-
TAG_COMPOUND- 类型:
byte - 修饰符:
package-private - 源码定位:
L22 - 说明:
TODO
- 类型:
-
TAG_INT_ARRAY- 类型:
byte - 修饰符:
package-private - 源码定位:
L23 - 说明:
TODO
- 类型:
-
TAG_LONG_ARRAY- 类型:
byte - 修饰符:
package-private - 源码定位:
L24 - 说明:
TODO
- 类型:
-
MAX_DEPTH- 类型:
int - 修饰符:
package-private - 源码定位:
L25 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
void write(DataOutput output) @ L27
- 方法名:write
- 源码定位:L27
- 返回类型:void
- 修饰符:package-private
参数:
- output: DataOutput
说明:
TODO
String toString() @ L29
- 方法名:toString
- 源码定位:L29
- 返回类型:String
- 修饰符:package-private
参数:
- 无
说明:
TODO
byte getId() @ L32
- 方法名:getId
- 源码定位:L32
- 返回类型:byte
- 修饰符:package-private
参数:
- 无
说明:
TODO
TagType<?> getType() @ L34
- 方法名:getType
- 源码定位:L34
- 返回类型:TagType<?>
- 修饰符:package-private
参数:
- 无
说明:
TODO
Tag copy() @ L36
- 方法名:copy
- 源码定位:L36
- 返回类型:Tag
- 修饰符:package-private
参数:
- 无
说明:
TODO
int sizeInBytes() @ L38
- 方法名:sizeInBytes
- 源码定位:L38
- 返回类型:int
- 修饰符:package-private
参数:
- 无
说明:
TODO
void accept(TagVisitor visitor) @ L40
- 方法名:accept
- 源码定位:L40
- 返回类型:void
- 修饰符:package-private
参数:
- visitor: TagVisitor
说明:
TODO
StreamTagVisitor.ValueResult accept(StreamTagVisitor visitor) @ L42
- 方法名:accept
- 源码定位:L42
- 返回类型:StreamTagVisitor.ValueResult
- 修饰符:package-private
参数:
- visitor: StreamTagVisitor
说明:
TODO
default void acceptAsRoot(StreamTagVisitor output) @ L44
- 方法名:acceptAsRoot
- 源码定位:L44
- 返回类型:void
- 修饰符:default
参数:
- output: StreamTagVisitor
说明:
TODO
default Optional<String> asString() @ L51
- 方法名:asString
- 源码定位:L51
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Number> asNumber() @ L55
- 方法名:asNumber
- 源码定位:L55
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Byte> asByte() @ L59
- 方法名:asByte
- 源码定位:L59
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Short> asShort() @ L63
- 方法名:asShort
- 源码定位:L63
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Integer> asInt() @ L67
- 方法名:asInt
- 源码定位:L67
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Long> asLong() @ L71
- 方法名:asLong
- 源码定位:L71
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Float> asFloat() @ L75
- 方法名:asFloat
- 源码定位:L75
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Double> asDouble() @ L79
- 方法名:asDouble
- 源码定位:L79
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<Boolean> asBoolean() @ L83
- 方法名:asBoolean
- 源码定位:L83
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<byte[]> asByteArray() @ L87
- 方法名:asByteArray
- 源码定位:L87
- 返回类型:Optional<byte[]>
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<int[]> asIntArray() @ L91
- 方法名:asIntArray
- 源码定位:L91
- 返回类型:Optional<int[]>
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<long[]> asLongArray() @ L95
- 方法名:asLongArray
- 源码定位:L95
- 返回类型:Optional<long[]>
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<CompoundTag> asCompound() @ L99
- 方法名:asCompound
- 源码定位:L99
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
default Optional<ListTag> asList() @ L103
- 方法名:asList
- 源码定位:L103
- 返回类型:Optional
- 修饰符:default
参数:
- 无
说明:
TODO
代码
public sealed interface Tag permits CompoundTag, CollectionTag, PrimitiveTag, EndTag {
int OBJECT_HEADER = 8;
int ARRAY_HEADER = 12;
int OBJECT_REFERENCE = 4;
int STRING_SIZE = 28;
byte TAG_END = 0;
byte TAG_BYTE = 1;
byte TAG_SHORT = 2;
byte TAG_INT = 3;
byte TAG_LONG = 4;
byte TAG_FLOAT = 5;
byte TAG_DOUBLE = 6;
byte TAG_BYTE_ARRAY = 7;
byte TAG_STRING = 8;
byte TAG_LIST = 9;
byte TAG_COMPOUND = 10;
byte TAG_INT_ARRAY = 11;
byte TAG_LONG_ARRAY = 12;
int MAX_DEPTH = 512;
void write(DataOutput output) throws IOException;
@Override
String toString();
byte getId();
TagType<?> getType();
Tag copy();
int sizeInBytes();
void accept(TagVisitor visitor);
StreamTagVisitor.ValueResult accept(StreamTagVisitor visitor);
default void acceptAsRoot(StreamTagVisitor output) {
StreamTagVisitor.ValueResult entryResult = output.visitRootEntry(this.getType());
if (entryResult == StreamTagVisitor.ValueResult.CONTINUE) {
this.accept(output);
}
}
default Optional<String> asString() {
return Optional.empty();
}
default Optional<Number> asNumber() {
return Optional.empty();
}
default Optional<Byte> asByte() {
return this.asNumber().map(Number::byteValue);
}
default Optional<Short> asShort() {
return this.asNumber().map(Number::shortValue);
}
default Optional<Integer> asInt() {
return this.asNumber().map(Number::intValue);
}
default Optional<Long> asLong() {
return this.asNumber().map(Number::longValue);
}
default Optional<Float> asFloat() {
return this.asNumber().map(Number::floatValue);
}
default Optional<Double> asDouble() {
return this.asNumber().map(Number::doubleValue);
}
default Optional<Boolean> asBoolean() {
return this.asByte().map(b -> b != 0);
}
default Optional<byte[]> asByteArray() {
return Optional.empty();
}
default Optional<int[]> asIntArray() {
return Optional.empty();
}
default Optional<long[]> asLongArray() {
return Optional.empty();
}
default Optional<CompoundTag> asCompound() {
return Optional.empty();
}
default Optional<ListTag> asList() {
return Optional.empty();
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置: