aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-05-28 15:23:53 +0100
committerolim <bobq4582@gmail.com>2024-05-28 19:57:20 +0100
commitd7cd2aacf94e3064001729f0a2b2e3f064de6d8b (patch)
tree9f0f02c6aa66349af3a3743ffde38c1d579bb9b8 /src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java
parentfb6beb6b25e8fb71cbc3b6927c65630fa5bc0a8b (diff)
downloadSkyblocker-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.java44
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++) {