OnlineOptionsScreen.java
net.minecraft.client.gui.screens.options.OnlineOptionsScreen
信息
- 全限定名:net.minecraft.client.gui.screens.options.OnlineOptionsScreen
- 类型:public class
- 包:net.minecraft.client.gui.screens.options
- 源码路径:src/main/java/net/minecraft/client/gui/screens/options/OnlineOptionsScreen.java
- 起始行号:L20
- 继承:OptionsSubScreen
- 职责:
TODO
字段/常量
-
TITLE- 类型:
Component - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
difficultyDisplay- 类型:
OptionInstance<Unit> - 修饰符:
private - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public OnlineOptionsScreen(Screen lastScreen, Options options) @ L24
- 构造器名:OnlineOptionsScreen
- 源码定位:L24
- 修饰符:public
参数:
- lastScreen: Screen
- options: Options
说明:
TODO
方法
下面的方法块按源码顺序生成。
protected void init() @ L28
- 方法名:init
- 源码定位:L28
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
private OptionInstance<?>[] options(Options options, Minecraft minecraft) @ L39
- 方法名:options
- 源码定位:L39
- 返回类型:OptionInstance<?>[]
- 修饰符:private
参数:
- options: Options
- minecraft: Minecraft
说明:
TODO
protected void addOptions() @ L65
- 方法名:addOptions
- 源码定位:L65
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class OnlineOptionsScreen extends OptionsSubScreen {
private static final Component TITLE = Component.translatable("options.online.title");
private @Nullable OptionInstance<Unit> difficultyDisplay;
public OnlineOptionsScreen(Screen lastScreen, Options options) {
super(lastScreen, options, TITLE);
}
@Override
protected void init() {
super.init();
if (this.difficultyDisplay != null) {
AbstractWidget difficultyButton = this.list.findOption(this.difficultyDisplay);
if (difficultyButton != null) {
difficultyButton.active = false;
}
}
}
private OptionInstance<?>[] options(Options options, Minecraft minecraft) {
List<OptionInstance<?>> optionList = new ArrayList<>();
optionList.add(options.realmsNotifications());
optionList.add(options.allowServerListing());
OptionInstance<Unit> difficultyDisplay = Optionull.map(
minecraft.level,
level -> {
Difficulty difficulty = level.getDifficulty();
return new OptionInstance<>(
"options.difficulty.online",
OptionInstance.noTooltip(),
(caption, value) -> difficulty.getDisplayName(),
new OptionInstance.Enum<>(List.of(Unit.INSTANCE), Codec.EMPTY.codec()),
Unit.INSTANCE,
value -> {}
);
}
);
if (difficultyDisplay != null) {
this.difficultyDisplay = difficultyDisplay;
optionList.add(difficultyDisplay);
}
return optionList.toArray(new OptionInstance[0]);
}
@Override
protected void addOptions() {
this.list.addSmall(this.options(this.options, this.minecraft));
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Optionull.map()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/方法调用/返回值 - 关联成员:
OptionInstance.noTooltip()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Component.translatable()
- 引用位置: