Merge pull request #1528 from Lucwousin/mes-yes

Menu Entry Swapper: Generate less garbage objects
This commit is contained in:
Lucwousin
2019-09-03 20:45:33 +02:00
committed by GitHub

View File

@@ -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();