From 9469f25570dec37b325fb9fe203bee8976008234 Mon Sep 17 00:00:00 2001 From: AttackOfTheMoons <42690834+AttackOfTheMoons@users.noreply.github.com> Date: Sun, 28 Jul 2019 00:50:37 -1000 Subject: [PATCH] examine: Add support for examining Seed Vault items (#9431) --- .../net/runelite/api/widgets/WidgetID.java | 2 ++ .../net/runelite/api/widgets/WidgetInfo.java | 4 +++- .../client/plugins/examine/ExaminePlugin.java | 20 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index df79f322ef..8f008fe485 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -825,5 +825,7 @@ public class WidgetID static class SeedVault { static final int TITLE_CONTAINER = 2; + static final int ITEM_CONTAINER = 15; + static final int ITEM_TEXT = 16; } } diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 9a22b724ae..a506001421 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -494,7 +494,9 @@ public enum WidgetInfo ITEMS_LOST_VALUE(WidgetID.ITEMS_KEPT_ON_DEATH_GROUP_ID, WidgetID.KeptOnDeath.LOST_ITEMS_VALUE), ITEMS_KEPT_MAX(WidgetID.ITEMS_KEPT_ON_DEATH_GROUP_ID, WidgetID.KeptOnDeath.MAX_ITEMS_KEPT_ON_DEATH), - SEED_VAULT_TITLE_CONTAINER(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.TITLE_CONTAINER); + SEED_VAULT_TITLE_CONTAINER(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.TITLE_CONTAINER), + SEED_VAULT_ITEM_CONTAINER(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_CONTAINER), + SEED_VAULT_ITEM_TEXT(WidgetID.SEED_VAULT_GROUP_ID, WidgetID.SeedVault.ITEM_TEXT); private final int groupId; private final int childId; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 900d2b86a2..2003808908 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -41,7 +41,9 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.Widget; +import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; +import static net.runelite.api.widgets.WidgetInfo.SEED_VAULT_ITEM_CONTAINER; import static net.runelite.api.widgets.WidgetInfo.TO_CHILD; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.api.widgets.WidgetItem; @@ -309,6 +311,24 @@ public class ExaminePlugin extends Plugin return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()}; } } + else if (WidgetID.SEED_VAULT_GROUP_ID == widgetGroup) + { + Widget[] children = client.getWidget(SEED_VAULT_ITEM_CONTAINER).getDynamicChildren(); + if (actionParam < children.length) + { + Widget widgetItem = children[actionParam]; + return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()}; + } + } + else if (WidgetID.SEED_VAULT_INVENTORY_GROUP_ID == widgetGroup) + { + Widget[] children = widget.getDynamicChildren(); + if (actionParam < children.length) + { + Widget widgetItem = children[actionParam]; + return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()}; + } + } return null; }