Use spellbook onInvTransmit rather than hardcoded script args

This commit is contained in:
Lucwousin
2019-11-14 19:59:01 +01:00
parent 6572a49c68
commit dd0b6c6be7

View File

@@ -41,7 +41,6 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.Point; import net.runelite.api.Point;
import static net.runelite.api.ScriptID.MAGIC_SPELLBOOK_REDRAW;
import net.runelite.api.VarClientInt; import net.runelite.api.VarClientInt;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.events.GameStateChanged; 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.vars.InterfaceTab;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; 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_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.callback.ClientThread;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
@@ -486,7 +480,7 @@ public class SpellbookPlugin extends Plugin
} }
// CHECKSTYLE:OFF // CHECKSTYLE:OFF
final Collection<Spell> gson = GSON.fromJson(cfg, new TypeToken<List<Spell>>() final Collection<Spell> gson = GSON.fromJson(cfg, new TypeToken<List<Spell>>()
{ {
} }
.getType()); .getType());
@@ -519,23 +513,17 @@ public class SpellbookPlugin extends Plugin
// The magic numbers probably are mobile specific widgetids // The magic numbers probably are mobile specific widgetids
// openosrs mobile when? // openosrs mobile when?
clientThread.invoke(() -> clientThread.invoke(() ->
client.runScript( {
MAGIC_SPELLBOOK_REDRAW, final Widget spellWidget = client.getWidget(SPELLBOOK);
SPELLBOOK_FILTERED_BOUNDS.getId(), if (spellWidget != null)
0x00da00b3, {
SPELL_TOOLTIP.getId(), final Object[] args = spellWidget.getOnInvTransmit();
SPELLBOOK_FILTERED_SPELLS_PARENT.getId(), if (args != null)
SPELLBOOK_FILTER_BUTTON_PARENT.getId(), {
0x00da00ba, client.runScript(args);
SPELLBOOK_FILTER_BUTTON.getId(), }
0x00da0002, }
SPELLBOOK_FILTER_SECTION_PARENT.getId(), });
SPELLBOOK_FILTER_BUTTONS_PARENT.getId(),
"Info",
"Filters",
false
)
);
} }
boolean isNotOnSpellWidget() boolean isNotOnSpellWidget()