Resource Tracker
AdvancedDataTracks resources gathered (logs, ores, fish, etc.) and displays statistics. Shows event-based tracking.
18 min read
What It Does
Tracks resources gathered (logs, ores, fish, etc.) and displays statistics. Shows event-based tracking.
Source Code
java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.api.events.ItemContainerChanged;
5import net.runelite.client.eventbus.Subscribe;
6import net.runelite.client.plugins.Plugin;
7import net.runelite.client.plugins.PluginDescriptor;
8import javax.inject.Inject;
9import java.util.HashMap;
10import java.util.Map;
11
12@PluginDescriptor(
13 name = "Resource Tracker",
14 description = "Tracks gathered resources"
15)
16public class ResourceTrackerPlugin extends Plugin {
17 @Inject
18 private Client client;
19
20 private Map<Integer, Integer> resourcesGathered = new HashMap<>();
21 private int lastInventoryCount = 0;
22
23 @Subscribe
24 public void onItemContainerChanged(ItemContainerChanged event) {
25 if (event.getContainerId() == InventoryID.INVENTORY.getId()) {
26 ItemContainer container = event.getItemContainer();
27 int currentCount = container.count(1511); // Logs
28
29 if (currentCount > lastInventoryCount) {
30 int gained = currentCount - lastInventoryCount;
31 resourcesGathered.put(1511,
32 resourcesGathered.getOrDefault(1511, 0) + gained);
33 System.out.println("Gathered " + gained + " logs");
34 }
35
36 lastInventoryCount = currentCount;
37 }
38 }
39}Code Annotations
Line 20
Map to track resource counts
Line 21
Track last inventory state
Line 26
Detect inventory changes
Line 29
Calculate resources gained
API Classes Used
Key Concepts
- •Map to track resource counts
- •Track last inventory state
- •Detect inventory changes
- •Calculate resources gained
Next Steps
- Learn about resource tracking
- Add overlay to display stats
- Track multiple resource types