From e737d73257d8a38c7e7c5a6a102c9a7b547c7b03 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 13 Feb 2020 10:39:49 -0500 Subject: [PATCH] loottracker: prevent null events Also detect and log null events from the clue scroll reward interface --- .../client/plugins/loottracker/LootTrackerPlugin.java | 9 ++++++++- .../client/plugins/loottracker/LootTrackerRecord.java | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) 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 b48684ddf9..100bac6b29 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 @@ -54,6 +54,7 @@ import javax.inject.Inject; import javax.swing.SwingUtilities; import lombok.AccessLevel; import lombok.Getter; +import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; @@ -345,7 +346,7 @@ public class LootTrackerPlugin extends Plugin } } - void addLoot(String name, int combatLevel, LootRecordType type, Collection items) + void addLoot(@NonNull String name, int combatLevel, LootRecordType type, Collection items) { final LootTrackerItem[] entries = buildEntries(stack(items)); SwingUtilities.invokeLater(() -> panel.add(name, type, combatLevel, entries)); @@ -429,6 +430,12 @@ public class LootTrackerPlugin extends Plugin // Clue Scrolls use same InventoryID as Barrows event = eventType; container = client.getItemContainer(InventoryID.BARROWS_REWARD); + + if (event == null) + { + log.debug("Clue scroll reward interface with no event!"); + return; + } break; case (WidgetID.KINGDOM_GROUP_ID): event = "Kingdom of Miscellania"; 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 a7f455c1f7..2887d90627 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 @@ -24,12 +24,14 @@ */ package net.runelite.client.plugins.loottracker; +import lombok.NonNull; import lombok.Value; import net.runelite.http.api.loottracker.LootRecordType; @Value class LootTrackerRecord { + @NonNull private final String title; private final String subTitle; private final LootRecordType type;