RealmsGenericErrorScreen.java
com.mojang.realmsclient.gui.screens.RealmsGenericErrorScreen
信息
- 全限定名:com.mojang.realmsclient.gui.screens.RealmsGenericErrorScreen
- 类型:public class
- 包:com.mojang.realmsclient.gui.screens
- 源码路径:src/main/java/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java
- 起始行号:L20
- 继承:RealmsScreen
- 职责:
TODO
字段/常量
-
GENERIC_TITLE- 类型:
Component - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
nextScreen- 类型:
Screen - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
detail- 类型:
Component - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
splitDetail- 类型:
MultiLineLabel - 修饰符:
private - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
com.mojang.realmsclient.gui.screens.RealmsGenericErrorScreen.ErrorMessage- 类型:
record - 修饰符:
private - 源码定位:
L71 - 说明:
TODO
- 类型:
构造器
public RealmsGenericErrorScreen(RealmsServiceException realmsServiceException, Screen nextScreen) @ L26
- 构造器名:RealmsGenericErrorScreen
- 源码定位:L26
- 修饰符:public
参数:
- realmsServiceException: RealmsServiceException
- nextScreen: Screen
说明:
TODO
public RealmsGenericErrorScreen(Component message, Screen nextScreen) @ L30
- 构造器名:RealmsGenericErrorScreen
- 源码定位:L30
- 修饰符:public
参数:
- message: Component
- nextScreen: Screen
说明:
TODO
public RealmsGenericErrorScreen(Component title, Component message, Screen nextScreen) @ L34
- 构造器名:RealmsGenericErrorScreen
- 源码定位:L34
- 修饰符:public
参数:
- title: Component
- message: Component
- nextScreen: Screen
说明:
TODO
private RealmsGenericErrorScreen(RealmsGenericErrorScreen.ErrorMessage message, Screen nextScreen) @ L38
- 构造器名:RealmsGenericErrorScreen
- 源码定位:L38
- 修饰符:private
参数:
- message: RealmsGenericErrorScreen.ErrorMessage
- nextScreen: Screen
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void init() @ L44
- 方法名:init
- 源码定位:L44
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void onClose() @ L52
- 方法名:onClose
- 源码定位:L52
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public Component getNarrationMessage() @ L57
- 方法名:getNarrationMessage
- 源码定位:L57
- 返回类型:Component
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(GuiGraphicsExtractor graphics, int xm, int ym, float a) @ L62
- 方法名:extractRenderState
- 源码定位:L62
- 返回类型:void
- 修饰符:public
参数:
- graphics: GuiGraphicsExtractor
- xm: int
- ym: int
- a: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class RealmsGenericErrorScreen extends RealmsScreen {
private static final Component GENERIC_TITLE = Component.translatable("mco.errorMessage.generic");
private final Screen nextScreen;
private final Component detail;
private MultiLineLabel splitDetail = MultiLineLabel.EMPTY;
public RealmsGenericErrorScreen(RealmsServiceException realmsServiceException, Screen nextScreen) {
this(RealmsGenericErrorScreen.ErrorMessage.forServiceError(realmsServiceException), nextScreen);
}
public RealmsGenericErrorScreen(Component message, Screen nextScreen) {
this(new RealmsGenericErrorScreen.ErrorMessage(GENERIC_TITLE, message), nextScreen);
}
public RealmsGenericErrorScreen(Component title, Component message, Screen nextScreen) {
this(new RealmsGenericErrorScreen.ErrorMessage(title, message), nextScreen);
}
private RealmsGenericErrorScreen(RealmsGenericErrorScreen.ErrorMessage message, Screen nextScreen) {
super(message.title);
this.nextScreen = nextScreen;
this.detail = ComponentUtils.mergeStyles(message.detail, Style.EMPTY.withColor(-2142128));
}
@Override
public void init() {
this.addRenderableWidget(
Button.builder(CommonComponents.GUI_OK, button -> this.onClose()).bounds(this.width / 2 - 100, this.height - 52, 200, 20).build()
);
this.splitDetail = MultiLineLabel.create(this.font, this.detail, this.width * 3 / 4);
}
@Override
public void onClose() {
this.minecraft.setScreen(this.nextScreen);
}
@Override
public Component getNarrationMessage() {
return CommonComponents.joinForNarration(super.getNarrationMessage(), this.detail);
}
@Override
public void extractRenderState(GuiGraphicsExtractor graphics, int xm, int ym, float a) {
super.extractRenderState(graphics, xm, ym, a);
graphics.centeredText(this.font, this.title, this.width / 2, 80, -1);
ActiveTextCollector textRenderer = graphics.textRenderer();
this.splitDetail.visitLines(TextAlignment.CENTER, this.width / 2, 100, 9, textRenderer);
}
@OnlyIn(Dist.CLIENT)
private record ErrorMessage(Component title, Component detail) {
private static RealmsGenericErrorScreen.ErrorMessage forServiceError(RealmsServiceException realmsServiceException) {
RealmsError errorDetails = realmsServiceException.realmsError;
return new RealmsGenericErrorScreen.ErrorMessage(
Component.translatable("mco.errorMessage.realmsService.realmsError", errorDetails.errorCode()), errorDetails.errorMessage()
);
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Button.builder()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
MultiLineLabel.create()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
CommonComponents.joinForNarration()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/返回值 - 关联成员:
Component.translatable()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ComponentUtils.mergeStyles()
- 引用位置:
-
- 引用位置:
继承
- 引用位置: