From 9b2c02887f2d918bbae380c094bd36282b9378ac Mon Sep 17 00:00:00 2001 From: viciscat <51047087+viciscat@users.noreply.github.com> Date: Thu, 12 Dec 2024 21:20:54 +0100 Subject: 1.21.4 --- .../config/categories/UIAndVisualsCategory.java | 1 + .../skyblock/tabhud/config/WidgetsElementList.java | 2 +- .../skyblock/tabhud/config/preview/PreviewTab.java | 18 ++++----- .../skyblock/tabhud/util/PlayerListMgr.java | 3 +- .../skyblock/tabhud/widget/EventWidget.java | 4 +- .../skyblock/waypoint/DropdownWidget.java | 0 .../utils/render/gui/DropdownWidget.java | 43 +++++++++++----------- 7 files changed, 37 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/de/hysky/skyblocker/skyblock/waypoint/DropdownWidget.java (limited to 'src/main/java') 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 499a174c..5f8bdd3e 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.config.configs.UIAndVisualsConfig; import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen; import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen; import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java index 2bed6954..5a687d35 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java @@ -63,7 +63,7 @@ public class WidgetsElementList extends ElementListWidget { if (!children().isEmpty()) addEntry(SEPARATOR); parent.getCustomWidgetEntries().forEach(this::addEntry); } - setScrollAmount(getScrollAmount()); + setScrollY(getScrollY()); } super.renderWidget(context, mouseX, mouseY, delta); WidgetsListEntry hoveredEntry = getHoveredEntry(); 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 5f409045..6b6c0e46 100644 --- 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 @@ -257,7 +257,7 @@ public class PreviewTab implements Tab { if (hudWidget == null) return; ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(getCurrentLocation()); PositionRule positionRule = screenBuilder.getPositionRule(hudWidget.getInternalID()); - int width = widgetOptions.getWidth() - widgetOptions.getScrollerWidth(); + int width = widgetOptions.getWidth() - 6; // Normal hud widgets don't have auto. if (positionRule == null && !(hudWidget instanceof TabHudWidget)) { @@ -387,7 +387,7 @@ public class PreviewTab implements Tab { } @Override - protected int getContentsHeight() { + protected int getContentsHeightWithPadding() { return height; } @@ -396,15 +396,19 @@ public class PreviewTab implements Tab { return 6; } + protected boolean isNotVisible(int i, int j) { + return !((double) j - this.getScrollY() >= (double) this.getY()) || !((double) i - this.getScrollY() <= (double) (this.getY() + this.height)); + } + @Override - protected void renderContents(DrawContext context, int mouseX, int mouseY, float delta) { + protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { height = 0; for (ClickableWidget widget : widgets) { widget.setX(getX() + 1); widget.setY(getY() + 1 + height); height += widget.getHeight() + 1; - if (!isVisible(widget.getY(), widget.getBottom())) continue; + if (isNotVisible(widget.getY(), widget.getBottom())) continue; widget.render(context, mouseX, mouseY + (int) getScrollY(), delta); } @@ -413,16 +417,12 @@ public class PreviewTab implements Tab { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { for (ClickableWidget widget : widgets) { - if (!isVisible(widget.getY(), widget.getBottom())) continue; + if (isNotVisible(widget.getY(), widget.getBottom())) continue; if (widget.mouseClicked(mouseX, mouseY + getScrollY(), button)) return true; } return super.mouseClicked(mouseX, mouseY, button); } - @Override - protected void drawBox(DrawContext context) { - } - @Override protected void appendClickableNarrations(NarrationMessageBuilder builder) { } 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 513c48a2..dbf69d33 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 @@ -151,7 +151,8 @@ public class PlayerListMgr { if (infoColumnPredicate.test(string)) continue; // New widget alert!!!! // Now check for : because of the farming contest ACTIVE - if (!string.startsWith(" ") && string.contains(":")) { + // Check for mining event minutes CUZ THEY FUCKING FORGOT THE SPACE iefzeoifzeoifomezhif + if (!string.startsWith(" ") && string.contains(":") && (!hypixelWidgetName.right().startsWith("Mining Event") || !string.toLowerCase().startsWith("ends in"))) { if (!contents.isEmpty()) tabWidgetsToShow.add(getTabHudWidget(hypixelWidgetName, contents)); contents.clear(); Pair, ? extends Text> nameAndInfo = getNameAndInfo(displayName); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java index bcc5e763..2151b77d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java @@ -21,8 +21,8 @@ public class EventWidget extends TabHudWidget { @Override public void updateContent(List lines) { - this.addComponent(new IcoTextComponent(Ico.NTAG, lines.getFirst())); - this.addComponent(new IcoTextComponent(Ico.CLOCK, lines.get(1))); + if (!lines.isEmpty()) this.addComponent(new IcoTextComponent(Ico.NTAG, lines.getFirst())); + if (lines.size() > 1) this.addComponent(new IcoTextComponent(Ico.CLOCK, lines.get(1))); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/DropdownWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/DropdownWidget.java deleted file mode 100644 index e69de29b..00000000 diff --git a/src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java index 2bacf76f..5c53e575 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java @@ -111,6 +111,24 @@ public class DropdownWidget extends ContainerWidget { return super.mouseClicked(mouseX, mouseY, button); } + @Override + protected int getContentsHeightWithPadding() { + return getHeight(); + } + + @Override + protected double getDeltaYPerScroll() { + return 0; + } + + // container widget doesn't make it go to children anymore cuz WHY NOT + @Override + public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) { + if (!visible) return false; + if (this.hoveredElement(mouseX, mouseY).filter(element -> element.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount)).isPresent()) return true; + return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount); + } + private class DropdownList extends ElementListWidget { @@ -136,30 +154,13 @@ public class DropdownWidget extends ContainerWidget { // Custom scrollbar - @Override - protected void updateScrollingState(double mouseX, double mouseY, int button) {} @Override - protected boolean isScrollbarVisible() { - return !overrideScrollbarVisible && super.isScrollbarVisible(); - } - - private boolean overrideScrollbarVisible = false; - - @Override - public void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { - overrideScrollbarVisible = true; - super.renderWidget(context, mouseX, mouseY, delta); - overrideScrollbarVisible = false; - if (this.isScrollbarVisible()) { + protected void drawScrollbar(DrawContext context) { + if (this.overflows()) { int i = this.getScrollbarX(); - int j = (int) ((float) (this.height * this.height) / (float) this.getMaxPosition()); - j = Math.clamp(j, 32, this.height - 8); - int k = (int) this.getScrollAmount() * (this.height - j) / this.getMaxScroll() + this.getY(); - if (k < this.getY()) { - k = this.getY(); - } - + int j = this.getScrollbarThumbHeight(); + int k = this.getScrollbarThumbY(); context.drawVerticalLine(i, k, k + j, -1); } } -- cgit