NameAndId.java
net.minecraft.server.players.NameAndId
信息
- 全限定名:net.minecraft.server.players.NameAndId
- 类型:public record
- 包:net.minecraft.server.players
- 源码路径:src/main/java/net/minecraft/server/players/NameAndId.java
- 起始行号:L11
- 职责:
TODO
字段/常量
CODEC- 类型:
Codec<NameAndId> - 修饰符:
public static final - 源码定位:
L12 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public NameAndId(GameProfile profile) @ L17
- 构造器名:NameAndId
- 源码定位:L17
- 修饰符:public
参数:
- profile: GameProfile
说明:
TODO
public NameAndId(com.mojang.authlib.yggdrasil.response.NameAndId profile) @ L21
- 构造器名:NameAndId
- 源码定位:L21
- 修饰符:public
参数:
- profile: com.mojang.authlib.yggdrasil.response.NameAndId
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static NameAndId fromJson(JsonObject object) @ L25
- 方法名:fromJson
- 源码定位:L25
- 返回类型:NameAndId
- 修饰符:public static
参数:
- object: JsonObject
说明:
TODO
public void appendTo(JsonObject output) @ L42
- 方法名:appendTo
- 源码定位:L42
- 返回类型:void
- 修饰符:public
参数:
- output: JsonObject
说明:
TODO
public static NameAndId createOffline(String name) @ L47
- 方法名:createOffline
- 源码定位:L47
- 返回类型:NameAndId
- 修饰符:public static
参数:
- name: String
说明:
TODO
代码
public record NameAndId(UUID id, String name) {
public static final Codec<NameAndId> CODEC = RecordCodecBuilder.create(
i -> i.group(UUIDUtil.STRING_CODEC.fieldOf("id").forGetter(NameAndId::id), Codec.STRING.fieldOf("name").forGetter(NameAndId::name))
.apply(i, NameAndId::new)
);
public NameAndId(GameProfile profile) {
this(profile.id(), profile.name());
}
public NameAndId(com.mojang.authlib.yggdrasil.response.NameAndId profile) {
this(profile.id(), profile.name());
}
public static @Nullable NameAndId fromJson(JsonObject object) {
if (object.has("uuid") && object.has("name")) {
String uuidString = object.get("uuid").getAsString();
UUID uuid;
try {
uuid = UUID.fromString(uuidString);
} catch (Throwable var4) {
return null;
}
return new NameAndId(uuid, object.get("name").getAsString());
} else {
return null;
}
}
public void appendTo(JsonObject output) {
output.addProperty("uuid", this.id().toString());
output.addProperty("name", this.name());
}
public static NameAndId createOffline(String name) {
UUID id = UUIDUtil.createOfflinePlayerUUID(name);
return new NameAndId(id, name);
}
}引用的其他类
- UUIDUtil
- 引用位置:
方法调用 - 关联成员:
UUIDUtil.createOfflinePlayerUUID()
- 引用位置: