diff options
author | olim <bobq4582@gmail.com> | 2024-05-28 15:23:53 +0100 |
---|---|---|
committer | olim <bobq4582@gmail.com> | 2024-05-28 19:57:20 +0100 |
commit | d7cd2aacf94e3064001729f0a2b2e3f064de6d8b (patch) | |
tree | 9f0f02c6aa66349af3a3743ffde38c1d579bb9b8 /src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java | |
parent | fb6beb6b25e8fb71cbc3b6927c65630fa5bc0a8b (diff) | |
download | Skyblocker-d7cd2aacf94e3064001729f0a2b2e3f064de6d8b.tar.gz Skyblocker-d7cd2aacf94e3064001729f0a2b2e3f064de6d8b.tar.bz2 Skyblocker-d7cd2aacf94e3064001729f0a2b2e3f064de6d8b.zip |
add pet level filters and star filters
adds the ability to search for max level pet as well as hiding skins when search for a pet. and when i item is starable adds the ability to search for an amount of stars
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java index a03f3549..489677ec 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java @@ -1,10 +1,14 @@ package de.hysky.skyblocker.skyblock.searchoverlay; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import dev.isxander.yacl3.gui.TooltipButtonWidget; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.tooltip.Tooltip; import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.SliderWidget; import net.minecraft.client.gui.widget.TextFieldWidget; +import net.minecraft.client.gui.widget.ToggleButtonWidget; import net.minecraft.item.ItemStack; import net.minecraft.text.Style; import net.minecraft.text.Text; @@ -20,6 +24,8 @@ public class OverlayScreen extends Screen { private static final int rowHeight = 20; private TextFieldWidget searchField; private ButtonWidget finishedButton; + private ButtonWidget maxPetButton; + private TextFieldWidget dungeonStarField; private ButtonWidget[] suggestionButtons; private ButtonWidget[] historyButtons; @@ -48,6 +54,7 @@ public class OverlayScreen extends Screen { .position(startX + rowWidth - rowHeight, startY) .size(rowHeight, rowHeight).build(); + // suggested item buttons int rowOffset = rowHeight; int totalSuggestions = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.maxSuggestions; @@ -80,6 +87,34 @@ public class OverlayScreen extends Screen { break; } } + //auction only elements + if (SearchOverManager.isAuction) { + //max pet level button + maxPetButton = ButtonWidget.builder(Text.literal("temp"), a -> { + SearchOverManager.maxPetLevel = !SearchOverManager.maxPetLevel; + if (SearchOverManager.maxPetLevel) { + maxPetButton.setMessage(Text.literal("Max Pet Level ✔").formatted(Formatting.GREEN)); + } else { + maxPetButton.setMessage(Text.literal("Max Pet Level ❌").formatted(Formatting.RED)); + } + }) + .position(startX + rowWidth, startY) + .size(rowWidth / 2, rowHeight).build(); + if (SearchOverManager.maxPetLevel) { + maxPetButton.setMessage(Text.literal("Max Pet Level ✔").formatted(Formatting.GREEN)); + } else { + maxPetButton.setMessage(Text.literal("Max Pet Level ❌").formatted(Formatting.RED)); + } + + //dungeon star input + this.dungeonStarField = new TextFieldWidget(textRenderer, startX + (int) (rowWidth * 1.25), startY + rowHeight, rowWidth / 4, rowHeight, Text.literal("")); + if (SearchOverManager.dungeonStars > 0) { + dungeonStarField.setText(String.valueOf(SearchOverManager.dungeonStars)); + } + dungeonStarField.setMaxLength(2); + dungeonStarField.setTooltip(Tooltip.of(Text.of("Star count for dungeon items"))); + dungeonStarField.setChangedListener(SearchOverManager::updateDungeonStars); + } //add drawables in order to make tab navigation sensible addDrawableChild(searchField); @@ -93,6 +128,11 @@ public class OverlayScreen extends Screen { } addDrawableChild(finishedButton); + if (SearchOverManager.isAuction) { + addDrawableChild(maxPetButton); + addDrawableChild(dungeonStarField); + } + //focus the search box this.setInitialFocus(searchField); } @@ -105,9 +145,13 @@ public class OverlayScreen extends Screen { super.render(context, mouseX, mouseY, delta); int renderOffset = (rowHeight - 16) / 2; context.drawGuiTexture(SEARCH_ICON_TEXTURE, finishedButton.getX() + renderOffset, finishedButton.getY() + renderOffset, 16, 16); + //labels if (historyButtons.length > 0 && historyButtons[0] != null) { context.drawText(textRenderer, Text.translatable("skyblocker.config.general.searchOverlay.historyLabel"), historyButtons[0].getX() + renderOffset, historyButtons[0].getY() - rowHeight / 2, 0xFFFFFFFF, true); } + if (SearchOverManager.isAuction) { + context.drawText(textRenderer, Text.literal("Stars:"), dungeonStarField.getX() - dungeonStarField.getWidth() + renderOffset, dungeonStarField.getY() + rowHeight / 4, 0xFFFFFFFF, true); + } //draw item stacks and tooltip to buttons for (int i = 0; i < suggestionButtons.length; i++) { |