aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/PreviewTab.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java2
5 files changed, 16 insertions, 4 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/PreviewTab.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/PreviewTab.java
index 80316a77..34400e26 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/PreviewTab.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/PreviewTab.java
@@ -301,7 +301,15 @@ public class PreviewTab implements Tab {
}).width(width).build());
- String parentName = positionRule.parent().equals("screen") ? "Screen" : ScreenMaster.widgetInstances.get(positionRule.parent()).getNiceName();
+ String parentName;
+ HudWidget parent;
+ if (positionRule.parent().equals("screen")) {
+ parentName = "Screen";
+ } else if ((parent = ScreenMaster.widgetInstances.get(positionRule.parent())) == null) {
+ parentName = "Unloaded Widget";
+ } else {
+ parentName = parent.getNiceName();
+ }
widgetOptions.addWidget(ButtonWidget.builder(Text.literal("Parent: " + parentName), button -> {
this.previewWidget.pickParent = true;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
index bdfe792b..021e3ebc 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
@@ -12,6 +12,7 @@ import de.hysky.skyblocker.events.HudRenderEvents;
import de.hysky.skyblocker.events.SkyblockEvents;
import de.hysky.skyblocker.annotations.Init;
import de.hysky.skyblocker.skyblock.tabhud.TabHud;
+import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen;
import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PositionRule;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
@@ -160,6 +161,7 @@ public class ScreenMaster {
HudRenderEvents.BEFORE_CHAT.register((context, tickDelta) -> {
if (!Utils.isOnSkyblock()) return;
MinecraftClient client = MinecraftClient.getInstance();
+ if (client.currentScreen instanceof WidgetsConfigurationScreen) return;
Window window = client.getWindow();
float scale = SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudScale / 100f;
MatrixStack matrices = context.getMatrices();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
index 81eaeae7..b94c2503 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
@@ -79,10 +79,12 @@ public class PlayerListMgr {
playerStringList = playerList.stream().map(PlayerListEntry::getDisplayName).filter(Objects::nonNull).map(Text::getString).map(String::strip).toList();
}
+ if (MinecraftClient.getInstance().currentScreen instanceof WidgetsConfigurationScreen widgetsConfigurationScreen && widgetsConfigurationScreen.isPreviewVisible()) return;
+
if (Utils.isInDungeons()) {
updateDungeons(null);
}
- else if (!(MinecraftClient.getInstance().currentScreen instanceof WidgetsConfigurationScreen widgetsConfigurationScreen && widgetsConfigurationScreen.isPreviewVisible())) {
+ else {
updateWidgetsFrom(playerList.stream().map(PlayerListEntry::getDisplayName).filter(Objects::nonNull).toList());
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
index 0af122df..8941fe05 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
@@ -100,7 +100,7 @@ public class MinionWidget extends TabHudWidget {
addComponent(new PlainTextComponent(lines.getFirst().copy().append(Text.literal(" minions"))));
for (int i = 1; i < lines.size(); i++) {
String string = lines.get(i).getString();
- if (string.toLowerCase().contains("... and")) this.addComponent(new PlainTextComponent(lines.get(i)));
+ if (string.toLowerCase().startsWith("...")) this.addComponent(new PlainTextComponent(lines.get(i).copy().formatted(Formatting.GRAY)));
else addMinionComponent(string);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java
index 1d6a735b..e4ca0e27 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java
@@ -45,7 +45,7 @@ public abstract class TabHudWidget extends ComponentBasedWidget {
/**
* Update the content from the hypixel widget's lines
*
- * @param lines the lines, they are formatted, no blank lines will be present.
+ * @param lines the lines, they are formatted and trimmed, no blank lines will be present.
* If the vanilla tab widget has text right after the : they will be put on the first line.
*/
protected abstract void updateContent(List<Text> lines);