diff options
| author | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-06-24 15:00:24 +0200 |
|---|---|---|
| committer | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-12-12 18:19:05 +0100 |
| commit | 0e250cec774b36cab3f099e45b0784d9a0b3a830 (patch) | |
| tree | 68ee906f65d066633b75856c1cbb0b57962c8c81 /src/main/java/de | |
| parent | 091e95564e4c48d2f6c394161d073e31643a4141 (diff) | |
| download | Skyblocker-0e250cec774b36cab3f099e45b0784d9a0b3a830.tar.gz Skyblocker-0e250cec774b36cab3f099e45b0784d9a0b3a830.tar.bz2 Skyblocker-0e250cec774b36cab3f099e45b0784d9a0b3a830.zip | |
more things, dragging things around setting the anchor and parent
Diffstat (limited to 'src/main/java/de')
5 files changed, 278 insertions, 79 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 b1a4b6d5..d473d89e 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 @@ -33,13 +33,13 @@ import java.util.function.Consumer; public class PreviewTab implements Tab { - private static final int RIGHT_SIDE_WIDTH = 120; + public static final int RIGHT_SIDE_WIDTH = 120; private final MinecraftClient client; private final PreviewWidget previewWidget; private final WidgetsConfigurationScreen parent; private final WidgetOptionsScrollable widgetOptions; - private ScreenBuilder.Layer currentLayer = ScreenBuilder.Layer.MAIN_TAB; + private ScreenBuilder.ScreenLayer currentScreenLayer = ScreenBuilder.ScreenLayer.MAIN_TAB; private final ButtonWidget[] layerButtons; public PreviewTab(MinecraftClient client, WidgetsConfigurationScreen parent) { @@ -47,23 +47,22 @@ public class PreviewTab implements Tab { this.parent = parent; previewWidget = new PreviewWidget(); - previewWidget.setOnSelectedChanged(this::onHudWidgetSelected); widgetOptions = new WidgetOptionsScrollable(); widgetOptions.setWidth(RIGHT_SIDE_WIDTH - 10); - ScreenBuilder.Layer[] values = ScreenBuilder.Layer.values(); + ScreenBuilder.ScreenLayer[] values = ScreenBuilder.ScreenLayer.values(); layerButtons = new ButtonWidget[values.length]; for (int i = 0; i < values.length; i++) { - ScreenBuilder.Layer layer = values[i]; - layerButtons[i] = ButtonWidget.builder(Text.literal(layer.toString()), button -> { - this.currentLayer = layer; + ScreenBuilder.ScreenLayer screenLayer = values[i]; + layerButtons[i] = ButtonWidget.builder(Text.literal(screenLayer.toString()), button -> { + this.currentScreenLayer = screenLayer; for (ButtonWidget layerButton : this.layerButtons) { layerButton.active = !layerButton.equals(button); } }) .size(RIGHT_SIDE_WIDTH - 20, 15) .build(); - if (layer == currentLayer) layerButtons[i].active = false; + if (screenLayer == currentScreenLayer) layerButtons[i].active = false; } } @@ -122,8 +121,8 @@ public class PreviewTab implements Tab { if (foundSquare.get()) { lines.add(mutableText); - System.out.println(mutableText.getString()); - System.out.println(mutableText); + //System.out.println(mutableText.getString()); + //System.out.println(mutableText); } } } @@ -134,49 +133,67 @@ public class PreviewTab implements Tab { widgetOptions.clearWidgets(); if (hudWidget == null) return; ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()); - if (screenBuilder.getPositionRule(hudWidget.getInternalID()) == null) { + PositionRule positionRule = screenBuilder.getPositionRule(hudWidget.getInternalID()); + int width = widgetOptions.getWidth() - widgetOptions.getScrollerWidth(); + if (positionRule == null) { widgetOptions.addWidget(ButtonWidget.builder(Text.literal("Positioning: Auto"), button -> { screenBuilder.setPositionRule(hudWidget.getInternalID(), PositionRule.DEFAULT); - updatePlayerListFromPreview(); - screenBuilder.positionWidgets(parent.width, parent.height); + updateWidgets(); onHudWidgetSelected(hudWidget); }) - .width(widgetOptions.getWidth() - widgetOptions.getScrollerWidth()) + .width(width) .build()); } else { widgetOptions.addWidget(ButtonWidget.builder(Text.literal("Positioning: Custom"), button -> { screenBuilder.setPositionRule(hudWidget.getInternalID(), null); - updatePlayerListFromPreview(); - screenBuilder.positionWidgets(parent.width, parent.height); + updateWidgets(); onHudWidgetSelected(hudWidget); }) - .width(widgetOptions.getWidth() - widgetOptions.getScrollerWidth()) + .width(width) .build()); + + String parentName = positionRule.parent().equals("screen") ? "Screen" : ScreenMaster.widgetInstances.get(positionRule.parent()).getNiceName(); + + widgetOptions.addWidget(ButtonWidget.builder(Text.literal("Parent: " + parentName), button -> { + this.previewWidget.pickParent = true; + button.setMessage(Text.literal("Click on a widget")); + }).width(width).build()); + + widgetOptions.addWidget(new AnchorSelectionWidget(width, Text.literal("This anchor"), false)); + widgetOptions.addWidget(new AnchorSelectionWidget(width, Text.literal("Parent anchor"), true)); + } } + void updateWidgets() { + ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()); + updatePlayerListFromPreview(); + screenBuilder.positionWidgets(parent.width, parent.height); + } + /** * The preview widget that captures clicks and displays the current state of the widgets. */ public class PreviewWidget extends ClickableWidget { private float ratio = 1f; + /** + * The widget the user is hovering with the mouse + */ private @Nullable HudWidget hoveredWidget = null; + /** + * The selected widget, settings for it show on the right, and it can be dragged around + */ private @Nullable HudWidget selectedWidget = null; + /** + * The original pos, of the selected widget, it is set when you click on it. So when it's done being dragged it can be compared. + * Effectively, if this ain't null, the user is dragging a widget around. + */ private @Nullable ScreenPos selectedOriginalPos = null; - - private @Nullable Consumer<@Nullable HudWidget> onSelectedChanged = null; - - public void setOnSelectedChanged(@Nullable Consumer<HudWidget> onSelectedChanged) { - this.onSelectedChanged = onSelectedChanged; - } + protected boolean pickParent = false; public PreviewWidget() { - this(0, 0, 0, 0, Text.literal("Preview widget")); - } - - public PreviewWidget(int x, int y, int width, int height, Text message) { - super(x, y, width, height, message); + super(0, 0, 0, 0, Text.literal("Preview widget")); } @Override @@ -191,42 +208,64 @@ public class PreviewTab implements Tab { matrices.translate(getX(), getY(), 0f); matrices.scale(ratio, ratio, 1f); - screenBuilder.renderWidgets(context, PreviewTab.this.currentLayer); + screenBuilder.renderWidgets(context, PreviewTab.this.currentScreenLayer); float localMouseX = (mouseX - getX()) / ratio; float localMouseY = (mouseY - getY()) / ratio; context.drawBorder((int) localMouseX, (int) localMouseY, 2, 2, Colors.RED); - for (HudWidget hudWidget : screenBuilder.getHudWidgets(PreviewTab.this.currentLayer)) { - // SELECTED - if (hudWidget.equals(selectedWidget)) { - //noinspection DataFlowIssue - context.drawBorder( - hudWidget.getX() - 1, - hudWidget.getY() - 1, - hudWidget.getWidth() + 2, - hudWidget.getHeight() + 2, - Formatting.GREEN.getColorValue() | 0xFF000000); - - PositionRule rule = screenBuilder.getPositionRule(selectedWidget.getInternalID()); - if (rule != null) { - int thisAnchorX = (int) (hudWidget.getX() + rule.thisPoint().horizontalPoint().getPercentage() * hudWidget.getWidth()); - int thisAnchorY = (int) (hudWidget.getY() + rule.thisPoint().verticalPoint().getPercentage() * hudWidget.getHeight()); - - context.drawHorizontalLine(thisAnchorX - rule.relativeX(), thisAnchorX, thisAnchorY, Colors.LIGHT_RED); - context.drawVerticalLine(thisAnchorX - rule.relativeX(), thisAnchorY - rule.relativeY(), thisAnchorY, Colors.LIGHT_RED); - } - } - // HOVERED - else if (hudWidget.isMouseOver(localMouseX, localMouseY) && hoveredWidget == null) { - context.drawBorder( - hudWidget.getX() - 1, - hudWidget.getY() - 1, - hudWidget.getWidth() + 2, - hudWidget.getHeight() + 2, - Colors.LIGHT_YELLOW); + for (HudWidget hudWidget : screenBuilder.getHudWidgets(PreviewTab.this.currentScreenLayer)) { + if (hudWidget.isMouseOver(localMouseX, localMouseY)) { hoveredWidget = hudWidget; + break; + } + } + + // Counter-attack the translation in the widgets + matrices.translate(0.f, 0.f, 350.f); + + // HOVERED + if (hoveredWidget != null && !hoveredWidget.equals(selectedWidget)) { + context.drawBorder( + hoveredWidget.getX() - 1, + hoveredWidget.getY() - 1, + hoveredWidget.getWidth() + 2, + hoveredWidget.getHeight() + 2, + Colors.LIGHT_YELLOW); + } + + // SELECTED + if (selectedWidget != null) { + //noinspection DataFlowIssue + context.drawBorder( + selectedWidget.getX() - 1, + selectedWidget.getY() - 1, + selectedWidget.getWidth() + 2, + selectedWidget.getHeight() + 2, + Formatting.GREEN.getColorValue() | 0xFF000000); + + PositionRule rule = screenBuilder.getPositionRule(selectedWidget.getInternalID()); + if (rule != null) { + // TODO: rename that maybe that's a bit wack + int relativeX = 0; + int relativeY = 0; + if (selectedOriginalPos != null) { + relativeX = selectedWidget.getX() - selectedOriginalPos.x(); + relativeY = selectedWidget.getY() - selectedOriginalPos.y(); + } + int thisAnchorX = (int) (selectedWidget.getX() + rule.thisPoint().horizontalPoint().getPercentage() * selectedWidget.getWidth()); + int thisAnchorY = (int) (selectedWidget.getY() + rule.thisPoint().verticalPoint().getPercentage() * selectedWidget.getHeight()); + + context.drawCenteredTextWithShadow(client.textRenderer, String.valueOf(relativeX + rule.relativeX()), thisAnchorX - (relativeX + rule.relativeX()) / 2, thisAnchorY + 2, Colors.LIGHT_RED); + context.drawText(client.textRenderer, String.valueOf(rule.relativeY() + relativeY), thisAnchorX - rule.relativeX() - relativeX + 2, thisAnchorY - rule.relativeY() - relativeY + 2, Colors.LIGHT_RED, true); + + context.drawHorizontalLine(thisAnchorX - rule.relativeX() - relativeX, thisAnchorX, thisAnchorY + 1, 0xAAAA0000); + context.drawVerticalLine(thisAnchorX - rule.relativeX() - relativeX + 1, thisAnchorY - rule.relativeY() - relativeY, thisAnchorY, 0xAAAA0000); + + + context.drawHorizontalLine(thisAnchorX - rule.relativeX() - relativeX, thisAnchorX, thisAnchorY, Colors.RED); + context.drawVerticalLine(thisAnchorX - rule.relativeX() - relativeX, thisAnchorY - rule.relativeY() - relativeY, thisAnchorY, Colors.RED); } } @@ -238,12 +277,49 @@ public class PreviewTab implements Tab { protected void appendClickableNarrations(NarrationMessageBuilder builder) { } + private double bufferedDeltaX = 0; + private double bufferedDeltaY = 0; + + @Override + protected void onDrag(double mouseX, double mouseY, double deltaX, double deltaY) { + double localDeltaX = deltaX / ratio + bufferedDeltaX; + double localDeltaY = deltaY / ratio + bufferedDeltaY; + + bufferedDeltaX = localDeltaX - (int) localDeltaX; + bufferedDeltaY = localDeltaY - (int) localDeltaY; + + if (selectedWidget != null && selectedOriginalPos != null) { + selectedWidget.setX(selectedWidget.getX() + (int) localDeltaX); + selectedWidget.setY(selectedWidget.getY() + (int) localDeltaY); + } + } + @Override public void onRelease(double mouseX, double mouseY) { - if (!Objects.equals(hoveredWidget, selectedWidget) && onSelectedChanged != null) { - System.out.println("HEY!!!"); - onSelectedChanged.accept(hoveredWidget); + if (pickParent) { + pickParent = false; + return; + } + if (!Objects.equals(hoveredWidget, selectedWidget)) { + PreviewTab.this.onHudWidgetSelected(hoveredWidget); + } + // TODO releasing a widget outside of the area causes weird behavior, might wanna look into that + // Update positioning real + if (selectedWidget != null && selectedOriginalPos != null) { + ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()); + PositionRule oldRule = screenBuilder.getPositionRule(selectedWidget.getInternalID()); + if (oldRule == null) oldRule = PositionRule.DEFAULT; + int relativeX = selectedWidget.getX() - selectedOriginalPos.x(); + int relativeY = selectedWidget.getY() - selectedOriginalPos.y(); + screenBuilder.setPositionRule(selectedWidget.getInternalID(), new PositionRule( + oldRule.parent(), + oldRule.parentPoint(), + oldRule.thisPoint(), + oldRule.relativeX() + relativeX, + oldRule.relativeY() + relativeY)); + updateWidgets(); } + selectedWidget = hoveredWidget; selectedOriginalPos = null; super.onRelease(mouseX, mouseY); @@ -251,7 +327,35 @@ public class PreviewTab implements Tab { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { - if (selectedWidget != null) { + ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()); + if (pickParent && selectedWidget != null && !selectedWidget.equals(hoveredWidget)) { + PositionRule oldRule = screenBuilder.getPositionRule(selectedWidget.getInternalID()); + if (oldRule == null) oldRule = PositionRule.DEFAULT; + + int thisAnchorX = (int) (selectedWidget.getX() + oldRule.thisPoint().horizontalPoint().getPercentage() * selectedWidget.getWidth()); + int thisAnchorY = (int) (selectedWidget.getY() + oldRule.thisPoint().verticalPoint().getPercentage() * selectedWidget.getHeight()); + + int otherAnchorX = hoveredWidget == null ? 0 : hoveredWidget.getX(); + int otherAnchorY = hoveredWidget == null ? 0 : hoveredWidget.getY(); + + PositionRule newRule = new PositionRule( + hoveredWidget == null ? "screen" : hoveredWidget.getInternalID(), + PositionRule.Point.DEFAULT, + oldRule.thisPoint(), + thisAnchorX - otherAnchorX, + thisAnchorY - otherAnchorY + ); + screenBuilder.setPositionRule(selectedWidget.getInternalID(), newRule); + updateWidgets(); + PreviewTab.this.onHudWidgetSelected(selectedWidget); + return true; + } + + double localMouseX = (mouseX - getX()) / ratio; + double localMouseY = (mouseY - getY()) / ratio; + + if (selectedWidget != null && selectedWidget.isMouseOver(localMouseX, localMouseY) && + screenBuilder.getPositionRule(selectedWidget.getInternalID()) != null) { selectedOriginalPos = new ScreenPos(selectedWidget.getX(), selectedWidget.getY()); } return this.active && this.visible && isMouseOver(mouseX, mouseY); @@ -312,8 +416,92 @@ public class PreviewTab implements Tab { widgets.clear(); } - boolean addWidget(ClickableWidget clickableWidget) { - return widgets.add(clickableWidget); + void addWidget(ClickableWidget clickableWidget) { + widgets.add(clickableWidget); } } + + private class AnchorSelectionWidget extends ClickableWidget { + + private final boolean other; + private @Nullable PositionRule.Point hoveredPoint = null; + + public AnchorSelectionWidget(int width, Text text, boolean other) { + super(0, 0, width, 40, text); + this.other = other; + } + + @Override + protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { + hoveredPoint = null; + context.drawText(client.textRenderer, getMessage(), getX(), getY(), Colors.WHITE, true); + context.getMatrices().push(); + context.getMatrices().translate(getX(), getY() + 10, 0.f); + // Rectangle thing + int x = getWidth() / 6; + int w = (int) (4 * getWidth() / 6f); + int y = 5; // 30 / 6 + int h = 20; + + context.drawBorder(x, y + 1, w, h, Colors.WHITE); + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + int squareX = x + (i * getWidth()) / 3; + int squareY = y + (j * 30) / 3; + boolean selectedAnchor = false; + if (previewWidget.selectedWidget != null) { + String internalID = previewWidget.selectedWidget.getInternalID(); + PositionRule positionRule = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()).getPositionRule(internalID); + if (positionRule != null) { + PositionRule.Point point = other ? positionRule.parentPoint() : positionRule.thisPoint(); + selectedAnchor = point.horizontalPoint().ordinal() == i && point.verticalPoint().ordinal() == j; + } + } + + boolean hoveredAnchor = mouseX >= getX() + i * getWidth()/3 && + mouseX < getX() + (i + 1) * getWidth() / 3 && + mouseY >= getY() + 10 + j * 10 && + mouseY < getY() + 10 + (j + 1) * 10; + + if (hoveredAnchor) { + PositionRule.VerticalPoint[] verticalPoints = PositionRule.VerticalPoint.values(); + PositionRule.HorizontalPoint[] horizontalPoints = PositionRule.HorizontalPoint.values(); + hoveredPoint = new PositionRule.Point(verticalPoints[j], horizontalPoints[i]); + } + + context.fill(squareX - 1, squareY - 1, squareX + 2, squareY + 2, hoveredAnchor ? Colors.RED : selectedAnchor ? Colors.YELLOW : Colors.WHITE); + } + } + context.getMatrices().pop(); + } + + @Override + public void onClick(double mouseX, double mouseY) { + if (hoveredPoint != null && previewWidget.selectedWidget != null) { + ScreenBuilder screenBuilder = ScreenMaster.getScreenBuilder(parent.getCurrentLocation()); + String internalID = previewWidget.selectedWidget.getInternalID(); + PositionRule oldRule = screenBuilder.getPositionRule(internalID); + if (oldRule == null) oldRule = PositionRule.DEFAULT; + if (other) { + screenBuilder.setPositionRule(internalID, new PositionRule( + oldRule.parent(), + hoveredPoint, + oldRule.thisPoint(), + oldRule.relativeX(), + oldRule.relativeY())); + } else { + screenBuilder.setPositionRule(internalID, new PositionRule( + oldRule.parent(), + oldRule.parentPoint(), + hoveredPoint, + oldRule.relativeX(), + oldRule.relativeY())); + } + } + updateWidgets(); + } + + @Override + protected void appendClickableNarrations(NarrationMessageBuilder builder) {} + } } 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 b9edcc5c..157be8fe 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 @@ -69,8 +69,9 @@ public class WidgetsConfigurationScreen extends Screen implements ScreenHandlerL public WidgetsConfigurationScreen(GenericContainerScreenHandler handler, String titleLowercase) { super(Text.literal("Widgets Configuration")); this.handler = handler; - handler.addListener(this); this.titleLowercase = titleLowercase; + this.handler.addListener(this); + parseLocation(); } @Override @@ -102,6 +103,11 @@ public class WidgetsConfigurationScreen extends Screen implements ScreenHandlerL handler = newHandler; handler.addListener(this); this.titleLowercase = titleLowercase; + parseLocation(); + widgetsOrderingTab.updateHandler(handler); + } + + private void parseLocation() { String trim = this.titleLowercase .replace("widgets in", "") .replace("widgets on", "") @@ -110,10 +116,10 @@ public class WidgetsConfigurationScreen extends Screen implements ScreenHandlerL if (nameToLocation.containsKey(trim)) { currentLocation = nameToLocation.get(trim); } else { - currentLocation = Utils.getLocation(); + //currentLocation = Utils.getLocation(); LOGGER.warn("[Skyblocker] Couldn't find location for {} (trimmed: {})", this.titleLowercase, trim); } - widgetsOrderingTab.updateHandler(handler); + System.out.println("Curent location: " + currentLocation); } public GenericContainerScreenHandler getHandler() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java index c9ea084b..f4865cdd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java @@ -6,17 +6,12 @@ import java.util.function.BiFunction; import com.google.gson.JsonObject; import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.*; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; -import de.hysky.skyblocker.skyblock.tabhud.util.ScreenConst; import de.hysky.skyblocker.skyblock.tabhud.widget.*; import de.hysky.skyblocker.utils.Location; -import de.hysky.skyblocker.utils.Utils; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.objects.ObjectIntMutablePair; -import it.unimi.dsi.fastutil.objects.ObjectIntPair; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.util.Colors; -import net.minecraft.util.Identifier; import org.jetbrains.annotations.Nullable; public class ScreenBuilder { @@ -179,7 +174,7 @@ public class ScreenBuilder { WidgetPositioner newPositioner = DefaultPositioner.CENTERED.getNewPositioner(screenW, screenH); for (HudWidget widget : ScreenMaster.widgetInstances.values()) { - if (widget.shouldRender(location)) { + if (widget.shouldRender(location)) { // TabHudWidget has this at false hudScreen.add(widget); widget.update(); widget.setPositioned(false); @@ -189,9 +184,10 @@ public class ScreenBuilder { // TODO check things and stuff mainTabScreen.addAll(PlayerListMgr.tabWidgetsToShow); + System.out.println(positioning); // Auto positioning for (HudWidget widget : mainTabScreen) { - System.out.println(widget.getInternalID()); + if (getPositionRule(widget.getInternalID()) != null) { widget.setPositioned(false); } else { @@ -219,16 +215,16 @@ public class ScreenBuilder { } } - public void renderWidgets(DrawContext context, Layer layer) { - List<HudWidget> widgetsToRender = getHudWidgets(layer); + public void renderWidgets(DrawContext context, ScreenLayer screenLayer) { + List<HudWidget> widgetsToRender = getHudWidgets(screenLayer); for (HudWidget widget : widgetsToRender) { widget.render(context); } } - public List<HudWidget> getHudWidgets(Layer layer) { - return switch (layer) { + public List<HudWidget> getHudWidgets(ScreenLayer screenLayer) { + return switch (screenLayer) { case MAIN_TAB -> mainTabScreen; case SECONDARY_TAB -> secondaryTabScreen; case HUD -> hudScreen; @@ -253,10 +249,10 @@ public class ScreenBuilder { System.out.println(location); } - renderWidgets(context, Layer.MAIN_TAB); + renderWidgets(context, ScreenLayer.MAIN_TAB); } - public enum Layer { + public enum ScreenLayer { MAIN_TAB, SECONDARY_TAB, HUD diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java index 3ce84f6f..1dde94c2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java @@ -304,6 +304,10 @@ public abstract class HudWidget implements Element, Widget { return internalID; } + public String getNiceName() { + return getInternalID(); + } + private boolean positioned = false; 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 dadfbcdd..ec05c843 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 @@ -23,6 +23,11 @@ public abstract class TabHudWidget extends HudWidget { } @Override + public String getNiceName() { + return getHypixelWidgetName(); + } + + @Override public void updateContent() { cachedComponents.forEach(super::addComponent); } |
