CommonDialogData.java
net.minecraft.server.dialog.CommonDialogData
信息
- 全限定名:net.minecraft.server.dialog.CommonDialogData
- 类型:public record
- 包:net.minecraft.server.dialog
- 源码路径:src/main/java/net/minecraft/server/dialog/CommonDialogData.java
- 起始行号:L13
- 职责:
TODO
字段/常量
MAP_CODEC- 类型:
MapCodec<CommonDialogData> - 修饰符:
public static final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public Component computeExternalTitle() @ L40
- 方法名:computeExternalTitle
- 源码定位:L40
- 返回类型:Component
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public record CommonDialogData(
Component title,
Optional<Component> externalTitle,
boolean canCloseWithEscape,
boolean pause,
DialogAction afterAction,
List<DialogBody> body,
List<Input> inputs
) {
public static final MapCodec<CommonDialogData> MAP_CODEC = RecordCodecBuilder.<CommonDialogData>mapCodec(
i -> i.group(
ComponentSerialization.CODEC.fieldOf("title").forGetter(CommonDialogData::title),
ComponentSerialization.CODEC.optionalFieldOf("external_title").forGetter(CommonDialogData::externalTitle),
Codec.BOOL.optionalFieldOf("can_close_with_escape", true).forGetter(CommonDialogData::canCloseWithEscape),
Codec.BOOL.optionalFieldOf("pause", true).forGetter(CommonDialogData::pause),
DialogAction.CODEC.optionalFieldOf("after_action", DialogAction.CLOSE).forGetter(CommonDialogData::afterAction),
DialogBody.COMPACT_LIST_CODEC.optionalFieldOf("body", List.of()).forGetter(CommonDialogData::body),
Input.CODEC.listOf().optionalFieldOf("inputs", List.of()).forGetter(CommonDialogData::inputs)
)
.apply(i, CommonDialogData::new)
)
.validate(
data -> data.pause && !data.afterAction.willUnpause()
? DataResult.error(() -> "Dialogs that pause the game must use after_action values that unpause it after user action!")
: DataResult.success(data)
);
public Component computeExternalTitle() {
return this.externalTitle.orElse(this.title);
}
}引用的其他类
- Component
- 引用位置:
返回值
- 引用位置: