Merge pull request #1528 from Lucwousin/mes-yes
Menu Entry Swapper: Generate less garbage objects
This commit is contained in:
@@ -107,7 +107,7 @@ import net.runelite.client.util.HotkeyListener;
|
||||
import static net.runelite.client.util.MenuUtil.swap;
|
||||
import net.runelite.client.util.MiscUtils;
|
||||
import net.runelite.api.util.Text;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Menu Entry Swapper",
|
||||
@@ -159,7 +159,6 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
*/
|
||||
@Inject
|
||||
private ConfigManager configManager;
|
||||
private MenuEntry[] entries;
|
||||
private boolean buildingMode;
|
||||
private boolean inTobRaid = false;
|
||||
private boolean inCoxRaid = false;
|
||||
@@ -522,33 +521,34 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
}
|
||||
|
||||
final int eventId = event.getIdentifier();
|
||||
final String option = Text.standardize(event.getOption());
|
||||
final String target = Text.standardize(event.getTarget());
|
||||
final String option = event.getOption().toLowerCase();
|
||||
final String target = event.getMenuEntry().getStandardizedTarget();
|
||||
final NPC hintArrowNpc = client.getHintArrowNpc();
|
||||
entries = client.getMenuEntries();
|
||||
|
||||
if (this.getRemoveObjects && !this.getRemovedObjects.equals(""))
|
||||
{
|
||||
// TODO: CACHE THIS
|
||||
for (String removed : Text.fromCSV(this.getRemovedObjects))
|
||||
{
|
||||
removed = Text.standardize(removed);
|
||||
if (target.contains("(") && target.split(" \\(")[0].equals(removed))
|
||||
if (target.equals(removed))
|
||||
{
|
||||
delete(event.getIdentifier());
|
||||
client.setMenuOptionCount(client.getMenuOptionCount() - 1);
|
||||
return;
|
||||
}
|
||||
else if (target.contains("->"))
|
||||
{
|
||||
String trimmed = target.split("->")[1].trim();
|
||||
if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed))
|
||||
{
|
||||
delete(event.getIdentifier());
|
||||
break;
|
||||
client.setMenuOptionCount(client.getMenuOptionCount() - 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (target.length() >= removed.length() && target.substring(0, removed.length()).equalsIgnoreCase(removed))
|
||||
else if (target.length() >= removed.length() && StringUtils.startsWithIgnoreCase(target, removed))
|
||||
{
|
||||
delete(event.getIdentifier());
|
||||
break;
|
||||
client.setMenuOptionCount(client.getMenuOptionCount() - 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1416,19 +1416,6 @@ public class MenuEntrySwapperPlugin extends Plugin
|
||||
}
|
||||
}
|
||||
|
||||
private void delete(int target)
|
||||
{
|
||||
for (int i = entries.length - 1; i >= 0; i--)
|
||||
{
|
||||
if (entries[i].getIdentifier() == target)
|
||||
{
|
||||
entries = ArrayUtils.remove(entries, i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
client.setMenuEntries(entries);
|
||||
}
|
||||
|
||||
private boolean isPuroPuro()
|
||||
{
|
||||
Player player = client.getLocalPlayer();
|
||||
|
||||
Reference in New Issue
Block a user