aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsg-programs <msgdoesstuff@gmail.com>2023-06-04 13:02:43 +0200
committermsg-programs <msgdoesstuff@gmail.com>2023-06-04 13:02:43 +0200
commita8f69bdda78768ba6303810e4dbee4482f21464f (patch)
treebb83130d8d4bd48507b275058f8e6c59ea206dac
parentbf7ec68ff7f318864b33692d289c2acbf1ef9302 (diff)
downloadSkyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.tar.gz
Skyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.tar.bz2
Skyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.zip
Add widget to display dungeon buffs
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java44
2 files changed, 53 insertions, 5 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java
index 02ac9617..852ee876 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java
@@ -1,12 +1,12 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.screens.main;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
+import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonBuffWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonDeathWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonDownedWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonPuzzleWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonSecretWidget;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonServerWidget;
-
import net.minecraft.text.Text;
public class DungeonScreen extends Screen {
@@ -14,22 +14,26 @@ public class DungeonScreen extends Screen {
public DungeonScreen(int w, int h, Text footer) {
super(w, h);
+ String f = footer.getString();
+
DungeonDownedWidget ddow = new DungeonDownedWidget();
DungeonDeathWidget ddew = new DungeonDeathWidget();
DungeonSecretWidget dscw = new DungeonSecretWidget();
DungeonServerWidget dsrw = new DungeonServerWidget();
DungeonPuzzleWidget dpuw = new DungeonPuzzleWidget();
+ DungeonBuffWidget dbw = new DungeonBuffWidget(f);
this.offCenterL(ddow);
this.offCenterL(ddew);
- this.offCenterL(dscw);
+ this.offCenterL(dbw);
this.offCenterR(dsrw);
this.offCenterR(dpuw);
+ this.offCenterR(dscw);
- this.stackWidgetsH(ddow, ddew, dscw);
- this.stackWidgetsH(dsrw, dpuw);
+ this.stackWidgetsH(ddow, ddew, dbw);
+ this.stackWidgetsH(dsrw, dpuw, dscw);
- this.addWidgets(ddow, ddew, dscw, dsrw, dpuw);
+ this.addWidgets(ddow, ddew, dscw, dsrw, dpuw, dbw);
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
new file mode 100644
index 00000000..6ad5268e
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
@@ -0,0 +1,44 @@
+package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+
+import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+
+// this widget shows a list of obtained dungeon buffs
+// TODO: could be more pretty, can't be arsed atm
+
+public class DungeonBuffWidget extends Widget {
+
+ private static final MutableText TITLE = Text.literal("Dungeon Buffs").formatted(Formatting.DARK_PURPLE,
+ Formatting.BOLD);
+
+ public DungeonBuffWidget(String footertext) {
+ super(TITLE, Formatting.DARK_PURPLE.getColorValue());
+
+ if (footertext == null || !footertext.contains("Dungeon Buffs")) {
+ this.addComponent(new PlainTextComponent(Text.literal("No data").formatted(Formatting.GRAY)));
+ this.pack();
+ return;
+ }
+
+ String interesting = footertext.split("Dungeon Buffs")[1];
+ String[] lines = interesting.split("\n");
+
+ if (!lines[1].startsWith("Blessing")) {
+ this.addComponent(new PlainTextComponent(Text.literal("No buffs found!").formatted(Formatting.GRAY)));
+ this.pack();
+ return;
+ }
+
+ for (int i = 1; i < lines.length; i++) {
+ if (lines[i].length() < 3) { // empty line is §s
+ break;
+ }
+ this.addComponent(new PlainTextComponent(Text.of(lines[i])));
+ }
+
+ this.pack();
+ }
+
+}