diff --git a/runelite-api/src/main/java/net/runelite/api/InventoryID.java b/runelite-api/src/main/java/net/runelite/api/InventoryID.java index 151541f373..0f63e27a8b 100644 --- a/runelite-api/src/main/java/net/runelite/api/InventoryID.java +++ b/runelite-api/src/main/java/net/runelite/api/InventoryID.java @@ -92,7 +92,11 @@ public enum InventoryID /** * Player inventory when accessing group ironman shared storage */ - GROUP_STORAGE_INV(660); + GROUP_STORAGE_INV(660), + /** + * Wilderness loot chest + */ + WILDERNESS_LOOT_CHEST(797); private final int id; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 21a878fa62..207cafdf86 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -173,6 +173,7 @@ public final class WidgetID public static final int GROUP_IRON_GROUP_ID = 726; public static final int GROUP_STORAGE_INVENTORY_GROUP_ID = 725; public static final int GROUP_STORAGE_GROUP_ID = 724; + public static final int WILDERNESS_LOOT_CHEST = 742; static class WorldMap { 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 c25579c566..8d9d0dbe1e 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 @@ -688,6 +688,15 @@ public class LootTrackerPlugin extends Plugin metadata = client.getBoostedSkillLevel(Skill.FISHING); container = client.getItemContainer(InventoryID.DRIFT_NET_FISHING_REWARD); break; + case WidgetID.WILDERNESS_LOOT_CHEST: + if (chestLooted) + { + return; + } + event = "Loot Chest"; + container = client.getItemContainer(InventoryID.WILDERNESS_LOOT_CHEST); + chestLooted = true; + break; default: return; } @@ -885,6 +894,14 @@ public class LootTrackerPlugin extends Plugin @Subscribe public void onItemContainerChanged(ItemContainerChanged event) { + // when the wilderness chest empties, clear chest loot flag for the next key + if (event.getContainerId() == InventoryID.WILDERNESS_LOOT_CHEST.getId() + && Arrays.stream(event.getItemContainer().getItems()).noneMatch(i -> i.getId() > -1)) + { + log.debug("Resetting chest loot flag"); + chestLooted = false; + } + if (inventoryId == null || event.getContainerId() != inventoryId.getId()) { return;