From 1abadb0c9c36dddbd3ccdff83ec04eac4cac0c8c Mon Sep 17 00:00:00 2001 From: dekvall Date: Sat, 10 Aug 2019 12:23:20 +0200 Subject: [PATCH] loottracker: fix order on client reload The panel is currently rebuilt with the earliest loots at the top. For the sake of consistency, it should be the other way around. Closes #9575 --- .../loottracker/LootTrackerPlugin.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 20ce89f8f5..8acb76bf35 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -37,6 +37,7 @@ import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -607,17 +608,17 @@ public class LootTrackerPlugin extends Plugin private Collection convertToLootTrackerRecord(final Collection records) { - Collection trackerRecords = new ArrayList<>(); - for (LootRecord record : records) - { - LootTrackerItem[] drops = record.getDrops().stream().map(itemStack -> - buildLootTrackerItem(itemStack.getId(), itemStack.getQty()) - ).toArray(LootTrackerItem[]::new); + return records.stream() + .sorted(Comparator.comparing(LootRecord::getTime)) + .map(record -> + { + LootTrackerItem[] drops = record.getDrops().stream().map(itemStack -> + buildLootTrackerItem(itemStack.getId(), itemStack.getQty()) + ).toArray(LootTrackerItem[]::new); - trackerRecords.add(new LootTrackerRecord(record.getEventId(), "", drops)); - } - - return trackerRecords; + return new LootTrackerRecord(record.getEventId(), "", drops); + }) + .collect(Collectors.toCollection(ArrayList::new)); } /**