diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-06-08 15:22:30 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-06-08 15:22:30 +0800 |
commit | 72822bf1ee028287d535f50b59f96994dfe0b2fa (patch) | |
tree | 634c2c067d578abbdd3e45e40e79841ffdc08e8b /src/main/java/de/hysky/skyblocker/SkyblockerScreen.java | |
parent | 4bde27dc8c1e89d38f76477c5cd8d30a411c8bb6 (diff) | |
download | Skyblocker-72822bf1ee028287d535f50b59f96994dfe0b2fa.tar.gz Skyblocker-72822bf1ee028287d535f50b59f96994dfe0b2fa.tar.bz2 Skyblocker-72822bf1ee028287d535f50b59f96994dfe0b2fa.zip |
Refactor and add more tips
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/SkyblockerScreen.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/SkyblockerScreen.java | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java index 15c855a0..1fdbe038 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java @@ -1,7 +1,5 @@ package de.hysky.skyblocker; -import java.time.LocalDate; - import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.Tips; import de.hysky.skyblocker.utils.scheduler.Scheduler; @@ -11,11 +9,7 @@ import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.ConfirmLinkScreen; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.gui.widget.GridWidget; -import net.minecraft.client.gui.widget.MultilineTextWidget; -import net.minecraft.client.gui.widget.TextWidget; -import net.minecraft.client.gui.widget.ThreePartsLayoutWidget; +import net.minecraft.client.gui.widget.*; import net.minecraft.screen.ScreenTexts; import net.minecraft.text.OrderedText; import net.minecraft.text.StringVisitable; @@ -23,6 +17,8 @@ import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Language; +import java.time.LocalDate; + public class SkyblockerScreen extends Screen { private static final int SPACING = 8; private static final int BUTTON_WIDTH = 210; @@ -36,7 +32,8 @@ public class SkyblockerScreen extends Screen { private static final Text TRANSLATE_TEXT = Text.translatable("text.skyblocker.translate"); private static final Text MODRINTH_TEXT = Text.translatable("text.skyblocker.modrinth"); private static final Text DISCORD_TEXT = Text.translatable("text.skyblocker.discord"); - private final ThreePartsLayoutWidget layout = new ThreePartsLayoutWidget(this); + private ThreePartsLayoutWidget layout; + private MultilineTextWidget tip; static { LocalDate date = LocalDate.now(); @@ -44,7 +41,7 @@ public class SkyblockerScreen extends Screen { ICON = date.getMonthValue() == 4 && date.getDayOfMonth() == 1 ? new Identifier(SkyblockerMod.NAMESPACE, "icons.png") : new Identifier(SkyblockerMod.NAMESPACE, "icon.png"); } - private SkyblockerScreen() { + public SkyblockerScreen() { super(TITLE); } @@ -57,6 +54,7 @@ public class SkyblockerScreen extends Screen { @Override protected void init() { + this.layout = new ThreePartsLayoutWidget(this, 50, 100); this.layout.addHeader(new IconTextWidget(this.getTitle(), this.textRenderer, ICON)); GridWidget gridWidget = this.layout.addBody(new GridWidget()).setSpacing(SPACING); @@ -72,17 +70,26 @@ public class SkyblockerScreen extends Screen { adder.add(ButtonWidget.builder(DISCORD_TEXT, ConfirmLinkScreen.opening(this, "https://discord.gg/aNNJHQykck")).width(HALF_BUTTON_WIDTH).build()); adder.add(ButtonWidget.builder(ScreenTexts.DONE, button -> this.close()).width(BUTTON_WIDTH).build(), 2); - MultilineTextWidget tip = new MultilineTextWidget(Text.translatable("skyblocker.tips.tip", Tips.nextTipInternal()), this.textRenderer) - .setCentered(true) - .setMaxWidth((int) (this.width * 0.7)); + GridWidget footerGridWidget = this.layout.addFooter(new GridWidget()).setSpacing(SPACING).setRowSpacing(0); + footerGridWidget.getMainPositioner().alignHorizontalCenter(); + GridWidget.Adder footerAdder = footerGridWidget.createAdder(2); + footerAdder.add(tip = new MultilineTextWidget(Tips.nextTip(), this.textRenderer).setCentered(true).setMaxWidth((int) (this.width * 0.7)), 2); + footerAdder.add(ButtonWidget.builder(Text.translatable("skyblocker.tips.previous"), button -> { + tip.setMessage(Tips.previousTip()); + layout.refreshPositions(); + }).build()); + footerAdder.add(ButtonWidget.builder(Text.translatable("skyblocker.tips.next"), button -> { + tip.setMessage(Tips.nextTip()); + layout.refreshPositions(); + }).build()); - this.layout.addFooter(tip); this.layout.refreshPositions(); this.layout.forEachChild(this::addDrawableChild); } @Override protected void initTabNavigation() { + super.initTabNavigation(); this.layout.refreshPositions(); } |