NbtOps.java
net.minecraft.nbt.NbtOps
信息
- 全限定名:net.minecraft.nbt.NbtOps
- 类型:public class
- 包:net.minecraft.nbt
- 源码路径:src/main/java/net/minecraft/nbt/NbtOps.java
- 起始行号:L29
- 实现:DynamicOps
- 职责:
TODO
字段/常量
INSTANCE- 类型:
NbtOps - 修饰符:
public static final - 源码定位:
L30 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.nbt.NbtOps.ByteListCollector- 类型:
class - 修饰符:
private static - 源码定位:
L388 - 说明:
TODO
- 类型:
-
net.minecraft.nbt.NbtOps.GenericListCollector- 类型:
class - 修饰符:
private static - 源码定位:
L411 - 说明:
TODO
- 类型:
-
net.minecraft.nbt.NbtOps.IntListCollector- 类型:
class - 修饰符:
private static - 源码定位:
L445 - 说明:
TODO
- 类型:
-
net.minecraft.nbt.NbtOps.ListCollector- 类型:
interface - 修饰符:
private - 源码定位:
L468 - 说明:
TODO
- 类型:
-
net.minecraft.nbt.NbtOps.LongListCollector- 类型:
class - 修饰符:
private static - 源码定位:
L484 - 说明:
TODO
- 类型:
-
net.minecraft.nbt.NbtOps.NbtRecordBuilder- 类型:
class - 修饰符:
private - 源码定位:
L507 - 说明:
TODO
- 类型:
构造器
private NbtOps() @ L32
- 构造器名:NbtOps
- 源码定位:L32
- 修饰符:private
参数:
- 无
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Tag empty() @ L35
- 方法名:empty
- 源码定位:L35
- 返回类型:Tag
- 修饰符:public
参数:
- 无
说明:
TODO
public Tag emptyList() @ L39
- 方法名:emptyList
- 源码定位:L39
- 返回类型:Tag
- 修饰符:public
参数:
- 无
说明:
TODO
public Tag emptyMap() @ L43
- 方法名:emptyMap
- 源码定位:L43
- 返回类型:Tag
- 修饰符:public
参数:
- 无
说明:
TODO
public <U> U convertTo(DynamicOps<U> outOps, Tag input) @ L47
- 方法名:convertTo
- 源码定位:L47
- 返回类型: U
- 修饰符:public
参数:
- outOps: DynamicOps
- input: Tag
说明:
TODO
public DataResult<Number> getNumberValue(Tag input) @ L137
- 方法名:getNumberValue
- 源码定位:L137
- 返回类型:DataResult
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createNumeric(Number i) @ L141
- 方法名:createNumeric
- 源码定位:L141
- 返回类型:Tag
- 修饰符:public
参数:
- i: Number
说明:
TODO
public Tag createByte(byte value) @ L145
- 方法名:createByte
- 源码定位:L145
- 返回类型:Tag
- 修饰符:public
参数:
- value: byte
说明:
TODO
public Tag createShort(short value) @ L149
- 方法名:createShort
- 源码定位:L149
- 返回类型:Tag
- 修饰符:public
参数:
- value: short
说明:
TODO
public Tag createInt(int value) @ L153
- 方法名:createInt
- 源码定位:L153
- 返回类型:Tag
- 修饰符:public
参数:
- value: int
说明:
TODO
public Tag createLong(long value) @ L157
- 方法名:createLong
- 源码定位:L157
- 返回类型:Tag
- 修饰符:public
参数:
- value: long
说明:
TODO
public Tag createFloat(float value) @ L161
- 方法名:createFloat
- 源码定位:L161
- 返回类型:Tag
- 修饰符:public
参数:
- value: float
说明:
TODO
public Tag createDouble(double value) @ L165
- 方法名:createDouble
- 源码定位:L165
- 返回类型:Tag
- 修饰符:public
参数:
- value: double
说明:
TODO
public Tag createBoolean(boolean value) @ L169
- 方法名:createBoolean
- 源码定位:L169
- 返回类型:Tag
- 修饰符:public
参数:
- value: boolean
说明:
TODO
public DataResult<String> getStringValue(Tag input) @ L173
- 方法名:getStringValue
- 源码定位:L173
- 返回类型:DataResult
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createString(String value) @ L177
- 方法名:createString
- 源码定位:L177
- 返回类型:Tag
- 修饰符:public
参数:
- value: String
说明:
TODO
public DataResult<Tag> mergeToList(Tag list, Tag value) @ L181
- 方法名:mergeToList
- 源码定位:L181
- 返回类型:DataResult
- 修饰符:public
参数:
- list: Tag
- value: Tag
说明:
TODO
public DataResult<Tag> mergeToList(Tag list, List<Tag> values) @ L187
- 方法名:mergeToList
- 源码定位:L187
- 返回类型:DataResult
- 修饰符:public
参数:
- list: Tag
- values: List
说明:
TODO
public DataResult<Tag> mergeToMap(Tag map, Tag key, Tag value) @ L193
- 方法名:mergeToMap
- 源码定位:L193
- 返回类型:DataResult
- 修饰符:public
参数:
- map: Tag
- key: Tag
- value: Tag
说明:
TODO
public DataResult<Tag> mergeToMap(Tag map, MapLike<Tag> values) @ L206
- 方法名:mergeToMap
- 源码定位:L206
- 返回类型:DataResult
- 修饰符:public
参数:
- map: Tag
- values: MapLike
说明:
TODO
public DataResult<Tag> mergeToMap(Tag map, Map<Tag,Tag> values) @ L229
- 方法名:mergeToMap
- 源码定位:L229
- 返回类型:DataResult
- 修饰符:public
参数:
- map: Tag
- values: Map<Tag,Tag>
说明:
TODO
public DataResult<Stream<Pair<Tag,Tag>>> getMapValues(Tag input) @ L251
- 方法名:getMapValues
- 源码定位:L251
- 返回类型:DataResult<Stream<Pair<Tag,Tag>>>
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public DataResult<Consumer<BiConsumer<Tag,Tag>>> getMapEntries(Tag input) @ L257
- 方法名:getMapEntries
- 源码定位:L257
- 返回类型:DataResult<Consumer<BiConsumer<Tag,Tag>>>
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public DataResult<MapLike<Tag>> getMap(Tag input) @ L265
- 方法名:getMap
- 源码定位:L265
- 返回类型:DataResult<MapLike
> - 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createMap(Stream<Pair<Tag,Tag>> map) @ L295
- 方法名:createMap
- 源码定位:L295
- 返回类型:Tag
- 修饰符:public
参数:
- map: Stream<Pair<Tag,Tag>>
说明:
TODO
public DataResult<Stream<Tag>> getStream(Tag input) @ L309
- 方法名:getStream
- 源码定位:L309
- 返回类型:DataResult<Stream
> - 修饰符:public
参数:
- input: Tag
说明:
TODO
public DataResult<Consumer<Consumer<Tag>>> getList(Tag input) @ L313
- 方法名:getList
- 源码定位:L313
- 返回类型:DataResult<Consumer<Consumer
>> - 修饰符:public
参数:
- input: Tag
说明:
TODO
public DataResult<ByteBuffer> getByteBuffer(Tag input) @ L317
- 方法名:getByteBuffer
- 源码定位:L317
- 返回类型:DataResult
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createByteList(ByteBuffer input) @ L321
- 方法名:createByteList
- 源码定位:L321
- 返回类型:Tag
- 修饰符:public
参数:
- input: ByteBuffer
说明:
TODO
public DataResult<IntStream> getIntStream(Tag input) @ L328
- 方法名:getIntStream
- 源码定位:L328
- 返回类型:DataResult
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createIntList(IntStream input) @ L332
- 方法名:createIntList
- 源码定位:L332
- 返回类型:Tag
- 修饰符:public
参数:
- input: IntStream
说明:
TODO
public DataResult<LongStream> getLongStream(Tag input) @ L336
- 方法名:getLongStream
- 源码定位:L336
- 返回类型:DataResult
- 修饰符:public
参数:
- input: Tag
说明:
TODO
public Tag createLongList(LongStream input) @ L340
- 方法名:createLongList
- 源码定位:L340
- 返回类型:Tag
- 修饰符:public
参数:
- input: LongStream
说明:
TODO
public Tag createList(Stream<Tag> input) @ L344
- 方法名:createList
- 源码定位:L344
- 返回类型:Tag
- 修饰符:public
参数:
- input: Stream
说明:
TODO
public Tag remove(Tag input, String key) @ L348
- 方法名:remove
- 源码定位:L348
- 返回类型:Tag
- 修饰符:public
参数:
- input: Tag
- key: String
说明:
TODO
public String toString() @ L358
- 方法名:toString
- 源码定位:L358
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
public RecordBuilder<Tag> mapBuilder() @ L363
- 方法名:mapBuilder
- 源码定位:L363
- 返回类型:RecordBuilder
- 修饰符:public
参数:
- 无
说明:
TODO
private static Optional<NbtOps.ListCollector> createCollector(Tag tag) @ L368
- 方法名:createCollector
- 源码定位:L368
- 返回类型:Optional<NbtOps.ListCollector>
- 修饰符:private static
参数:
- tag: Tag
说明:
TODO
代码
public class NbtOps implements DynamicOps<Tag> {
public static final NbtOps INSTANCE = new NbtOps();
private NbtOps() {
}
public Tag empty() {
return EndTag.INSTANCE;
}
public Tag emptyList() {
return new ListTag();
}
public Tag emptyMap() {
return new CompoundTag();
}
public <U> U convertTo(DynamicOps<U> outOps, Tag input) {
Objects.requireNonNull(input);
Object var3 = input;
while (true) {
Object var10000;
switch (var3) {
case EndTag ignored:
var10000 = outOps.empty();
break;
case ByteTag(byte var54):
byte var34 = var54;
if (false) {
byte var59 = 2;
continue;
}
var10000 = outOps.createByte(var34);
break;
case ShortTag(short var52):
short var35 = var52;
if (false) {
byte var58 = 3;
continue;
}
var10000 = outOps.createShort(var35);
break;
case IntTag(int var50):
int var36 = var50;
if (false) {
byte var57 = 4;
continue;
}
var10000 = outOps.createInt(var36);
break;
case LongTag(long var48):
long var37 = var48;
if (false) {
byte var56 = 5;
continue;
}
var10000 = outOps.createLong(var37);
break;
case FloatTag(float var46):
float var38 = var46;
if (false) {
byte var55 = 6;
continue;
}
var10000 = outOps.createFloat(var38);
break;
case DoubleTag(double var44):
double var39 = var44;
if (false) {
byte var4 = 7;
continue;
}
var10000 = outOps.createDouble(var39);
break;
case ByteArrayTag byteArrayTag:
var10000 = outOps.createByteList(ByteBuffer.wrap(byteArrayTag.getAsByteArray()));
break;
case StringTag(String var40):
var10000 = outOps.createString(var40);
break;
case ListTag listTag:
var10000 = this.convertList(outOps, listTag);
break;
case CompoundTag compoundTag:
var10000 = this.convertMap(outOps, compoundTag);
break;
case IntArrayTag intArrayTag:
var10000 = outOps.createIntList(Arrays.stream(intArrayTag.getAsIntArray()));
break;
case LongArrayTag longArrayTag:
var10000 = outOps.createLongList(Arrays.stream(longArrayTag.getAsLongArray()));
break;
default:
throw new MatchException(null, null);
}
return (U)var10000;
}
}
public DataResult<Number> getNumberValue(Tag input) {
return input.asNumber().map(DataResult::success).orElseGet(() -> DataResult.error(() -> "Not a number"));
}
public Tag createNumeric(Number i) {
return DoubleTag.valueOf(i.doubleValue());
}
public Tag createByte(byte value) {
return ByteTag.valueOf(value);
}
public Tag createShort(short value) {
return ShortTag.valueOf(value);
}
public Tag createInt(int value) {
return IntTag.valueOf(value);
}
public Tag createLong(long value) {
return LongTag.valueOf(value);
}
public Tag createFloat(float value) {
return FloatTag.valueOf(value);
}
public Tag createDouble(double value) {
return DoubleTag.valueOf(value);
}
public Tag createBoolean(boolean value) {
return ByteTag.valueOf(value);
}
public DataResult<String> getStringValue(Tag input) {
return input instanceof StringTag(String var4) ? DataResult.success(var4) : DataResult.error(() -> "Not a string");
}
public Tag createString(String value) {
return StringTag.valueOf(value);
}
public DataResult<Tag> mergeToList(Tag list, Tag value) {
return createCollector(list)
.map(collector -> DataResult.success(collector.accept(value).result()))
.orElseGet(() -> DataResult.error(() -> "mergeToList called with not a list: " + list, list));
}
public DataResult<Tag> mergeToList(Tag list, List<Tag> values) {
return createCollector(list)
.map(collector -> DataResult.success(collector.acceptAll(values).result()))
.orElseGet(() -> DataResult.error(() -> "mergeToList called with not a list: " + list, list));
}
public DataResult<Tag> mergeToMap(Tag map, Tag key, Tag value) {
if (!(map instanceof CompoundTag) && !(map instanceof EndTag)) {
return DataResult.error(() -> "mergeToMap called with not a map: " + map, map);
} else if (key instanceof StringTag(String var10)) {
String tag = var10;
CompoundTag output = map instanceof CompoundTag tagx ? tagx.shallowCopy() : new CompoundTag();
output.put(tag, value);
return DataResult.success(output);
} else {
return DataResult.error(() -> "key is not a string: " + key, map);
}
}
public DataResult<Tag> mergeToMap(Tag map, MapLike<Tag> values) {
if (!(map instanceof CompoundTag) && !(map instanceof EndTag)) {
return DataResult.error(() -> "mergeToMap called with not a map: " + map, map);
} else {
Iterator<Pair<Tag, Tag>> valuesIterator = values.entries().iterator();
if (!valuesIterator.hasNext()) {
return map == this.empty() ? DataResult.success(this.emptyMap()) : DataResult.success(map);
} else {
CompoundTag output = map instanceof CompoundTag tag ? tag.shallowCopy() : new CompoundTag();
List<Tag> missed = new ArrayList<>();
valuesIterator.forEachRemaining(entry -> {
Tag key = entry.getFirst();
if (key instanceof StringTag(String patt1$temp)) {
output.put(patt1$temp, entry.getSecond());
} else {
missed.add(key);
}
});
return !missed.isEmpty() ? DataResult.error(() -> "some keys are not strings: " + missed, output) : DataResult.success(output);
}
}
}
public DataResult<Tag> mergeToMap(Tag map, Map<Tag, Tag> values) {
if (!(map instanceof CompoundTag) && !(map instanceof EndTag)) {
return DataResult.error(() -> "mergeToMap called with not a map: " + map, map);
} else if (values.isEmpty()) {
return map == this.empty() ? DataResult.success(this.emptyMap()) : DataResult.success(map);
} else {
CompoundTag output = map instanceof CompoundTag tag ? tag.shallowCopy() : new CompoundTag();
List<Tag> missed = new ArrayList<>();
for (Entry<Tag, Tag> entry : values.entrySet()) {
Tag key = entry.getKey();
if (key instanceof StringTag(String var10)) {
output.put(var10, entry.getValue());
} else {
missed.add(key);
}
}
return !missed.isEmpty() ? DataResult.error(() -> "some keys are not strings: " + missed, output) : DataResult.success(output);
}
}
public DataResult<Stream<Pair<Tag, Tag>>> getMapValues(Tag input) {
return input instanceof CompoundTag tag
? DataResult.success(tag.entrySet().stream().map(entry -> Pair.of(this.createString(entry.getKey()), entry.getValue())))
: DataResult.error(() -> "Not a map: " + input);
}
public DataResult<Consumer<BiConsumer<Tag, Tag>>> getMapEntries(Tag input) {
return input instanceof CompoundTag tag ? DataResult.success(c -> {
for (Entry<String, Tag> entry : tag.entrySet()) {
c.accept(this.createString(entry.getKey()), entry.getValue());
}
}) : DataResult.error(() -> "Not a map: " + input);
}
public DataResult<MapLike<Tag>> getMap(Tag input) {
return input instanceof CompoundTag tag ? DataResult.success(new MapLike<Tag>() {
{
Objects.requireNonNull(NbtOps.this);
}
public @Nullable Tag get(Tag key) {
if (key instanceof StringTag(String var4)) {
return tag.get(var4);
} else {
throw new UnsupportedOperationException("Cannot get map entry with non-string key: " + key);
}
}
public @Nullable Tag get(String key) {
return tag.get(key);
}
@Override
public Stream<Pair<Tag, Tag>> entries() {
return tag.entrySet().stream().map(entry -> Pair.of(NbtOps.this.createString(entry.getKey()), entry.getValue()));
}
@Override
public String toString() {
return "MapLike[" + tag + "]";
}
}) : DataResult.error(() -> "Not a map: " + input);
}
public Tag createMap(Stream<Pair<Tag, Tag>> map) {
CompoundTag tag = new CompoundTag();
map.forEach(entry -> {
Tag key = entry.getFirst();
Tag value = entry.getSecond();
if (key instanceof StringTag(String patt1$temp)) {
tag.put(patt1$temp, value);
} else {
throw new UnsupportedOperationException("Cannot create map with non-string key: " + key);
}
});
return tag;
}
public DataResult<Stream<Tag>> getStream(Tag input) {
return input instanceof CollectionTag collection ? DataResult.success(collection.stream()) : DataResult.error(() -> "Not a list");
}
public DataResult<Consumer<Consumer<Tag>>> getList(Tag input) {
return input instanceof CollectionTag collection ? DataResult.success(collection::forEach) : DataResult.error(() -> "Not a list: " + input);
}
public DataResult<ByteBuffer> getByteBuffer(Tag input) {
return input instanceof ByteArrayTag array ? DataResult.success(ByteBuffer.wrap(array.getAsByteArray())) : DynamicOps.super.getByteBuffer(input);
}
public Tag createByteList(ByteBuffer input) {
ByteBuffer wholeBuffer = input.duplicate().clear();
byte[] bytes = new byte[input.capacity()];
wholeBuffer.get(0, bytes, 0, bytes.length);
return new ByteArrayTag(bytes);
}
public DataResult<IntStream> getIntStream(Tag input) {
return input instanceof IntArrayTag array ? DataResult.success(Arrays.stream(array.getAsIntArray())) : DynamicOps.super.getIntStream(input);
}
public Tag createIntList(IntStream input) {
return new IntArrayTag(input.toArray());
}
public DataResult<LongStream> getLongStream(Tag input) {
return input instanceof LongArrayTag array ? DataResult.success(Arrays.stream(array.getAsLongArray())) : DynamicOps.super.getLongStream(input);
}
public Tag createLongList(LongStream input) {
return new LongArrayTag(input.toArray());
}
public Tag createList(Stream<Tag> input) {
return new ListTag(input.collect(Util.toMutableList()));
}
public Tag remove(Tag input, String key) {
if (input instanceof CompoundTag tag) {
CompoundTag result = tag.shallowCopy();
result.remove(key);
return result;
} else {
return input;
}
}
@Override
public String toString() {
return "NBT";
}
@Override
public RecordBuilder<Tag> mapBuilder() {
return new NbtOps.NbtRecordBuilder();
}
private static Optional<NbtOps.ListCollector> createCollector(Tag tag) {
if (tag instanceof EndTag) {
return Optional.of(new NbtOps.GenericListCollector());
} else if (tag instanceof CollectionTag collection) {
if (collection.isEmpty()) {
return Optional.of(new NbtOps.GenericListCollector());
} else {
return switch (collection) {
case ListTag list -> Optional.of(new NbtOps.GenericListCollector(list));
case ByteArrayTag array -> Optional.of(new NbtOps.ByteListCollector(array.getAsByteArray()));
case IntArrayTag arrayx -> Optional.of(new NbtOps.IntListCollector(arrayx.getAsIntArray()));
case LongArrayTag arrayxx -> Optional.of(new NbtOps.LongListCollector(arrayxx.getAsLongArray()));
default -> throw new MatchException(null, null);
};
}
} else {
return Optional.empty();
}
}
private static class ByteListCollector implements NbtOps.ListCollector {
private final ByteArrayList values = new ByteArrayList();
public ByteListCollector(byte[] initialValues) {
this.values.addElements(0, initialValues);
}
@Override
public NbtOps.ListCollector accept(Tag tag) {
if (tag instanceof ByteTag byteTag) {
this.values.add(byteTag.byteValue());
return this;
} else {
return new NbtOps.GenericListCollector(this.values).accept(tag);
}
}
@Override
public Tag result() {
return new ByteArrayTag(this.values.toByteArray());
}
}
private static class GenericListCollector implements NbtOps.ListCollector {
private final ListTag result = new ListTag();
private GenericListCollector() {
}
private GenericListCollector(ListTag initial) {
this.result.addAll(initial);
}
public GenericListCollector(IntArrayList initials) {
initials.forEach(v -> this.result.add(IntTag.valueOf(v)));
}
public GenericListCollector(ByteArrayList initials) {
initials.forEach(v -> this.result.add(ByteTag.valueOf(v)));
}
public GenericListCollector(LongArrayList initials) {
initials.forEach(v -> this.result.add(LongTag.valueOf(v)));
}
@Override
public NbtOps.ListCollector accept(Tag tag) {
this.result.add(tag);
return this;
}
@Override
public Tag result() {
return this.result;
}
}
private static class IntListCollector implements NbtOps.ListCollector {
private final IntArrayList values = new IntArrayList();
public IntListCollector(int[] initialValues) {
this.values.addElements(0, initialValues);
}
@Override
public NbtOps.ListCollector accept(Tag tag) {
if (tag instanceof IntTag intTag) {
this.values.add(intTag.intValue());
return this;
} else {
return new NbtOps.GenericListCollector(this.values).accept(tag);
}
}
@Override
public Tag result() {
return new IntArrayTag(this.values.toIntArray());
}
}
private interface ListCollector {
NbtOps.ListCollector accept(Tag t);
default NbtOps.ListCollector acceptAll(Iterable<Tag> tags) {
NbtOps.ListCollector collector = this;
for (Tag tag : tags) {
collector = collector.accept(tag);
}
return collector;
}
Tag result();
}
private static class LongListCollector implements NbtOps.ListCollector {
private final LongArrayList values = new LongArrayList();
public LongListCollector(long[] initialValues) {
this.values.addElements(0, initialValues);
}
@Override
public NbtOps.ListCollector accept(Tag tag) {
if (tag instanceof LongTag longTag) {
this.values.add(longTag.longValue());
return this;
} else {
return new NbtOps.GenericListCollector(this.values).accept(tag);
}
}
@Override
public Tag result() {
return new LongArrayTag(this.values.toLongArray());
}
}
private class NbtRecordBuilder extends AbstractStringBuilder<Tag, CompoundTag> {
protected NbtRecordBuilder() {
Objects.requireNonNull(NbtOps.this);
super(NbtOps.this);
}
protected CompoundTag initBuilder() {
return new CompoundTag();
}
protected CompoundTag append(String key, Tag value, CompoundTag builder) {
builder.put(key, value);
return builder;
}
protected DataResult<Tag> build(CompoundTag builder, Tag prefix) {
if (prefix == null || prefix == EndTag.INSTANCE) {
return DataResult.success(builder);
} else if (!(prefix instanceof CompoundTag compound)) {
return DataResult.error(() -> "mergeToMap called with not a map: " + prefix, prefix);
} else {
CompoundTag result = compound.shallowCopy();
for (Entry<String, Tag> entry : builder.entrySet()) {
result.put(entry.getKey(), entry.getValue());
}
return DataResult.success(result);
}
}
}
}引用的其他类
-
- 引用位置:
构造调用 - 关联成员:
ByteArrayTag()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByteTag.valueOf()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
CompoundTag()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
DoubleTag.valueOf()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
FloatTag.valueOf()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
IntArrayTag()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
IntTag.valueOf()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ListTag()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
LongArrayTag()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LongTag.valueOf()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ShortTag.valueOf()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
StringTag.valueOf()
- 引用位置:
-
- 引用位置:
参数/实现/返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Util.toMutableList()
- 引用位置: