aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2025-01-09 11:09:34 -0500
committerGitHub <noreply@github.com>2025-01-10 00:09:34 +0800
commit5c696dec42541a085637eae68295019e17fe7db2 (patch)
tree85fa1f9205b416ddaea947e41149ed2339bf3595 /src/main/java/de
parent55f911e98a69c95dcd5c3ff8a6dae8e0f35d6d73 (diff)
downloadSkyblocker-5c696dec42541a085637eae68295019e17fe7db2.tar.gz
Skyblocker-5c696dec42541a085637eae68295019e17fe7db2.tar.bz2
Skyblocker-5c696dec42541a085637eae68295019e17fe7db2.zip
Tab hud additions (#1128)
* Add vanilla tab by default option * Rename PlayerListManager * Clean up builder map * Add dwarven hud config button * Add hud styles * Fancy only * Render vanilla * Update javadocs and refactor * Refactor progress component * Apply style to all progress components * Add colon processing * Change styles * Add style Javadocs * Implement minimal style * Comments
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java19
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java36
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonPlayerManager.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/GardenPlotsWidget.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java30
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListManager.java (renamed from src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java23
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Components.java55
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java35
34 files changed, 252 insertions, 116 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index a08c3093..06018168 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -8,7 +8,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.config.datafixer.ConfigDataFixer;
import de.hysky.skyblocker.skyblock.StatusBarTracker;
import de.hysky.skyblocker.skyblock.item.tooltip.BackpackPreview;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.discord.DiscordRPCManager;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
@@ -66,7 +66,7 @@ public class SkyblockerMod implements ClientModInitializer {
Scheduler.INSTANCE.scheduleCyclic(Utils::update, 20);
Scheduler.INSTANCE.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 200);
Scheduler.INSTANCE.scheduleCyclic(BackpackPreview::tick, 50);
- Scheduler.INSTANCE.scheduleCyclic(PlayerListMgr::updateList, 20);
+ Scheduler.INSTANCE.scheduleCyclic(PlayerListManager::updateList, 20);
}
/**
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
index 890d86aa..3eed81da 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
@@ -7,6 +7,7 @@ import de.hysky.skyblocker.config.screens.powdertracker.PowderFilterConfigScreen
import de.hysky.skyblocker.skyblock.dwarven.CrystalsHudWidget;
import de.hysky.skyblocker.skyblock.dwarven.CarpetHighlighter;
import de.hysky.skyblocker.skyblock.dwarven.PowderMiningTracker;
+import de.hysky.skyblocker.skyblock.tabhud.widget.CommsWidget;
import dev.isxander.yacl3.api.*;
import dev.isxander.yacl3.api.controller.ColorControllerBuilder;
import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen;
@@ -42,6 +43,12 @@ public class MiningCategory {
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.config.mining.dwarvenHud.screen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.DWARVEN_MINES, CommsWidget.ID, screen)))
+ .build())
+
//Dwarven Mines
.group(OptionGroup.createBuilder()
.name(Text.translatable("skyblocker.config.mining.dwarvenMines"))
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
index 208113ef..6d18c451 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
@@ -240,6 +240,25 @@ public class UIAndVisualsCategory {
newValue -> config.uiAndVisuals.tabHud.tabHudScale = newValue)
.controller(opt -> IntegerSliderControllerBuilder.create(opt).range(10, 200).step(1))
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.showVanillaTabByDefault"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.showVanillaTabByDefault.@Tooltip")))
+ .binding(defaults.uiAndVisuals.tabHud.showVanillaTabByDefault,
+ () -> config.uiAndVisuals.tabHud.showVanillaTabByDefault,
+ newValue -> config.uiAndVisuals.tabHud.showVanillaTabByDefault = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<UIAndVisualsConfig.TabHudStyle>createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.style"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.style.@Tooltip[0]"),
+ Text.translatable("skyblocker.config.uiAndVisuals.tabHud.style.@Tooltip[1]"),
+ Text.translatable("skyblocker.config.uiAndVisuals.tabHud.style.@Tooltip[2]"),
+ Text.translatable("skyblocker.config.uiAndVisuals.tabHud.style.@Tooltip[3]")))
+ .binding(defaults.uiAndVisuals.tabHud.style,
+ () -> config.uiAndVisuals.tabHud.style,
+ newValue -> config.uiAndVisuals.tabHud.style = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.enableHudBackground"))
.description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.tabHud.enableHudBackground.@Tooltip")))
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
index f73f38a9..34c59429 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java
@@ -175,6 +175,10 @@ public class MiningConfig {
public boolean autoShareCorpses = false;
}
+ /**
+ * @deprecated See {@link UIAndVisualsConfig.TabHudStyle}.
+ */
+ @Deprecated
public enum DwarvenHudStyle {
SIMPLE, FANCY, CLASSIC;
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
index aaf6e9df..7a6b3f5d 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
@@ -187,6 +187,12 @@ public class UIAndVisualsConfig {
@SerialEntry
public int tabHudScale = 100;
+ @SerialEntry
+ public boolean showVanillaTabByDefault = false;
+
+ @SerialEntry
+ public TabHudStyle style = TabHudStyle.FANCY;
+
@SerialEntry
public boolean enableHudBackground = true;
@@ -203,6 +209,36 @@ public class UIAndVisualsConfig {
public NameSorting nameSorting = NameSorting.DEFAULT;
}
+ public enum TabHudStyle {
+ /**
+ * The minimal style, with no decorations, icons, or custom components,
+ * rendered in a minimal rectangle background,
+ * or no background at all if {@link TabHudConf#enableHudBackground} is false.
+ */
+ MINIMAL,
+ /**
+ * The simple style, with no decorations, icons, or custom components.
+ */
+ SIMPLE,
+ /**
+ * The classic style, with decorations such as icons but no custom components.
+ */
+ CLASSIC,
+ /**
+ * The default style, with all custom components and decorations in use.
+ */
+ FANCY;
+
+ public boolean isMinimal() {
+ return this == MINIMAL;
+ }
+
+ @Override
+ public String toString() {
+ return I18n.translate("skyblocker.config.uiAndVisuals.tabHud.style." + name());
+ }
+ }
+
@Deprecated
public enum NameSorting {
DEFAULT, ALPHABETICAL;
diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java
index cf4d2060..258d6a44 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java
@@ -18,7 +18,7 @@ import de.hysky.skyblocker.skyblock.end.EnderNodes;
import de.hysky.skyblocker.skyblock.end.TheEnd;
import de.hysky.skyblocker.skyblock.slayers.SlayerManager;
import de.hysky.skyblocker.skyblock.slayers.boss.demonlord.FirePillarAnnouncer;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.skyblock.waypoint.MythologicalRitual;
import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.network.ClientPlayNetworkHandler;
@@ -101,7 +101,7 @@ public abstract class ClientPlayNetworkHandlerMixin {
@Inject(method = "onPlayerListHeader", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/PlayerListHud;setFooter(Lnet/minecraft/text/Text;)V"))
private void skyblocker$updatePlayerListFooter(PlayerListHeaderS2CPacket packet, CallbackInfo ci) {
- PlayerListMgr.updateFooter(packet.footer());
+ PlayerListManager.updateFooter(packet.footer());
}
@WrapWithCondition(method = "onPlayerList", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false))
diff --git a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
index d8373119..a41a2776 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
@@ -24,7 +24,6 @@ import net.minecraft.client.gui.LayeredDrawer;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.gui.hud.PlayerListHud;
import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.RenderTickCounter;
import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
@@ -202,6 +201,6 @@ public abstract class InGameHudMixin {
@WrapWithCondition(method = "renderPlayerList", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/PlayerListHud;render(Lnet/minecraft/client/gui/DrawContext;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreboardObjective;)V"))
private boolean skyblocker$shouldRenderHud(PlayerListHud playerListHud, DrawContext context, int scaledWindowWidth, Scoreboard scoreboard, ScoreboardObjective objective) {
- return !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed() || MinecraftClient.getInstance().currentScreen instanceof WidgetsConfigurationScreen;
+ return !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudEnabled || TabHud.shouldRenderVanilla() || MinecraftClient.getInstance().currentScreen instanceof WidgetsConfigurationScreen;
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
index a00025d0..56ae089d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
@@ -7,7 +7,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.config.configs.DungeonsConfig;
import de.hysky.skyblocker.events.DungeonEvents;
import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.ProfileUtils;
import de.hysky.skyblocker.utils.Utils;
@@ -231,7 +231,7 @@ public class DungeonScore {
}
private static int getCompletedRooms() {
- Matcher matcher = PlayerListMgr.regexAt(43, COMPLETED_ROOMS_PATTERN);
+ Matcher matcher = PlayerListManager.regexAt(43, COMPLETED_ROOMS_PATTERN);
return matcher != null ? Integer.parseInt(matcher.group("rooms")) : 0;
}
@@ -259,14 +259,14 @@ public class DungeonScore {
}
private static int getPuzzleCount() {
- Matcher matcher = PlayerListMgr.regexAt(47, PUZZLE_COUNT_PATTERN);
+ Matcher matcher = PlayerListManager.regexAt(47, PUZZLE_COUNT_PATTERN);
return matcher != null ? Integer.parseInt(matcher.group("count")) : 0;
}
private static int getPuzzlePenalty() {
int incompletePuzzles = 0;
for (int index = 0; index < puzzleCount; index++) {
- Matcher puzzleMatcher = PlayerListMgr.regexAt(48 + index, PUZZLES_PATTERN);
+ Matcher puzzleMatcher = PlayerListManager.regexAt(48 + index, PUZZLES_PATTERN);
if (puzzleMatcher == null) break;
if (puzzleMatcher.group("state").matches("[✖✦]")) incompletePuzzles++;
}
@@ -274,13 +274,13 @@ public class DungeonScore {
}
private static double getSecretsPercentage() {
- Matcher matcher = PlayerListMgr.regexAt(44, SECRETS_PATTERN);
+ Matcher matcher = PlayerListManager.regexAt(44, SECRETS_PATTERN);
return matcher != null ? Double.parseDouble(matcher.group("secper")) : 0;
}
private static int getCrypts() {
- Matcher matcher = PlayerListMgr.regexAt(33, CRYPTS_PATTERN);
- if (matcher == null) matcher = PlayerListMgr.regexAt(32, CRYPTS_PATTERN); //If class milestone 9 is reached, crypts goes up by 1
+ Matcher matcher = PlayerListManager.regexAt(33, CRYPTS_PATTERN);
+ if (matcher == null) matcher = PlayerListManager.regexAt(32, CRYPTS_PATTERN); //If class milestone 9 is reached, crypts goes up by 1
return matcher != null ? Integer.parseInt(matcher.group("crypts")) : 0;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonPlayerManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonPlayerManager.java
index 6a516007..4c3a0e8c 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonPlayerManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonPlayerManager.java
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.Range;
import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.events.DungeonEvents;
import de.hysky.skyblocker.skyblock.dungeon.DungeonClass;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import it.unimi.dsi.fastutil.objects.Object2ReferenceMap;
import it.unimi.dsi.fastutil.objects.Object2ReferenceOpenHashMap;
import net.minecraft.entity.player.PlayerEntity;
@@ -51,6 +51,6 @@ public class DungeonPlayerManager {
}
private static Matcher getPlayerFromTab(@Range(from = 1, to = 5) int index) {
- return PlayerListMgr.regexAt(1 + (index - 1) * 4, PLAYER_TAB_PATTERN);
+ return PlayerListManager.regexAt(1 + (index - 1) * 4, PLAYER_TAB_PATTERN);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
index 31d0aba0..2cf700bb 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
@@ -5,7 +5,7 @@ import com.google.gson.JsonParser;
import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.events.DungeonEvents;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
import de.hysky.skyblocker.utils.ApiUtils;
import de.hysky.skyblocker.utils.Constants;
@@ -131,7 +131,7 @@ public class SecretsTracker {
}
private static String getPlayerNameAt(int index) {
- Matcher matcher = PlayerListMgr.regexAt(1 + (index - 1) * 4, DungeonPlayerWidget.PLAYER_PATTERN);
+ Matcher matcher = PlayerListManager.regexAt(1 + (index - 1) * 4, DungeonPlayerWidget.PLAYER_PATTERN);
return matcher != null ? matcher.group("name") : "";
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
index 4b04430d..e7f4a6b7 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
@@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.dwarven;
import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
@@ -110,11 +110,11 @@ public class WishingCompassSolver {
return false;
}
//make sure the data is in tab and if not tell the user
- if (PlayerListMgr.getPlayerStringList().stream().noneMatch(entry -> entry.startsWith("Active Effects:"))) {
+ if (PlayerListManager.getPlayerStringList().stream().noneMatch(entry -> entry.startsWith("Active Effects:"))) {
CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.enableTabEffectsMessage")), false);
return false;
}
- return PlayerListMgr.getPlayerStringList().stream().anyMatch(entry -> entry.startsWith("King's Scent"));
+ return PlayerListManager.getPlayerStringList().stream().anyMatch(entry -> entry.startsWith("King's Scent"));
}
private static boolean isKeyInInventory() {
@@ -131,13 +131,13 @@ public class WishingCompassSolver {
}
//make sure the data is in tab and if not tell the user
- if (PlayerListMgr.getPlayerStringList().stream().noneMatch(entry -> entry.equals("Crystals:"))) {
+ if (PlayerListManager.getPlayerStringList().stream().noneMatch(entry -> entry.equals("Crystals:"))) {
CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.wishingCompassSolver.enableTabMessage")), false);
return false;
}
//return if the crystal for a zone is found
- Stream<String> displayNameStream = PlayerListMgr.getPlayerStringList().stream();
+ Stream<String> displayNameStream = PlayerListManager.getPlayerStringList().stream();
return switch (zone) {
case JUNGLE -> displayNameStream.noneMatch(entry -> entry.equals("Amethyst: ✖ Not Found"));
case MITHRIL_DEPOSITS -> displayNameStream.noneMatch(entry -> entry.equals("Jade: ✖ Not Found"));
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
index 868bf4cf..ab37080f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
@@ -6,8 +6,8 @@ import de.hysky.skyblocker.skyblock.item.tooltip.info.TooltipInfoType;
import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import de.hysky.skyblocker.skyblock.tabhud.widget.ComponentBasedWidget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.Components;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
-import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.Location;
import it.unimi.dsi.fastutil.doubles.DoubleBooleanPair;
@@ -96,7 +96,7 @@ public class FarmingHudWidget extends ComponentBasedWidget {
addSimpleIcoText(Ico.GOLD, "Coins/h: ", Formatting.GOLD, getPriceText(cropItemId, cropsPerMinute));
addSimpleIcoText(cropStack, "Blocks/s: ", Formatting.YELLOW, Integer.toString(FarmingHud.blockBreaks()));
//noinspection DataFlowIssue
- addComponent(new ProgressComponent(Ico.LANTERN, Text.literal("Farming Level: "), FarmingHud.farmingXpPercentProgress(), Formatting.GOLD.getColorValue()));
+ addComponent(Components.progressComponent(Ico.LANTERN, Text.literal("Farming Level: "), FarmingHud.farmingXpPercentProgress(), Formatting.GOLD.getColorValue()));
addSimpleIcoText(Ico.LIME_DYE, "Farming XP/h: ", Formatting.YELLOW, FarmingHud.NUMBER_FORMAT.format((int) FarmingHud.farmingXpPerHour()));
Entity cameraEntity = client.getCameraEntity();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/GardenPlotsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/GardenPlotsWidget.java
index 41da74da..93fc0c49 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/GardenPlotsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/GardenPlotsWidget.java
@@ -7,7 +7,7 @@ import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.events.SkyblockEvents;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import it.unimi.dsi.fastutil.ints.*;
@@ -262,8 +262,8 @@ public class GardenPlotsWidget extends ClickableWidget {
private void updateInfestedFromTab() {
infectedPlots.clear();
- for (int i = 0; i < PlayerListMgr.getPlayerStringList().size(); i++) {
- String string = PlayerListMgr.getPlayerStringList().get(i);
+ for (int i = 0; i < PlayerListManager.getPlayerStringList().size(); i++) {
+ String string = PlayerListManager.getPlayerStringList().get(i);
if (string.startsWith("Plots:")) {
String[] split = string.split(":")[1].split(",");
for (String s : split) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
index 19663040..aa56e3e2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
@@ -1,6 +1,7 @@
package de.hysky.skyblocker.skyblock.tabhud;
import de.hysky.skyblocker.annotations.Init;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
@@ -8,7 +9,7 @@ import org.lwjgl.glfw.GLFW;
public class TabHud {
public static KeyBinding toggleSecondary;
- public static KeyBinding defaultTgl;
+ private static KeyBinding defaultTgl;
@Init
public static void init() {
@@ -23,4 +24,8 @@ public class TabHud {
GLFW.GLFW_KEY_M,
"key.categories.skyblocker"));
}
+
+ public static boolean shouldRenderVanilla() {
+ return defaultTgl.isPressed() != SkyblockerConfigManager.get().uiAndVisuals.tabHud.showVanillaTabByDefault;
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
index 71c5b494..8a0e0509 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
@@ -5,7 +5,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.tabhud.config.entries.WidgetEntry;
import de.hysky.skyblocker.skyblock.tabhud.config.preview.PreviewTab;
import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
-import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListManager;
import de.hysky.skyblocker.skyblock.tabhud.widget.HudWidget;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.Location;
@@ -275,7 +275,7 @@ public class WidgetsConfigurationScreen extends Screen implements ScreenHandlerL
this.handler.onClosed(this.client.player);
}
handler.removeListener(this);
- Scheduler.INSTANCE.schedule(PlayerListMgr::updateList, 1);
+ Scheduler.INSTANCE.schedule(PlayerListManager::updateList, 1);
SkyblockerConfigManager.save();
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java
index 2cd743ac..18d608ed 100644
--- a/src/main/java/de/hysky/skyblocker/skybl