From c683e41c018e8f522a2f03ec8c6650d105aa6a57 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 18 Apr 2022 20:14:53 -0400 Subject: [PATCH] api: add item op menu api --- .../main/java/net/runelite/api/MenuEntry.java | 20 +++++++++++++ .../api/events/MenuOptionClicked.java | 29 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java index c035205fb6..bd33855448 100644 --- a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java +++ b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java @@ -95,6 +95,26 @@ public interface MenuEntry */ MenuEntry onClick(Consumer callback); + /** + * Test if this menu entry is an item op. "Use" and "Examine" are not considered item ops. + * @return + */ + boolean isItemOp(); + + /** + * If this menu entry is an item op, get the item op id + * @return 1-5 + */ + int getItemOp(); + + /** + * If this menu entry is an item op, get the item id + * @return + * @see ItemID + * @see NullItemID + */ + int getItemId(); + /** * Get the widget this menu entry is on, if this is a menu entry * with an associated widget. Such as eg, CC_OP. diff --git a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java index 7e27376d93..b2d1defa8b 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java +++ b/runelite-api/src/main/java/net/runelite/api/events/MenuOptionClicked.java @@ -102,6 +102,35 @@ public class MenuOptionClicked return menuEntry.getIdentifier(); } + /** + * Test if this menu entry is an item op. "Use" and "Examine" are not considered item ops. + * @return + */ + public boolean isItemOp() + { + return menuEntry.isItemOp(); + } + + /** + * If this menu entry is an item op, get the item op id + * @return 1-5 + */ + public int getItemOp() + { + return menuEntry.getItemOp(); + } + + /** + * If this menu entry is an item op, get the item id + * @return + * @see net.runelite.api.ItemID + * @see net.runelite.api.NullItemID + */ + public int getItemId() + { + return menuEntry.getItemId(); + } + /** * Get the widget this menu entry is on, if this is a menu entry * with an associated widget. Such as eg, CC_OP.