aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-02-07 21:44:19 +0000
committerolim <bobq4582@gmail.com>2024-02-07 21:44:19 +0000
commit801735a06e283d185a1d3b06aad55444a6c7578f (patch)
treecb7211a18362b90ce4ffd64c9957f0545c2c942c /src/main/java
parentc8b27d8be31aadcc6b98c8812096cdf85e226c8f (diff)
downloadSkyblocker-801735a06e283d185a1d3b06aad55444a6c7578f.tar.gz
Skyblocker-801735a06e283d185a1d3b06aad55444a6c7578f.tar.bz2
Skyblocker-801735a06e283d185a1d3b06aad55444a6c7578f.zip
added icons
added icons to the suggested options and history
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/OverlayScreen.java26
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/SearchOverManager.java52
2 files changed, 67 insertions, 11 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 ece25884..6760f20d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/OverlayScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/OverlayScreen.java
@@ -3,15 +3,22 @@ package de.hysky.skyblocker.skyblock.searchOverlay;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
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.TextFieldWidget;
+import net.minecraft.client.item.TooltipContext;
+import net.minecraft.item.ItemStack;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
import org.lwjgl.glfw.GLFW;
+import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
+
+import static de.hysky.skyblocker.skyblock.itemlist.ItemRepository.getItemStack;
public class OverlayScreen extends Screen {
@@ -35,7 +42,7 @@ public class OverlayScreen extends Screen {
protected void init() {
super.init();
int rowHeight = 20;
- int rowWidth = (int)(this.width * 0.33);
+ int rowWidth = (int)(this.width * 0.4);
int startX = (int)(this.width * 0.5) - rowWidth/2;
int startY = (int) ((int)(this.height * 0.5)- (rowHeight * (1+ SkyblockerConfigManager.get().general.searchOverlay.maxSuggestions + 0.75 + SkyblockerConfigManager.get().general.searchOverlay.historyLength)) /2);
@@ -64,6 +71,7 @@ public class OverlayScreen extends Screen {
})
.position(startX , startY + rowOffset)
.size(rowWidth, rowHeight).build();
+
suggestionButtons[i].visible = false;
rowOffset += rowHeight;
}
@@ -110,6 +118,22 @@ public class OverlayScreen extends Screen {
context.drawText(textRenderer, Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.historyLabel")
, historyButtons[0].getX()+2, historyButtons[0].getY() - 10, 0xFFFFFFFF, true);
}
+ //draw item stacks to buttons
+ for (int i = 0; i < suggestionButtons.length; i++) {
+ String id = SearchOverManager.getSuggestionId(i);
+ if (id.isEmpty()) continue;
+ ItemStack item = getItemStack(id);
+ if (item == null) continue;
+ context.drawItem(item,suggestionButtons[i].getX() + 2,suggestionButtons[i].getY() + 2);
+ }
+ for (int i = 0; i < historyButtons.length; i++) {
+ String id = SearchOverManager.getHistoryId(i);
+ if (id != null && id.isEmpty()) continue;
+ ItemStack item = getItemStack(id);
+ if (item == null) continue;
+ context.drawItem(item,historyButtons[i].getX() + 2,historyButtons[i].getY() + 2);
+ }
+
}
/**
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/SearchOverManager.java b/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/SearchOverManager.java
index e4f77f9a..682d514e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/SearchOverManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/searchOverlay/SearchOverManager.java
@@ -54,6 +54,8 @@ public class SearchOverManager {
public static Map<String,String> itemNameLookup = new HashMap<>();
public static HashSet<String> bazaarItems =new HashSet<>();
public static HashSet<String> auctionItems =new HashSet<>();
+ public static HashMap<String,String> namesToId =new HashMap<>();
+
public static String[] suggestionsArray = {};
@@ -88,22 +90,27 @@ public class SearchOverManager {
Matcher matcher = BAZAAR_ENCHANTMENT_PATTERN.matcher(id);
if (matcher.matches()) {//format enchantments
//remove ultimate if in name
- String name = matcher.group(1).replace("ULTIMATE_","");
+ String name = matcher.group(1).replace("ULTIMATE_", "");
name = name.replace("_", " ");
name = capitalizeFully(name);
int enchantLevel = Integer.parseInt(matcher.group(2));
String level = "";
- if (enchantLevel > 0){
- level = ROMAN_NUMERALS[enchantLevel-1];
- }
- bazaarItems.add(name + " " + level);
- }else{//look up id for name
- String name = itemNameLookup.get(product.get("product_id").getAsString());
- if (name != null){
- name = trimItemColor(name);
- bazaarItems.add(name);
+ if (enchantLevel > 0) {
+ level = ROMAN_NUMERALS[enchantLevel - 1];
}
+ bazaarItems.add(name + " " + level);
+ namesToId.put(name + " " + level, "ENCHANTED_BOOK");
+ continue;
+ }
+ //look up id for name
+ String name = itemNameLookup.get(product.get("product_id").getAsString());
+ if (name != null){
+ name = trimItemColor(name);
+ bazaarItems.add(name);
+ namesToId.put(name, id);
+ continue;
}
+
}
}
@@ -122,6 +129,7 @@ public class SearchOverManager {
String name = matcher.group(1).replace("_", " ");
name = capitalizeFully(name);
auctionItems.add(name);
+ namesToId.put(name, id);
continue;
}
//something else look up in NEU repo.
@@ -130,6 +138,8 @@ public class SearchOverManager {
if (item != null){
String name = trimItemColor(item.getDisplayName());
auctionItems.add(name);
+ namesToId.put(name, id);
+ continue;
}
}
@@ -217,6 +227,13 @@ public class SearchOverManager {
return "";
}
}
+ protected static String getSuggestionId(int index){
+ if (suggestionsArray.length> index && suggestionsArray[index] != null ){
+ return namesToId.get(suggestionsArray[index]);
+ }else{//there are no suggestions yet
+ return "";
+ }
+ }
/**
* Gets the item name in the history array at the index
* @param index index of suggestion
@@ -235,6 +252,21 @@ public class SearchOverManager {
return null;
}
+ protected static String getHistoryId(int index){
+ if (IsAuction){
+ if (SkyblockerConfigManager.get().general.searchOverlay.auctionHistory.size() >index){
+ return namesToId.get(capitalizeFully(SkyblockerConfigManager.get().general.searchOverlay.auctionHistory.get(index)));
+ }
+
+ }else{
+ if (SkyblockerConfigManager.get().general.searchOverlay.bazaarHistory.size() >index){
+ return namesToId.get(capitalizeFully(SkyblockerConfigManager.get().general.searchOverlay.bazaarHistory.get(index)));
+ }
+ }
+ return null;
+ }
+
+
/**
* Add the current search value to the start of the history list and truncate to the max history value and save this to the config
*/