Message.java
net.minecraft.server.jsonrpc.methods.Message
信息
- 全限定名:net.minecraft.server.jsonrpc.methods.Message
- 类型:public record
- 包:net.minecraft.server.jsonrpc.methods
- 源码路径:src/main/java/net/minecraft/server/jsonrpc/methods/Message.java
- 起始行号:L9
- 职责:
TODO
字段/常量
CODEC- 类型:
Codec<Message> - 修饰符:
public static final - 源码定位:
L10 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public Optional<Component> asComponent() @ L19
- 方法名:asComponent
- 源码定位:L19
- 返回类型:Optional
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public record Message(Optional<String> literal, Optional<String> translatable, Optional<List<String>> translatableParams) {
public static final Codec<Message> CODEC = RecordCodecBuilder.create(
i -> i.group(
Codec.STRING.optionalFieldOf("literal").forGetter(Message::literal),
Codec.STRING.optionalFieldOf("translatable").forGetter(Message::translatable),
Codec.STRING.listOf().lenientOptionalFieldOf("translatableParams").forGetter(Message::translatableParams)
)
.apply(i, Message::new)
);
public Optional<Component> asComponent() {
if (this.translatable.isPresent()) {
String translationKey = this.translatable.get();
if (this.translatableParams.isPresent()) {
List<String> translationArgs = this.translatableParams.get();
return Optional.of(Component.translatable(translationKey, translationArgs.toArray()));
} else {
return Optional.of(Component.translatable(translationKey));
}
} else {
return this.literal.map(Component::literal);
}
}
}引用的其他类
- Component
- 引用位置:
方法调用/返回值 - 关联成员:
Component.translatable()
- 引用位置: