diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-04-12 04:44:21 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-04-12 04:44:21 -0400 |
commit | 85c4ec27d7ac4dab9ae45029e5a81c7f2f63121e (patch) | |
tree | 02a478625b4a20c7b3a7e3f2de5a205ad3ca02ab /src/main/java/de/hysky/skyblocker | |
parent | 200ad222960b8322495a2e4c29e46432ccc49cdf (diff) | |
download | Skyblocker-85c4ec27d7ac4dab9ae45029e5a81c7f2f63121e.tar.gz Skyblocker-85c4ec27d7ac4dab9ae45029e5a81c7f2f63121e.tar.bz2 Skyblocker-85c4ec27d7ac4dab9ae45029e5a81c7f2f63121e.zip |
Enhance screen with tips and move done button
Diffstat (limited to 'src/main/java/de/hysky/skyblocker')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/SkyblockerMod.java | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/SkyblockerScreen.java (renamed from src/main/java/de/hysky/skyblocker/InfoScreen.java) | 15 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/Tips.java | 2 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java index 11fda0c6..f8a15d62 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java @@ -98,7 +98,7 @@ public class SkyblockerMod implements ClientModInitializer { ClientTickEvents.END_CLIENT_TICK.register(this::tick); Utils.init(); SkyblockerConfigManager.init(); - InfoScreen.initClass(); + SkyblockerScreen.initClass(); Tips.init(); NEURepoManager.init(); ImageRepoLoader.init(); diff --git a/src/main/java/de/hysky/skyblocker/InfoScreen.java b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java index cbbe7ab0..ba0745ed 100644 --- a/src/main/java/de/hysky/skyblocker/InfoScreen.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.Tips; import de.hysky.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -10,6 +11,7 @@ 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.screen.ScreenTexts; @@ -19,7 +21,7 @@ import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Language; -public class InfoScreen extends Screen { +public class SkyblockerScreen extends Screen { private static final int SPACING = 8; private static final int BUTTON_WIDTH = 210; private static final int HALF_BUTTON_WIDTH = 101; //Same as (210 - 8) / 2 @@ -34,14 +36,14 @@ public class InfoScreen extends Screen { private static final Text DISCORD_TEXT = Text.translatable("text.skyblocker.discord"); private final ThreePartsLayoutWidget layout = new ThreePartsLayoutWidget(this); - private InfoScreen() { + private SkyblockerScreen() { super(TITLE); } public static void initClass() { ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> { dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE) - .executes(Scheduler.queueOpenScreenCommand(InfoScreen::new))); + .executes(Scheduler.queueOpenScreenCommand(SkyblockerScreen::new))); }); } @@ -60,8 +62,13 @@ public class InfoScreen extends Screen { adder.add(ButtonWidget.builder(TRANSLATE_TEXT, ConfirmLinkScreen.opening(this, "https://translate.hysky.de/")).width(HALF_BUTTON_WIDTH).build()); adder.add(ButtonWidget.builder(MODRINTH_TEXT, ConfirmLinkScreen.opening(this, "https://modrinth.com/mod/skyblocker-liap")).width(HALF_BUTTON_WIDTH).build()); 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); - this.layout.addFooter(ButtonWidget.builder(ScreenTexts.DONE, button -> this.close()).build()); + MultilineTextWidget tip = new MultilineTextWidget(Text.translatable("skyblocker.tips.tip", Tips.nextTipInternal()), this.textRenderer) + .setCentered(true) + .setMaxWidth((int) (this.width * 0.7)); + + this.layout.addFooter(tip); this.layout.refreshPositions(); this.layout.forEachChild(this::addDrawableChild); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/Tips.java b/src/main/java/de/hysky/skyblocker/skyblock/Tips.java index ad345527..25f7e829 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/Tips.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/Tips.java @@ -102,7 +102,7 @@ public class Tips { .append(Text.translatable("skyblocker.tips.clickDisable").styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/skyblocker tips disable")))); } - private static Text nextTipInternal() { + public static Text nextTipInternal() { int randomInt = RANDOM.nextInt(TIPS.size()); while (randomInt == previousTipIndex) randomInt = RANDOM.nextInt(TIPS.size()); previousTipIndex = randomInt; |