A mod that adds your armor to the hud modrinth.com/mod/simple-armor-hud
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Refactor configScreen to extend OptionsSubScreen

authored by

rh4htr and committed by
GitHub
87d3423a 104c5522

+51 -48
+51 -48
src/client/java/com/armorhud/config/configScreen.java
··· 2 2 3 3 import net.fabricmc.api.EnvType; 4 4 import net.fabricmc.api.Environment; 5 - import net.minecraft.client.MinecraftClient; 6 - import net.minecraft.client.gui.DrawContext; 7 - import net.minecraft.client.gui.screen.Screen; 8 - import net.minecraft.client.gui.screen.option.GameOptionsScreen; 9 - import net.minecraft.client.gui.widget.*; 10 - import net.minecraft.text.Text; 5 + import net.minecraft.client.Minecraft; 6 + import net.minecraft.client.gui.GuiGraphicsExtractor; 7 + import net.minecraft.client.gui.components.Button; 8 + import net.minecraft.client.gui.components.CycleButton; 9 + import net.minecraft.client.gui.components.OptionsList; 10 + import net.minecraft.client.gui.screens.Screen; 11 + import net.minecraft.client.gui.screens.options.OptionsSubScreen; 12 + import net.minecraft.client.gui.layouts.*; 13 + import net.minecraft.network.chat.Component; 11 14 12 15 @Environment(EnvType.CLIENT) 13 - public class configScreen extends GameOptionsScreen { 16 + public class configScreen extends OptionsSubScreen { 14 17 private final Screen parent; 15 18 16 19 public configScreen(Screen parent) { 17 - super(parent, MinecraftClient.getInstance().options, Text.translatable("config.title")); 20 + super(parent, Minecraft.getInstance().options, Component.translatable("config.title")); 18 21 this.parent = parent; 19 22 } 20 23 21 - public CyclingButtonWidget<?> doubleHotbarToggle; 22 - public CyclingButtonWidget<?> betterMountHudToggle; 23 - public CyclingButtonWidget<?> armorHudToggle; 24 - public CyclingButtonWidget<?> disableArmorBar; 25 - public CyclingButtonWidget<?> armorPosition; 26 - public CyclingButtonWidget<?> rightToLeftToggle; 27 - public CyclingButtonWidget<?> trimEmptySlots; 24 + public CycleButton<?> doubleHotbarToggle; 25 + public CycleButton<?> betterMountHudToggle; 26 + public CycleButton<?> armorHudToggle; 27 + public CycleButton<?> disableArmorBar; 28 + public CycleButton<?> armorPosition; 29 + public CycleButton<?> rightToLeftToggle; 30 + public CycleButton<?> trimEmptySlots; 28 31 29 - public ButtonWidget doneButton; 32 + public Button doneButton; 30 33 31 34 @Override 32 35 protected void init() { 33 - doubleHotbarToggle = CyclingButtonWidget.onOffBuilder(config.DOUBLE_HOTBAR) 34 - .build(Text.translatable("config.doublehotbar"), ((button, value) -> config.DOUBLE_HOTBAR = !config.DOUBLE_HOTBAR)); 36 + doubleHotbarToggle = CycleButton.onOffBuilder(config.DOUBLE_HOTBAR) 37 + .create(Component.translatable("config.doublehotbar"), ((button, value) -> config.DOUBLE_HOTBAR = !config.DOUBLE_HOTBAR)); 35 38 36 - betterMountHudToggle = CyclingButtonWidget.onOffBuilder(config.BETTER_MOUNT_HUD) 37 - .build(Text.translatable("config.bettermounthud"), (button, value) -> config.BETTER_MOUNT_HUD = !config.BETTER_MOUNT_HUD); 39 + betterMountHudToggle = CycleButton.onOffBuilder(config.BETTER_MOUNT_HUD) 40 + .create(Component.translatable("config.bettermounthud"), (button, value) -> config.BETTER_MOUNT_HUD = !config.BETTER_MOUNT_HUD); 38 41 39 - armorHudToggle = CyclingButtonWidget.onOffBuilder(config.ARMOR_HUD) 40 - .build(Text.translatable("config.armorvisible"), (button, value) -> config.ARMOR_HUD = !config.ARMOR_HUD); 42 + armorHudToggle = CycleButton.onOffBuilder(config.ARMOR_HUD) 43 + .create(Component.translatable("config.armorvisible"), (button, value) -> config.ARMOR_HUD = !config.ARMOR_HUD); 41 44 42 - disableArmorBar = CyclingButtonWidget.onOffBuilder(config.DISABLE_ARMOR_BAR) 43 - .build(Text.translatable("config.disablearmorbar"), ((button, value) -> config.DISABLE_ARMOR_BAR = !config.DISABLE_ARMOR_BAR)); 45 + disableArmorBar = CycleButton.onOffBuilder(config.DISABLE_ARMOR_BAR) 46 + .create(Component.translatable("config.disablearmorbar"), ((button, value) -> config.DISABLE_ARMOR_BAR = !config.DISABLE_ARMOR_BAR)); 44 47 45 - armorPosition = CyclingButtonWidget.builder(config.Position::displayName, config.Position.valueOf(String.valueOf(config.position))).values(config.Position.values()) 46 - .build(Text.translatable("config.armorposition"), ((button, value) -> config.position = value)); 48 + armorPosition = CycleButton.builder(config.Position::displayName, config.Position.valueOf(String.valueOf(config.position))).withValues(config.Position.values()) 49 + .create(Component.translatable("config.armorposition"), ((button, value) -> config.position = value)); 47 50 48 - rightToLeftToggle = CyclingButtonWidget.onOffBuilder(config.RTL) 49 - .build(Text.translatable("config.righttoleft"), (button, value) -> config.RTL = !config.RTL); 51 + rightToLeftToggle = CycleButton.onOffBuilder(config.RTL) 52 + .create(Component.translatable("config.righttoleft"), (button, value) -> config.RTL = !config.RTL); 50 53 51 - trimEmptySlots = CyclingButtonWidget.onOffBuilder(config.TRIM_EMPTY_SLOTS) 52 - .build(Text.translatable("config.trimemptyslots"), ((button, value) -> config.TRIM_EMPTY_SLOTS = !config.TRIM_EMPTY_SLOTS)); 54 + trimEmptySlots = CycleButton.onOffBuilder(config.TRIM_EMPTY_SLOTS) 55 + .create(Component.translatable("config.trimemptyslots"), ((button, value) -> config.TRIM_EMPTY_SLOTS = !config.TRIM_EMPTY_SLOTS)); 53 56 54 - doneButton = ButtonWidget 55 - .builder(Text.translatable("config.done"), button -> close()) 56 - .dimensions(width / 2 - 100, height - 25, 200, 20) 57 + doneButton = Button 58 + .builder(Component.translatable("config.done"), button -> onClose()) 59 + .bounds(width / 2 - 100, height - 25, 200, 20) 57 60 .build(); 58 61 59 - OptionListWidget optionListWidget = this.addDrawableChild(new OptionListWidget(this.client, this.width, this)); 60 - optionListWidget.addHeader(Text.translatable("config.header.general")); 61 - optionListWidget.addWidgetEntry(armorHudToggle, disableArmorBar); 62 + OptionsList optionListWidget = this.addRenderableWidget(new OptionsList(this.minecraft, this.width, this)); 63 + optionListWidget.addHeader(Component.translatable("config.header.general")); 64 + optionListWidget.addSmall(armorHudToggle, disableArmorBar); 62 65 63 - optionListWidget.addHeader(Text.translatable("config.header.compatibility")); 64 - optionListWidget.addWidgetEntry(betterMountHudToggle, doubleHotbarToggle); 66 + optionListWidget.addHeader(Component.translatable("config.header.compatibility")); 67 + optionListWidget.addSmall(betterMountHudToggle, doubleHotbarToggle); 65 68 66 - optionListWidget.addHeader(Text.translatable("config.header.display")); 67 - optionListWidget.addWidgetEntry(armorPosition, rightToLeftToggle); 68 - optionListWidget.addWidgetEntry(trimEmptySlots, null); 69 + optionListWidget.addHeader(Component.translatable("config.header.display")); 70 + optionListWidget.addSmall(armorPosition, rightToLeftToggle); 71 + optionListWidget.addSmall(trimEmptySlots, null); 69 72 70 - addDrawableChild(doneButton); 73 + addRenderableWidget(doneButton); 71 74 } 72 75 73 76 @Override 74 77 protected void addOptions() { } 75 78 76 79 @Override 77 - public void render(DrawContext context, int mouseX, int mouseY, float delta) { 78 - context.drawCenteredTextWithShadow(this.textRenderer, Text.translatable("config.title"), this.width / 2, 12, 0xffffff); 79 - super.render(context, mouseX, mouseY, delta); 80 + public void extractRenderState(GuiGraphicsExtractor context, int mouseX, int mouseY, float delta) { 81 + context.centeredText(this.font, Component.translatable("config.title"), this.width / 2, 12, 0xffffff); 82 + super.extractRenderState(context, mouseX, mouseY, delta); 80 83 } 81 84 82 85 @Override 83 - public void close() { 84 - assert this.client != null; 86 + public void onClose() { 87 + assert this.minecraft != null; 85 88 86 89 config.save(); 87 - this.client.setScreen(this.parent); 90 + this.minecraft.setScreen(this.parent); 88 91 } 89 92 }