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 static net.runelite.client.util.MenuUtil.swap;
|
||||||
import net.runelite.client.util.MiscUtils;
|
import net.runelite.client.util.MiscUtils;
|
||||||
import net.runelite.api.util.Text;
|
import net.runelite.api.util.Text;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Menu Entry Swapper",
|
name = "Menu Entry Swapper",
|
||||||
@@ -159,7 +159,6 @@ public class MenuEntrySwapperPlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
@Inject
|
@Inject
|
||||||
private ConfigManager configManager;
|
private ConfigManager configManager;
|
||||||
private MenuEntry[] entries;
|
|
||||||
private boolean buildingMode;
|
private boolean buildingMode;
|
||||||
private boolean inTobRaid = false;
|
private boolean inTobRaid = false;
|
||||||
private boolean inCoxRaid = false;
|
private boolean inCoxRaid = false;
|
||||||
@@ -522,33 +521,34 @@ public class MenuEntrySwapperPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int eventId = event.getIdentifier();
|
final int eventId = event.getIdentifier();
|
||||||
final String option = Text.standardize(event.getOption());
|
final String option = event.getOption().toLowerCase();
|
||||||
final String target = Text.standardize(event.getTarget());
|
final String target = event.getMenuEntry().getStandardizedTarget();
|
||||||
final NPC hintArrowNpc = client.getHintArrowNpc();
|
final NPC hintArrowNpc = client.getHintArrowNpc();
|
||||||
entries = client.getMenuEntries();
|
|
||||||
|
|
||||||
if (this.getRemoveObjects && !this.getRemovedObjects.equals(""))
|
if (this.getRemoveObjects && !this.getRemovedObjects.equals(""))
|
||||||
{
|
{
|
||||||
|
// TODO: CACHE THIS
|
||||||
for (String removed : Text.fromCSV(this.getRemovedObjects))
|
for (String removed : Text.fromCSV(this.getRemovedObjects))
|
||||||
{
|
{
|
||||||
removed = Text.standardize(removed);
|
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("->"))
|
else if (target.contains("->"))
|
||||||
{
|
{
|
||||||
String trimmed = target.split("->")[1].trim();
|
String trimmed = target.split("->")[1].trim();
|
||||||
if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed))
|
if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed))
|
||||||
{
|
{
|
||||||
delete(event.getIdentifier());
|
client.setMenuOptionCount(client.getMenuOptionCount() - 1);
|
||||||
break;
|
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());
|
client.setMenuOptionCount(client.getMenuOptionCount() - 1);
|
||||||
break;
|
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()
|
private boolean isPuroPuro()
|
||||||
{
|
{
|
||||||
Player player = client.getLocalPlayer();
|
Player player = client.getLocalPlayer();
|
||||||
|
|||||||
Reference in New Issue
Block a user