diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index f33514e899..580b16b1f3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -502,6 +502,16 @@ public interface Client extends GameEngine @Nullable Widget getWidget(int groupId, int childId); + /** + * Gets a widget by it's packed ID. + * + *

+ * Note: Use {@link #getWidget(WidgetInfo)} or {@link #getWidget(int, int)} for + * a more readable version of this method. + */ + @Nullable + Widget getWidget(int packedID); + /** * Gets an array containing the x-axis canvas positions * of all widgets. diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index e0e1efbd5c..5b8ea483d6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -56,8 +56,6 @@ import net.runelite.api.widgets.JavaScriptCallback; 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.TO_CHILD; -import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; @@ -226,7 +224,7 @@ public class BankPlugin extends Plugin final int compId = intStack[intStackSize - 2]; final int buttonId = intStack[intStackSize - 1]; - Widget button = client.getWidget(TO_GROUP(compId), TO_CHILD(compId)); + Widget button = client.getWidget(compId); Widget buttonRect = button.getChild(0); final Object[] onOpListener = buttonRect.getOnOpListener(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java index 2e99bc3a97..986ebb996a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java @@ -564,7 +564,7 @@ class WidgetInspector extends JFrame { if (type == MenuAction.SPELL_CAST_ON_WIDGET.getId()) { - Widget w = client.getWidget(WidgetInfo.TO_GROUP(param1), WidgetInfo.TO_CHILD(param1)); + Widget w = client.getWidget(param1); if (param0 != -1) { w = w.getChild(param0); @@ -574,7 +574,7 @@ class WidgetInspector extends JFrame } else if (type == MenuAction.ITEM_USE_ON_WIDGET.getId()) { - Widget w = client.getWidget(WidgetInfo.TO_GROUP(param1), WidgetInfo.TO_CHILD(param1)); + Widget w = client.getWidget(param1); return w.getWidgetItem(param0); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 0c2497cf3b..c3b9523f21 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -43,8 +43,6 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.StatChanged; import net.runelite.api.widgets.Widget; -import static net.runelite.api.widgets.WidgetInfo.TO_CHILD; -import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; @@ -92,7 +90,7 @@ public class XpDropPlugin extends Plugin private void processXpDrop(int widgetId) { - final Widget xpdrop = client.getWidget(TO_GROUP(widgetId), TO_CHILD(widgetId)); + final Widget xpdrop = client.getWidget(widgetId); final Widget[] children = xpdrop.getChildren(); // child 0 is the xpdrop text, everything else are sprite ids for skills final Widget text = children[0]; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java index dce174eeee..2f0609bcfe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java @@ -345,7 +345,7 @@ public class WikiPlugin extends Plugin private Widget getWidget(int wid, int index) { - Widget w = client.getWidget(WidgetInfo.TO_GROUP(wid), WidgetInfo.TO_CHILD(wid)); + Widget w = client.getWidget(wid); if (index != -1) { w = w.getChild(index);