aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorAlex <8379108+Alex33856@users.noreply.github.com>2025-07-07 15:13:49 -0400
committerGitHub <noreply@github.com>2025-07-07 15:13:49 -0400
commit0382ef6b982238b85467b6f9d7ba34bc81ddbee3 (patch)
tree75e895df472a151940cadef9ed7f78a3b8ef0ec1 /src/main/java
parent851e5fa3bf8b37161372ec81d3f188e64a3485ec (diff)
downloadSkyblocker-0382ef6b982238b85467b6f9d7ba34bc81ddbee3.tar.gz
Skyblocker-0382ef6b982238b85467b6f9d7ba34bc81ddbee3.tar.bz2
Skyblocker-0382ef6b982238b85467b6f9d7ba34bc81ddbee3.zip
Add support for Item Price Lookup for items in Recipe Book (#1476)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemPrice.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java24
2 files changed, 22 insertions, 6 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemPrice.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemPrice.java
index 42f6310e..c3bd887c 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemPrice.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemPrice.java
@@ -52,6 +52,10 @@ public class ItemPrice {
public static void itemPriceLookup(ClientPlayerEntity player, @NotNull Slot slot) {
ItemStack stack = slot.getStack();
+ itemPriceLookup(player, stack);
+ }
+
+ public static void itemPriceLookup(ClientPlayerEntity player, ItemStack stack) {
String skyblockApiId = stack.getSkyblockApiId();
ItemStack neuStack = ItemRepository.getItemStack(stack.getNeuName());
if (neuStack != null && !neuStack.isEmpty()) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java
index 1ef9fb4e..35dfea30 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java
@@ -7,6 +7,7 @@ import java.util.Locale;
import com.google.common.collect.Lists;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.item.ItemPrice;
import de.hysky.skyblocker.skyblock.item.WikiLookup;
import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import de.hysky.skyblocker.skyblock.itemlist.recipes.SkyblockCraftingRecipe;
@@ -356,19 +357,30 @@ public class SkyblockRecipeResults implements RecipeAreaDisplay {
return false;
}
+ private @Nullable ItemStack getHoveredItemStack(double mouseX, double mouseY) {
+ return resultButtons.stream().filter(btn -> btn.isMouseOver(mouseX, mouseY)).findFirst().map(SkyblockRecipeResultButton::getDisplayStack).orElse(null);
+ }
+
@Override
public boolean keyPressed(double mouseX, double mouseY, int keyCode, int scanCode, int modifiers) {
if (SkyblockerConfigManager.get().general.wikiLookup.enableWikiLookup) {
boolean officialWikiLookup = WikiLookup.officialWikiLookup.matchesKey(keyCode, scanCode);
if (officialWikiLookup || WikiLookup.fandomWikiLookup.matchesKey(keyCode, scanCode)) {
- return this.resultButtons.stream()
- .filter(button -> button.isMouseOver(mouseX, mouseY))
- .findFirst().map(button -> {
- WikiLookup.openWiki(button.getDisplayStack(), client.player, officialWikiLookup);
- return true;
- }).orElse(false);
+ ItemStack hovered = getHoveredItemStack(mouseX, mouseY);
+ if (hovered == null) return false;
+
+ WikiLookup.openWiki(hovered, client.player, officialWikiLookup);
+ return true;
}
}
+
+ if (SkyblockerConfigManager.get().helpers.itemPrice.enableItemPriceLookup && ItemPrice.ITEM_PRICE_LOOKUP.matchesKey(keyCode, scanCode)) {
+ ItemStack hovered = getHoveredItemStack(mouseX, mouseY);
+ if (hovered == null) return false;
+
+ ItemPrice.itemPriceLookup(client.player, hovered);
+ return true;
+ }
return false;
}
}