From dd0b6c6be7da173f1f1671061786dad7b82f31f8 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 14 Nov 2019 19:59:01 +0100 Subject: [PATCH 1/2] Use spellbook onInvTransmit rather than hardcoded script args --- .../plugins/spellbook/SpellbookPlugin.java | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java index 96b4bec1aa..000810023f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java @@ -41,7 +41,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Point; -import static net.runelite.api.ScriptID.MAGIC_SPELLBOOK_REDRAW; import net.runelite.api.VarClientInt; import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; @@ -52,13 +51,8 @@ import net.runelite.api.util.Text; import net.runelite.api.vars.InterfaceTab; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK; import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTERED_BOUNDS; -import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTERED_SPELLS_PARENT; -import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTON; -import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTONS_PARENT; -import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTON_PARENT; -import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_SECTION_PARENT; -import static net.runelite.api.widgets.WidgetInfo.SPELL_TOOLTIP; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; @@ -486,7 +480,7 @@ public class SpellbookPlugin extends Plugin } // CHECKSTYLE:OFF - final Collection gson = GSON.fromJson(cfg, new TypeToken>() + final Collection gson = GSON.fromJson(cfg, new TypeToken>() { } .getType()); @@ -519,23 +513,17 @@ public class SpellbookPlugin extends Plugin // The magic numbers probably are mobile specific widgetids // openosrs mobile when? clientThread.invoke(() -> - client.runScript( - MAGIC_SPELLBOOK_REDRAW, - SPELLBOOK_FILTERED_BOUNDS.getId(), - 0x00da00b3, - SPELL_TOOLTIP.getId(), - SPELLBOOK_FILTERED_SPELLS_PARENT.getId(), - SPELLBOOK_FILTER_BUTTON_PARENT.getId(), - 0x00da00ba, - SPELLBOOK_FILTER_BUTTON.getId(), - 0x00da0002, - SPELLBOOK_FILTER_SECTION_PARENT.getId(), - SPELLBOOK_FILTER_BUTTONS_PARENT.getId(), - "Info", - "Filters", - false - ) - ); + { + final Widget spellWidget = client.getWidget(SPELLBOOK); + if (spellWidget != null) + { + final Object[] args = spellWidget.getOnInvTransmit(); + if (args != null) + { + client.runScript(args); + } + } + }); } boolean isNotOnSpellWidget() From e11077f3920483ae901cab94ebf8a5f847ac8493 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 21 Nov 2019 10:27:31 +0100 Subject: [PATCH 2/2] Remove unused spellbook widget id/info --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 ------ .../src/main/java/net/runelite/api/widgets/WidgetInfo.java | 5 ----- 2 files changed, 11 deletions(-) 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 d3e9e1dc07..14445d6c4b 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 @@ -830,13 +830,7 @@ public class WidgetID static class SpellBook { - static final int FILTERED_SPELLS_PARENT = 1; static final int FILTERED_SPELLS_BOUNDS = 3; - - static final int FILTER_SECTION_PARENT = 182; - static final int FILTER_BUTTONS_PARENT = 185; - static final int FILTER_BUTTON_PARENT = 186; - static final int FILTER_BUTTON = 188; static final int TOOLTIP = 189; // NORMAL SPELLS 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 64ab46a6ef..c3e7dfd1c7 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 @@ -523,7 +523,6 @@ public enum WidgetInfo PVP_KILLDEATH_COUNTER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.KILLDEATH_RATIO), SPELLBOOK(WidgetID.SPELLBOOK_GROUP_ID, 0), - SPELLBOOK_FILTERED_SPELLS_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTERED_SPELLS_PARENT), SPELLBOOK_FILTERED_BOUNDS(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTERED_SPELLS_BOUNDS), /* STANDARD SPELL BOOK WIDGETS*/ @@ -680,10 +679,6 @@ public enum WidgetInfo SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT), SPELL_BATTLEFRONT_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BATTLEFRONT_TELEPORT), /* END OF ARCEUUS SPELL BOOK WIDGETS*/ - SPELLBOOK_FILTER_SECTION_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_SECTION_PARENT), - SPELLBOOK_FILTER_BUTTONS_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTONS_PARENT), - SPELLBOOK_FILTER_BUTTON_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTON_PARENT), - SPELLBOOK_FILTER_BUTTON(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTON), KOUREND_FAVOUR_OVERLAY(WidgetID.KOUREND_FAVOUR_GROUP_ID, WidgetID.KourendFavour.KOUREND_FAVOUR_OVERLAY), ZEAH_MESS_HALL_COOKING_DISPLAY(WidgetID.ZEAH_MESS_HALL_GROUP_ID, WidgetID.Zeah.MESS_HALL_COOKING_DISPLAY),