From d9fb3a99da877b3d305ca3bba9cb5df9c906e4c9 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 23 Dec 2018 14:18:47 -0500 Subject: [PATCH] loot tracker service: fix getting loot records --- .../service/loottracker/LootTrackerService.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/http-service/src/main/java/net/runelite/http/service/loottracker/LootTrackerService.java b/http-service/src/main/java/net/runelite/http/service/loottracker/LootTrackerService.java index 3c94eb3687..e89b498ef5 100644 --- a/http-service/src/main/java/net/runelite/http/service/loottracker/LootTrackerService.java +++ b/http-service/src/main/java/net/runelite/http/service/loottracker/LootTrackerService.java @@ -128,23 +128,23 @@ public class LootTrackerService .executeAndFetch(LootResult.class); } - int killId = -1; + LootResult current = null; List lootRecords = new ArrayList<>(); List gameItems = new ArrayList<>(); for (LootResult lootResult : lootResults) { - if (killId != lootResult.getKillId()) + if (current == null || current.getKillId() != lootResult.getKillId()) { - killId = lootResult.getKillId(); - if (!gameItems.isEmpty()) { - LootRecord lootRecord = new LootRecord(lootResult.getEventId(), lootResult.getType(), gameItems); + LootRecord lootRecord = new LootRecord(current.getEventId(), current.getType(), gameItems); lootRecords.add(lootRecord); + + gameItems = new ArrayList<>(); } - gameItems = new ArrayList<>(); + current = lootResult; } GameItem gameItem = new GameItem(lootResult.getItemId(), lootResult.getItemQuantity()); @@ -153,8 +153,7 @@ public class LootTrackerService if (!gameItems.isEmpty()) { - LootResult lootResult = lootResults.get(lootResults.size() - 1); - LootRecord lootRecord = new LootRecord(lootResult.getEventId(), lootResult.getType(), gameItems); + LootRecord lootRecord = new LootRecord(current.getEventId(), current.getType(), gameItems); lootRecords.add(lootRecord); }