From ba6cb3352b804a22db8c846e3964f49265fb71b8 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 5 Apr 2018 11:58:22 -0400 Subject: [PATCH] runelite-api: add idEquals to inventory item query --- .../api/queries/InventoryItemQuery.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/queries/InventoryItemQuery.java b/runelite-api/src/main/java/net/runelite/api/queries/InventoryItemQuery.java index b22c2a910a..8d375be6fe 100644 --- a/runelite-api/src/main/java/net/runelite/api/queries/InventoryItemQuery.java +++ b/runelite-api/src/main/java/net/runelite/api/queries/InventoryItemQuery.java @@ -24,6 +24,8 @@ */ package net.runelite.api.queries; +import java.util.Arrays; +import java.util.Objects; import lombok.RequiredArgsConstructor; import net.runelite.api.Client; import net.runelite.api.InventoryID; @@ -44,7 +46,26 @@ public class InventoryItemQuery extends Query { return null; } - return container.getItems(); + return Arrays.stream(container.getItems()) + .filter(Objects::nonNull) + .filter(predicate) + .toArray(Item[]::new); + } + + public InventoryItemQuery idEquals(int... ids) + { + predicate = and(item -> + { + for (int id : ids) + { + if (item.getId() == id) + { + return true; + } + } + return false; + }); + return this; } }