From ef4c628068ec487b3bb47e1b0b1add56a20b5641 Mon Sep 17 00:00:00 2001 From: dekvall Date: Tue, 6 Aug 2019 19:01:18 +0200 Subject: [PATCH 1/2] loottracker: remove timestamp from LootTrackerRecord --- .../runelite/client/plugins/loottracker/LootTrackerPanel.java | 2 +- .../runelite/client/plugins/loottracker/LootTrackerPlugin.java | 2 +- .../runelite/client/plugins/loottracker/LootTrackerRecord.java | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java index ef237a78ec..e901a6820f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java @@ -378,7 +378,7 @@ class LootTrackerPanel extends PluginPanel void add(final String eventName, final int actorLevel, LootTrackerItem[] items) { final String subTitle = actorLevel > -1 ? "(lvl-" + actorLevel + ")" : ""; - final LootTrackerRecord record = new LootTrackerRecord(eventName, subTitle, items, System.currentTimeMillis()); + final LootTrackerRecord record = new LootTrackerRecord(eventName, subTitle, items); records.add(record); LootTrackerBox box = buildBox(record); if (box != null) 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 5fd34877f5..20ce89f8f5 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 @@ -614,7 +614,7 @@ public class LootTrackerPlugin extends Plugin buildLootTrackerItem(itemStack.getId(), itemStack.getQty()) ).toArray(LootTrackerItem[]::new); - trackerRecords.add(new LootTrackerRecord(record.getEventId(), "", drops, -1)); + trackerRecords.add(new LootTrackerRecord(record.getEventId(), "", drops)); } return trackerRecords; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerRecord.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerRecord.java index 0d75ec70c3..da69caff7d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerRecord.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerRecord.java @@ -32,7 +32,6 @@ class LootTrackerRecord private final String title; private final String subTitle; private final LootTrackerItem[] items; - private final long timestamp; /** * Checks if this record matches specified id From 1abadb0c9c36dddbd3ccdff83ec04eac4cac0c8c Mon Sep 17 00:00:00 2001 From: dekvall Date: Sat, 10 Aug 2019 12:23:20 +0200 Subject: [PATCH 2/2] 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)); } /**