diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-06-04 13:02:43 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-06-04 13:02:43 +0200 |
commit | a8f69bdda78768ba6303810e4dbee4482f21464f (patch) | |
tree | bb83130d8d4bd48507b275058f8e6c59ea206dac /src | |
parent | bf7ec68ff7f318864b33692d289c2acbf1ef9302 (diff) | |
download | Skyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.tar.gz Skyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.tar.bz2 Skyblocker-a8f69bdda78768ba6303810e4dbee4482f21464f.zip |
Add widget to display dungeon buffs
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/main/DungeonScreen.java | 14 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java | 44 |
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(); + } + +} |