aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-12 04:44:21 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-12 04:44:21 -0400
commit85c4ec27d7ac4dab9ae45029e5a81c7f2f63121e (patch)
tree02a478625b4a20c7b3a7e3f2de5a205ad3ca02ab /src/main/java/de/hysky/skyblocker
parent200ad222960b8322495a2e4c29e46432ccc49cdf (diff)
downloadSkyblocker-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.java2
-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.java2
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;