diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
index 671c0c4e23..657ec2dcb8 100644
--- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java
+++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
@@ -73,14 +73,6 @@ public final class ScriptID
@ScriptArguments(string = 1)
public static final int CHAT_TEXT_INPUT_REBUILD = 222;
- /**
- * Layouts the bank widgets
- *
- * Takes 13 widget ids of various parts of the bank interface
- */
- @ScriptArguments(integer = 17)
- public static final int BANK_LAYOUT = 277;
-
/**
* Closes the chatbox input
*
@@ -89,14 +81,17 @@ public final class ScriptID
*
*/
@ScriptArguments(integer = 2)
- public static final int RESET_CHATBOX_INPUT = 299;
+ public static final int MESSAGE_LAYER_CLOSE = 299;
/**
* Readies the chatbox panel for things like the chatbox input
- * Inverse of RESET_CHATBOX_INPUT
+ * Inverse of MESSAGE_LAYER_CLOSE
+ *
+ * - int (InputType) message layer type we are changing to
+ *
*/
@ScriptArguments(integer = 1)
- public static final int CLEAR_CHATBOX_PANEL = 677;
+ public static final int MESSAGE_LAYER_OPEN = 677;
/**
* Builds the chatbox input widget
diff --git a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java
index 0652f3b0e0..09945a1137 100644
--- a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java
+++ b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java
@@ -42,6 +42,10 @@ public enum VarClientInt
*/
TOOLTIP_VISIBLE(2),
+ /**
+ * Current message layer mode
+ * @see net.runelite.api.vars.InputType
+ */
INPUT_TYPE(5),
MEMBERSHIP_STATUS(103),
diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java
index ff23bb2cda..e9d7c5641c 100644
--- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java
@@ -89,7 +89,7 @@ public class ChatboxPanelManager
private void unsafeCloseInput()
{
client.runScript(
- ScriptID.RESET_CHATBOX_INPUT,
+ ScriptID.MESSAGE_LAYER_CLOSE,
0,
1
);
@@ -101,7 +101,7 @@ public class ChatboxPanelManager
private void unsafeOpenInput(ChatboxInput input)
{
- client.runScript(ScriptID.CLEAR_CHATBOX_PANEL);
+ client.runScript(ScriptID.MESSAGE_LAYER_OPEN, 0);
eventBus.register(input);
if (input instanceof KeyListener)
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java
index 73bfbc99a4..10a1ed2004 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java
@@ -37,20 +37,6 @@ import net.runelite.client.callback.ClientThread;
public class BankSearch
{
- // Widget indexes for searching
- private static final int INNER_CONTAINER_IDX = 2;
- private static final int SETTINGS_IDX = 4;
- private static final int ITEM_CONTAINER_IDX = 7;
- private static final int SCROLLBAR_IDX = 8;
- private static final int BOTTOM_BAR_IDX = 9;
- private static final int SEARCH_BUTTON_BACKGROUND_IDX = 15;
- private static final int TITLE_BAR_IDX = 16;
- private static final int ITEM_COUNT_IDX = 17;
- private static final int TAB_BAR_IDX = 18;
- private static final int INCINERATOR_IDX = 19;
- private static final int INCINERATOR_CONFIRM_IDX = 20;
- private static final int HIDDEN_WIDGET_IDX = 21;
-
private final Client client;
private final ClientThread clientThread;
@@ -64,51 +50,38 @@ public class BankSearch
this.clientThread = clientThread;
}
- public void search(InputType inputType, String search, Boolean closeInput)
+ public void search(InputType inputType, String search, boolean closeInput)
{
clientThread.invoke(() ->
{
- Widget bankContainer = client.getWidget(WidgetInfo.BANK_CONTAINER);
+ Widget bankContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER);
if (bankContainer == null || bankContainer.isHidden())
{
return;
}
- Object[] widgetIds = bankContainer.getOnLoadListener();
+ Object[] scriptArgs = bankContainer.getOnInvTransmitListener();
- // In case the widget ids array is incorrect, do not proceed
- if (widgetIds == null || widgetIds.length < 21)
+ if (scriptArgs == null)
{
return;
}
+
// This ensures that any chatbox input (e.g from search) will not remain visible when
// selecting/changing tab
if (closeInput)
{
- client.runScript(ScriptID.RESET_CHATBOX_INPUT, 0, 0);
+ client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0);
}
client.setVar(VarClientInt.INPUT_TYPE, inputType.getType());
client.setVar(VarClientStr.INPUT_TEXT, search);
- client.runScript(ScriptID.BANK_LAYOUT,
- WidgetInfo.BANK_CONTAINER.getId(),
- widgetIds[INNER_CONTAINER_IDX],
- widgetIds[SETTINGS_IDX],
- widgetIds[ITEM_CONTAINER_IDX],
- widgetIds[SCROLLBAR_IDX],
- widgetIds[BOTTOM_BAR_IDX],
- widgetIds[TITLE_BAR_IDX],
- widgetIds[ITEM_COUNT_IDX],
- widgetIds[SEARCH_BUTTON_BACKGROUND_IDX],
- widgetIds[TAB_BAR_IDX],
- widgetIds[INCINERATOR_IDX],
- widgetIds[INCINERATOR_CONFIRM_IDX],
- widgetIds[HIDDEN_WIDGET_IDX]);
+ client.runScript(scriptArgs);
});
}
- public void reset(Boolean closeChat)
+ public void reset(boolean closeChat)
{
search(InputType.NONE, "", closeChat);
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java
index 14b6ee9178..46b4eef567 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java
@@ -336,7 +336,7 @@ public class TabInterface
{
bankSearch.reset(true);
- clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT, 0, 0));
+ clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0));
}
else
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java
index a548bb44ff..da642e1d43 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java
@@ -56,7 +56,7 @@ public class ChatboxPerformancePlugin extends Plugin
{
if (client.getGameState() == GameState.LOGGED_IN)
{
- clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT));
+ clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0));
}
}
@@ -65,7 +65,7 @@ public class ChatboxPerformancePlugin extends Plugin
{
if (client.getGameState() == GameState.LOGGED_IN)
{
- clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT));
+ clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0));
}
}