diff --git a/runelite-client/src/main/java/net/runelite/client/menus/ComparableEntry.java b/runelite-client/src/main/java/net/runelite/client/menus/ComparableEntry.java
index e7525c901c..a5f0f57355 100644
--- a/runelite-client/src/main/java/net/runelite/client/menus/ComparableEntry.java
+++ b/runelite-client/src/main/java/net/runelite/client/menus/ComparableEntry.java
@@ -64,8 +64,8 @@ public class ComparableEntry
public ComparableEntry(String option, String target, int id, int type, boolean strictOption, boolean strictTarget)
{
- this.option = option;
- this.target = target;
+ this.option = Text.standardize(option);
+ this.target = Text.standardize(target);
this.id = id;
this.type = type;
this.strictOption = strictOption;
@@ -76,7 +76,7 @@ public class ComparableEntry
// target sometimes changes to option.
public ComparableEntry(MenuEntry e)
{
- this.option = e.getOption();
+ this.option = Text.standardize(e.getOption());
this.id = e.getIdentifier();
this.type = e.getType();
this.strictOption = true;
diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java
index d72627cfa7..6c674c1d14 100644
--- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java
@@ -265,7 +265,7 @@ public class MenuManager
{
MenuEntry original = MenuEntry.copy(e);
e.setType(newType);
- originalType = new EntryTypeMapping(new ComparableEntry(e), original);
+ originalType = new EntryTypeMapping(new ComparableEntry(leftClickEntry), original);
}
}
@@ -750,7 +750,7 @@ public class MenuManager
{
MenuEntry entry = event.getMenuEntry();
- if (!entry.getTarget().equals(entry.getOption()) && !comparable.matches(entry))
+ if (event.getTarget().equals("do not edit") || !comparable.matches(entry))
{
return false;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java
index 3b05a96f77..be97a5755c 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java
@@ -48,7 +48,6 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Actor;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
-import net.runelite.api.GameState;
import net.runelite.api.ItemID;
import net.runelite.api.MenuEntry;
import net.runelite.api.MessageNode;
@@ -262,10 +261,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
overlayManager.add(widgetsOverlay);
overlayManager.add(sceneOverlay);
keyManager.registerKeyListener(this);
- if (client.getGameState() == GameState.LOGGED_IN)
- {
- clientThread.invoke(this::validateGame);
- }
+ clientThread.invoke(this::validateGame);
}
@Override
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java
index f9c4889c75..e6497432aa 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java
@@ -885,55 +885,29 @@ default CharterOption charterOption()
// Skilling
//------------------------------------------------------------//
-/* @ConfigItem(
- keyName = "easyConstruction",
- name = "Easy Construction",
- description = "Makes 'Remove'/'Build' the default option for listed item ID's in build mode.
Tip: Use dev tools \"'Game Objects\" to find out the ID!",
- position = 59,
- group = "Skilling"
- )
- default boolean getEasyConstruction()
- {
- return false;
- }
-
@ConfigItem(
- keyName = "constructionItems",
- name = "Construction Items",
- description = "Makes 'Remove'/'Build' the default option for listed item ID's in build mode.
Tip: Use dev tools \"Game Objects\" to find out the ID, and separate values with a ','",
- position = 60,
- group = "Skilling",
- hidden = true,
- unhide = "easyConstruction"
- )
- default String getConstructionItems()
- {
- return "";
- }*/
-
- @ConfigItem(
- keyName = "getTempConstruction",
+ keyName = "getEasyConstruction",
name = "Easy Construction",
description = "Makes 'Remove'/'Build' the default option for listed items.",
position = 0,
group = "Skilling"
)
- default boolean getTempConstruction()
+ default boolean getEasyConstruction()
{
return true;
}
@ConfigItem(
- keyName = "getTempConstructionItems",
+ keyName = "getEasyConstructionItems",
name = "Build Items",
description = "",
position = 1,
group = "Skilling",
hidden = true,
- unhide = "getTempConstruction"
+ unhide = "getEasyConstruction"
)
- default String getTempConstructionItems()
+ default String getEasyConstructionItems()
{
return "";
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java
index b42c56e1d5..c6eb0a7947 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java
@@ -116,7 +116,7 @@ public class MenuEntrySwapperPlugin extends Plugin
}
private MenuEntry[] entries;
- private final Set leftClickConstructionIDs = new HashSet<>();
+ private final Set leftClickConstructionItems = new HashSet<>();
private boolean buildingMode;
private static final WidgetMenuOption FIXED_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
@@ -192,8 +192,7 @@ public class MenuEntrySwapperPlugin extends Plugin
public void startUp()
{
addSwaps();
- //todo re-enable when fixed.
- /*loadConstructionIDs(config.getConstructionItems());*/
+ loadConstructionItems(config.getEasyConstructionItems());
if (config.shiftClickCustomization())
{
@@ -207,8 +206,7 @@ public class MenuEntrySwapperPlugin extends Plugin
public void shutDown()
{
disableCustomization();
- //todo re-enable when fixed.
- /*loadConstructionIDs("");*/
+ loadConstructionItems("");
loadCustomSwaps(""); // Removes all custom swaps
removeSwaps();
}
@@ -220,9 +218,8 @@ public class MenuEntrySwapperPlugin extends Plugin
{
return;
}
- //todo re-enable when fixed.
- /*loadConstructionIDs(config.getConstructionItems());*/
+ loadConstructionItems(config.getEasyConstructionItems());
removeSwaps();
addSwaps();
@@ -317,9 +314,8 @@ public class MenuEntrySwapperPlugin extends Plugin
{
return;
}
- //todo re-enable when fixed.
- /*loadConstructionIDs(config.getConstructionItems());*/
+ loadConstructionItems(config.getEasyConstructionItems());
}
@Subscribe
@@ -1246,37 +1242,6 @@ public class MenuEntrySwapperPlugin extends Plugin
{
swap(client, "teleport menu", option, target, true);
}
-
- if (config.getTempConstruction() && buildingMode && !Strings.isNullOrEmpty(config.getTempConstructionItems()))
- {
- if (event.getType() == WALK.getId())
- {
- MenuEntry[] menuEntries = client.getMenuEntries();
- MenuEntry menuEntry = menuEntries[menuEntries.length - 1];
- menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
- client.setMenuEntries(menuEntries);
- }
-
- swap(client, "Build", option, target);
-
- MenuEntry[] entries = client.getMenuEntries();
- for (int i = entries.length - 1; i >= 0; i--)
- {
- for (String temp : config.getTempConstructionItems().split(","))
- {
- if (temp.equalsIgnoreCase(Text.removeTags(entries[i].getTarget())))
- {
- if (!entries[i].getOption().equalsIgnoreCase("remove"))
- {
- entries = ArrayUtils.remove(entries, i);
- i--;
- }
- }
- }
- }
-
- client.setMenuEntries(entries);
- }
}
@Subscribe
@@ -1520,25 +1485,24 @@ public class MenuEntrySwapperPlugin extends Plugin
return location.getRegionID() == PURO_PURO_REGION_ID;
}
}
- //todo re-enable when fixed.
-/* private void loadConstructionIDs(String from)
+ private void loadConstructionItems(String from)
{
if (client.getGameState() != GameState.LOGGED_IN
- || Strings.isNullOrEmpty(from) && leftClickConstructionIDs.isEmpty())
+ || Strings.isNullOrEmpty(from) && leftClickConstructionItems.isEmpty())
{
return;
}
- if (!leftClickConstructionIDs.isEmpty())
+ if (!leftClickConstructionItems.isEmpty())
{
- for (int i : leftClickConstructionIDs)
+ for (String s : leftClickConstructionItems)
{
- menuManager.toggleLeftClick("build", i, true);
- menuManager.toggleLeftClick("remove", i, true);
+ menuManager.removePriorityEntry("build", s);
+ menuManager.removePriorityEntry("remove", s);
}
- leftClickConstructionIDs.clear();
+ leftClickConstructionItems.clear();
}
if (config.getEasyConstruction() &&
@@ -1547,21 +1511,18 @@ public class MenuEntrySwapperPlugin extends Plugin
{
for (String s : Text.fromCSV(from))
{
- int id = Integer.parseInt(s.replaceAll("[^0-9]", ""));
-
- if (leftClickConstructionIDs.contains(id))
+ if (leftClickConstructionItems.contains(s))
{
continue;
}
- if (menuManager.toggleLeftClick("build", id, false)
- || menuManager.toggleLeftClick("remove", id, false))
- {
- leftClickConstructionIDs.add(id);
- }
+ menuManager.addPriorityEntry("build", s);
+ menuManager.addPriorityEntry("remove", s);
+
+ leftClickConstructionItems.add(s);
}
}
- }*/
+ }
void startShift()
{