clues: remove unnecessary item array copy

The array returned by getItems() is always a new array and so does not require copying
This commit is contained in:
Adam
2021-11-12 09:17:13 -05:00
parent 40cc117527
commit 706b9bdba0

View File

@@ -358,22 +358,22 @@ public class ClueScrollPlugin extends Plugin
@Subscribe @Subscribe
public void onItemContainerChanged(final ItemContainerChanged event) public void onItemContainerChanged(final ItemContainerChanged event)
{ {
if (event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT)) if (event.getContainerId() == InventoryID.EQUIPMENT.getId())
{ {
equippedItems = event.getItemContainer().getItems(); equippedItems = event.getItemContainer().getItems();
return; return;
} }
if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)) if (event.getContainerId() != InventoryID.INVENTORY.getId())
{ {
return; return;
} }
inventoryItems = event.getItemContainer().getItems();
// Add runes from rune pouch to inventoryItems
if (event.getItemContainer().contains(ItemID.RUNE_POUCH) || event.getItemContainer().contains(ItemID.RUNE_POUCH_L)) if (event.getItemContainer().contains(ItemID.RUNE_POUCH) || event.getItemContainer().contains(ItemID.RUNE_POUCH_L))
{ {
// Clone the array so changes aren't passed back to the event.
inventoryItems = event.getItemContainer().getItems().clone();
List<Item> runePouchContents = getRunepouchContents(); List<Item> runePouchContents = getRunepouchContents();
if (!runePouchContents.isEmpty()) if (!runePouchContents.isEmpty())
@@ -395,10 +395,6 @@ public class ClueScrollPlugin extends Plugin
inventoryItems = ArrayUtils.addAll(inventoryItems, runePouchContents.toArray(new Item[0])); inventoryItems = ArrayUtils.addAll(inventoryItems, runePouchContents.toArray(new Item[0]));
} }
} }
else
{
inventoryItems = event.getItemContainer().getItems();
}
// Check if item was removed from inventory // Check if item was removed from inventory
if (clue != null && clueItemId != null) if (clue != null && clueItemId != null)
@@ -432,7 +428,7 @@ public class ClueScrollPlugin extends Plugin
private List<Item> getRunepouchContents() private List<Item> getRunepouchContents()
{ {
List<Item> items = new ArrayList<>(); List<Item> items = new ArrayList<>(RUNEPOUCH_AMOUNT_VARBITS.length);
for (int i = 0; i < RUNEPOUCH_AMOUNT_VARBITS.length; i++) for (int i = 0; i < RUNEPOUCH_AMOUNT_VARBITS.length; i++)
{ {
int amount = client.getVar(RUNEPOUCH_AMOUNT_VARBITS[i]); int amount = client.getVar(RUNEPOUCH_AMOUNT_VARBITS[i]);