aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-09-21 21:10:27 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-09-21 21:10:27 -0400
commita503b7d90787fa2450d4b0005a9f851de3434ac6 (patch)
treea875296522458b5899d561c330bb9ec9bd04727d /src
parent04afe1aa4d5e7cd236a7c295aed7bb1bda15f2e9 (diff)
downloadSkyblocker-a503b7d90787fa2450d4b0005a9f851de3434ac6.tar.gz
Skyblocker-a503b7d90787fa2450d4b0005a9f851de3434ac6.tar.bz2
Skyblocker-a503b7d90787fa2450d4b0005a9f851de3434ac6.zip
Refactor format time
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/UpcomingEventsTab.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/SkyblockTime.java26
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Utils.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/config/DurationController.java4
6 files changed, 36 insertions, 46 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
index 087d1663..da0f66c7 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java
@@ -6,6 +6,7 @@ import de.hysky.skyblocker.skyblock.item.tooltip.adders.LineSmoothener;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.RegexUtils;
import de.hysky.skyblocker.utils.RomanNumerals;
+import de.hysky.skyblocker.utils.SkyblockTime;
import de.hysky.skyblocker.utils.container.SimpleContainerSolver;
import de.hysky.skyblocker.utils.container.SlotTextAdder;
import de.hysky.skyblocker.utils.container.TooltipAdder;
@@ -364,26 +365,7 @@ public class ChocolateFactorySolver extends SimpleContainerSolver implements Too
}
private MutableText formatTime(double seconds) {
- seconds = Math.ceil(seconds);
- if (seconds <= 0) return Text.literal("Now").formatted(Formatting.GREEN);
-
- StringBuilder builder = new StringBuilder();
- if (seconds >= 86400) {
- builder.append((int) (seconds / 86400)).append("d ");
- seconds %= 86400;
- }
- if (seconds >= 3600) {
- builder.append((int) (seconds / 3600)).append("h ");
- seconds %= 3600;
- }
- if (seconds >= 60) {
- builder.append((int) (seconds / 60)).append("m ");
- seconds %= 60;
- }
- if (seconds >= 1) {
- builder.append((int) seconds).append("s");
- }
- return Text.literal(builder.toString()).formatted(Formatting.GOLD);
+ return SkyblockTime.formatTime(seconds).formatted(Formatting.GOLD);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java b/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java
index 48ea05c4..16bd5272 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java
@@ -1,7 +1,7 @@
package de.hysky.skyblocker.skyblock.events;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.SkyblockTime;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
@@ -71,7 +71,7 @@ public class EventToast implements Toast {
started = timeTillEvent < 0;
if (started) return;
- Text time = Utils.getDurationText(timeTillEvent);
+ Text time = SkyblockTime.formatTime(timeTillEvent);
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
context.drawText(textRenderer, time, x, y, Colors.LIGHT_YELLOW, false);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/UpcomingEventsTab.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/UpcomingEventsTab.java
index 9552ae87..5b46f568 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/UpcomingEventsTab.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/UpcomingEventsTab.java
@@ -3,7 +3,7 @@ package de.hysky.skyblocker.skyblock.itemlist;
import de.hysky.skyblocker.mixins.accessors.DrawContextInvoker;
import de.hysky.skyblocker.skyblock.events.EventNotifications;
import de.hysky.skyblocker.skyblock.tabhud.widget.JacobsContestWidget;
-import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.SkyblockTime;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
@@ -105,10 +105,10 @@ public class UpcomingEventsTab extends ItemListWidget.TabContainerWidget {
if (events.isEmpty()) {
context.drawText(textRenderer, Text.literal(" ").append(Text.translatable("skyblocker.events.tab.noMore")), x, y + textRenderer.fontHeight, Colors.GRAY, false);
} else if (events.peekFirst().start() > time) {
- MutableText formatted = Text.literal(" ").append(Text.translatable("skyblocker.events.tab.startsIn", Utils.getDurationText((int) (events.peekFirst().start() - time)))).formatted(Formatting.YELLOW);
+ MutableText formatted = Text.literal(" ").append(Text.translatable("skyblocker.events.tab.startsIn", SkyblockTime.formatTime((int) (events.peekFirst().start() - time)))).formatted(Formatting.YELLOW);
context.drawText(textRenderer, formatted, x, y + textRenderer.fontHeight, -1, true);
} else {
- MutableText formatted = Text.literal(" ").append(Text.translatable( "skyblocker.events.tab.endsIn", Utils.getDurationText((int) (events.peekFirst().start() + events.peekFirst().duration() - time)))).formatted(Formatting.GREEN);
+ MutableText formatted = Text.literal(" ").append(Text.translatable( "skyblocker.events.tab.endsIn", SkyblockTime.formatTime((int) (events.peekFirst().start() + events.peekFirst().duration() - time)))).formatted(Formatting.GREEN);
context.drawText(textRenderer, formatted, x, y + textRenderer.fontHeight, -1, true);
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/SkyblockTime.java b/src/main/java/de/hysky/skyblocker/utils/SkyblockTime.java
index 3f6025f0..3c9a51fd 100644
--- a/src/main/java/de/hysky/skyblocker/utils/SkyblockTime.java
+++ b/src/main/java/de/hysky/skyblocker/utils/SkyblockTime.java
@@ -4,6 +4,9 @@ import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -122,6 +125,29 @@ public class SkyblockTime {
LOGGER.info("[Skyblocker Time] Skyblock time updated to Year {}, Season {}, Month {}, Day {}, Hour {}", year, season, month, day, hour);
}
+ public static MutableText formatTime(double seconds) {
+ seconds = Math.ceil(seconds);
+ if (seconds <= 0) return Text.literal("Now").formatted(Formatting.GREEN);
+
+ StringBuilder builder = new StringBuilder();
+ if (seconds >= 86400) {
+ builder.append((int) (seconds / 86400)).append("d ");
+ seconds %= 86400;
+ }
+ if (seconds >= 3600) {
+ builder.append((int) (seconds / 3600)).append("h ");
+ seconds %= 3600;
+ }
+ if (seconds >= 60) {
+ builder.append((int) (seconds / 60)).append("m ");
+ seconds %= 60;
+ }
+ if (seconds >= 1) {
+ builder.append((int) seconds).append("s");
+ }
+ return Text.literal(builder.toString());
+ }
+
public enum Season {
SPRING, SUMMER, FALL, WINTER
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java
index aa795d68..53be6f87 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Utils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java
@@ -28,7 +28,6 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.scoreboard.*;
-import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Util;
@@ -353,24 +352,7 @@ public class Utils {
}
}
- // TODO: Combine with `ChocolateFactorySolver.formatTime` and move into `SkyblockTime`.
- public static Text getDurationText(int timeInSeconds) {
- int seconds = timeInSeconds % 60;
- int minutes = (timeInSeconds / 60) % 60;
- int hours = (timeInSeconds / 3600);
-
- MutableText time = Text.empty();
- if (hours > 0) {
- time.append(hours + "h").append(" ");
- }
- if (hours > 0 || minutes > 0) {
- time.append(minutes + "m").append(" ");
- }
- time.append(seconds + "s");
- return time;
- }
-
- private static void updateFromPlayerList(MinecraftClient client) {
+ private static void updateFromPlayerList(MinecraftClient client) {
if (client.getNetworkHandler() == null) {
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/config/DurationController.java b/src/main/java/de/hysky/skyblocker/utils/config/DurationController.java
index 09edcf3c..00046475 100644
--- a/src/main/java/de/hysky/skyblocker/utils/config/DurationController.java
+++ b/src/main/java/de/hysky/skyblocker/utils/config/DurationController.java
@@ -1,6 +1,6 @@
package de.hysky.skyblocker.utils.config;
-import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.SkyblockTime;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.utils.Dimension;
import dev.isxander.yacl3.gui.AbstractWidget;
@@ -18,7 +18,7 @@ public record DurationController(Option<Integer> option) implements IStringContr
@Override
public String getString() {
- return Utils.getDurationText(option.pendingValue()).getString();
+ return SkyblockTime.formatTime(option.pendingValue()).getString();
}