AccessibilityOptionsScreen.java
net.minecraft.client.gui.screens.options.AccessibilityOptionsScreen
信息
- 全限定名:net.minecraft.client.gui.screens.options.AccessibilityOptionsScreen
- 类型:public class
- 包:net.minecraft.client.gui.screens.options
- 源码路径:src/main/java/net/minecraft/client/gui/screens/options/AccessibilityOptionsScreen.java
- 起始行号:L22
- 继承:OptionsSubScreen
- 职责:
TODO
字段/常量
TITLE- 类型:
Component - 修饰符:
public static final - 源码定位:
L23 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public AccessibilityOptionsScreen(Screen lastScreen, Options options) @ L54
- 构造器名:AccessibilityOptionsScreen
- 源码定位:L54
- 修饰符:public
参数:
- lastScreen: Screen
- options: Options
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static OptionInstance<?>[] options(Options options) @ L25
- 方法名:options
- 源码定位:L25
- 返回类型:OptionInstance<?>[]
- 修饰符:private static
参数:
- options: Options
说明:
TODO
protected void init() @ L58
- 方法名:init
- 源码定位:L58
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
protected void addOptions() @ L73
- 方法名:addOptions
- 源码定位:L73
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
protected void addFooter() @ L82
- 方法名:addFooter
- 源码定位:L82
- 返回类型:void
- 修饰符:protected
参数:
- 无
说明:
TODO
protected boolean panoramaShouldSpin() @ L91
- 方法名:panoramaShouldSpin
- 源码定位:L91
- 返回类型:boolean
- 修饰符:protected
参数:
- 无
说明:
TODO
private boolean isMinecartOptionEnabled() @ L96
- 方法名:isMinecartOptionEnabled
- 源码定位:L96
- 返回类型:boolean
- 修饰符:private
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class AccessibilityOptionsScreen extends OptionsSubScreen {
public static final Component TITLE = Component.translatable("options.accessibility.title");
private static OptionInstance<?>[] options(Options options) {
return new OptionInstance[]{
options.narrator(),
options.showSubtitles(),
options.highContrast(),
options.menuBackgroundBlurriness(),
options.textBackgroundOpacity(),
options.backgroundForChatOnly(),
options.chatOpacity(),
options.chatLineSpacing(),
options.chatDelay(),
options.notificationDisplayTime(),
options.bobView(),
options.screenEffectScale(),
options.fovEffectScale(),
options.darknessEffectScale(),
options.damageTiltStrength(),
options.glintSpeed(),
options.glintStrength(),
options.hideLightningFlash(),
options.darkMojangStudiosBackground(),
options.panoramaSpeed(),
options.hideSplashTexts(),
options.narratorHotkey(),
options.rotateWithMinecart(),
options.highContrastBlockOutline()
};
}
public AccessibilityOptionsScreen(Screen lastScreen, Options options) {
super(lastScreen, options, TITLE);
}
@Override
protected void init() {
super.init();
AbstractWidget highContrast = this.list.findOption(this.options.highContrast());
if (highContrast != null && !this.minecraft.getResourcePackRepository().getAvailableIds().contains("high_contrast")) {
highContrast.active = false;
highContrast.setTooltip(Tooltip.create(Component.translatable("options.accessibility.high_contrast.error.tooltip")));
}
AbstractWidget rotateWithMinecart = this.list.findOption(this.options.rotateWithMinecart());
if (rotateWithMinecart != null) {
rotateWithMinecart.active = this.isMinecartOptionEnabled();
}
}
@Override
protected void addOptions() {
OptionInstance<?>[] optionsInstances = options(this.options);
Button controlsLink = Button.builder(OptionsScreen.CONTROLS, button -> this.minecraft.setScreen(new ControlsScreen(this, this.options))).build();
OptionInstance<?> firstOptionInstance = optionsInstances[0];
this.list.addSmall(firstOptionInstance.createButton(this.options), this.options.narrator(), controlsLink);
this.list.addSmall(Arrays.stream(optionsInstances).filter(instance -> instance != firstOptionInstance).toArray(OptionInstance[]::new));
}
@Override
protected void addFooter() {
LinearLayout footer = this.layout.addToFooter(LinearLayout.horizontal().spacing(8));
footer.addChild(
Button.builder(Component.translatable("options.accessibility.link"), ConfirmLinkScreen.confirmLink(this, CommonLinks.ACCESSIBILITY_HELP)).build()
);
footer.addChild(Button.builder(CommonComponents.GUI_DONE, button -> this.minecraft.setScreen(this.lastScreen)).build());
}
@Override
protected boolean panoramaShouldSpin() {
return !(this.lastScreen instanceof AccessibilityOnboardingScreen);
}
private boolean isMinecartOptionEnabled() {
return this.minecraft.level != null && this.minecraft.level.enabledFeatures().contains(FeatureFlags.MINECART_IMPROVEMENTS);
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Button.builder()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Tooltip.create()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LinearLayout.horizontal()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ConfirmLinkScreen.confirmLink()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ControlsScreen()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Component.translatable()
- 引用位置: