diff options
| author | Alex <8379108+Alex33856@users.noreply.github.com> | 2025-07-07 15:13:49 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-07 15:13:49 -0400 |
| commit | 0382ef6b982238b85467b6f9d7ba34bc81ddbee3 (patch) | |
| tree | 75e895df472a151940cadef9ed7f78a3b8ef0ec1 /src/main/java | |
| parent | 851e5fa3bf8b37161372ec81d3f188e64a3485ec (diff) | |
| download | Skyblocker-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.java | 4 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java | 24 |
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; } } |
