diff --git a/http-service/src/main/java/net/runelite/http/service/item/ItemController.java b/http-service/src/main/java/net/runelite/http/service/item/ItemController.java index f064cf22b1..d98f8ede54 100644 --- a/http-service/src/main/java/net/runelite/http/service/item/ItemController.java +++ b/http-service/src/main/java/net/runelite/http/service/item/ItemController.java @@ -30,7 +30,9 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; @@ -197,9 +199,16 @@ public class ItemController itemIds = Arrays.copyOf(itemIds, MAX_BATCH_LOOKUP); } + Set seen = new HashSet<>(); List itemPrices = new ArrayList<>(itemIds.length); for (int itemId : itemIds) { + if (seen.contains(itemId)) + { + continue; + } + seen.add(itemId); + ItemEntry item = itemService.getItem(itemId); PriceEntry priceEntry = itemService.getPrice(itemId, null);