diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java index 4465c0b338..bdc0f8d8c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java @@ -85,29 +85,20 @@ public class ItemStatOverlay extends Overlay final MenuEntry[] menu = client.getMenuEntries(); final int menuSize = menu.length; - if (menuSize <= 0) { return null; } final MenuEntry entry = menu[menuSize - 1]; - final int group = WidgetInfo.TO_GROUP(entry.getParam1()); - final int child = WidgetInfo.TO_CHILD(entry.getParam1()); - final Widget widget = client.getWidget(group, child); - - if (widget == null - || !(group == WidgetInfo.INVENTORY.getGroupId() - || group == WidgetInfo.EQUIPMENT.getGroupId() - || group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() - || (config.showStatsInBank() - && ((group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() && child == WidgetInfo.BANK_ITEM_CONTAINER.getChildId()) - || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId())))) + final Widget widget = entry.getWidget(); + if (widget == null) { return null; } - int itemId = entry.getIdentifier(); + final int group = WidgetInfo.TO_GROUP(widget.getId()); + int itemId = -1; if (group == WidgetInfo.EQUIPMENT.getGroupId() || // For bank worn equipment, check widget parent to differentiate from normal bank items @@ -119,19 +110,17 @@ public class ItemStatOverlay extends Overlay itemId = widgetItem.getItemId(); } } - else if (group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() - || group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() - || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId()) + else if (widget.getId() == WidgetInfo.INVENTORY.getId() + || group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() + || widget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && config.showStatsInBank() + || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId() && config.showStatsInBank()) { - int index = entry.getParam0(); - if (index > -1) - { - final Widget widgetItem = widget.getChild(index); - if (widgetItem != null) - { - itemId = widgetItem.getItemId(); - } - } + itemId = widget.getItemId(); + } + + if (itemId == -1) + { + return null; } if (config.consumableStats())