From bc7df6b0f2aaeeae55b9e3fc27f0fa2e483fe3c8 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 20 May 2018 11:41:00 -0400 Subject: [PATCH] runelite-client: fix usage of npc despawn event Sincee 915070b4b3e5365dd052479bfc67a35937c32e0 the event no longer fires on logout --- .../client/plugins/cerberus/CerberusPlugin.java | 11 +++++++++++ .../plugins/npchighlight/NpcIndicatorsPlugin.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cerberus/CerberusPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cerberus/CerberusPlugin.java index d16827c0a3..369bc91212 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cerberus/CerberusPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cerberus/CerberusPlugin.java @@ -33,7 +33,9 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; import lombok.Getter; +import net.runelite.api.GameState; import net.runelite.api.NPC; +import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; @@ -63,6 +65,15 @@ public class CerberusPlugin extends Plugin return overlay; } + @Subscribe + public void onGameStateChange(GameStateChanged event) + { + if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) + { + ghosts.clear(); + } + } + @Subscribe public void onNpcSpawned(final NpcSpawned event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index c379efb4a4..c3a845d54a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -38,9 +38,11 @@ import javax.inject.Inject; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; +import net.runelite.api.GameState; import net.runelite.api.NPC; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; +import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; @@ -130,6 +132,15 @@ public class NpcIndicatorsPlugin extends Plugin keyManager.unregisterKeyListener(inputListener); } + @Subscribe + public void onGameStateChange(GameStateChanged event) + { + if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) + { + highlightedNpcs.clear(); + } + } + @Subscribe public void onConfigChanged(ConfigChanged configChanged) {