diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java index dc58487c50..ec1c9b72f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java @@ -26,15 +26,20 @@ package net.runelite.client.plugins.freezetimers; import com.google.inject.Provides; import javax.inject.Inject; +import net.runelite.api.Actor; import net.runelite.api.Client; +import net.runelite.api.Player; import net.runelite.api.events.GameTick; import net.runelite.api.events.GraphicChanged; +import net.runelite.api.events.PlayerDespawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; +import java.util.HashMap; +import java.util.Map; @PluginDescriptor( name = "Freeze Timers", @@ -44,6 +49,8 @@ import net.runelite.client.ui.overlay.OverlayManager; ) public class FreezeTimersPlugin extends Plugin { + private final Map freezes = new HashMap<>(); + private Actor player; @Inject private Client client; @@ -110,4 +117,16 @@ public class FreezeTimersPlugin extends Plugin prayerTracker.gameTick(); } + @Subscribe + public void onPlayerDespawned(PlayerDespawned playerDespawned) + { + final Player player = playerDespawned.getPlayer(); + // All despawns ok: death, teleports, log out, runs away from screen + this.remove(player); + } + public void remove(Actor actor) + { + freezes.remove(actor.getName()); + } + }