From 033fb640b1b5e967aa1d1b98cc228a12559260b3 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Wed, 31 Jan 2018 11:27:27 +0100 Subject: [PATCH] Clear game objects on plugin shutdown As we receive new events from RegionTileManager now, properly clear all cached game objects on plugin's shutdown --- .../plugins/agilityplugin/AgilityPlugin.java | 6 ++++++ .../client/plugins/barrows/BarrowsPlugin.java | 7 +++++++ .../plugins/blastfurnace/BlastFurnacePlugin.java | 6 ++++++ .../client/plugins/cannon/CannonPlugin.java | 8 ++++++++ .../client/plugins/hunter/HunterPlugin.java | 15 ++++++++++++--- .../plugins/motherlode/MotherlodePlugin.java | 7 +++++++ .../runelite/client/plugins/poh/PohPlugin.java | 6 ++++++ .../client/plugins/roguesden/RoguesDenPlugin.java | 8 ++++++++ .../client/plugins/runecraft/RunecraftPlugin.java | 6 ++++++ 9 files changed, 66 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java index ede7fd71d1..beaeaa4053 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agilityplugin/AgilityPlugin.java @@ -62,6 +62,12 @@ public class AgilityPlugin extends Plugin @Getter private AgilityOverlay overlay; + @Override + protected void shutDown() throws Exception + { + obstacles.clear(); + } + @Override public void configure(Binder binder) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java index 580beacd9a..00eee5348a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java @@ -91,6 +91,13 @@ public class BarrowsPlugin extends Plugin return barrowsOverlay; } + @Override + protected void shutDown() + { + walls.clear(); + ladders.clear(); + } + @Subscribe public void onWallObjectSpanwed(WallObjectSpawned event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java index ba3df84fe8..e84108002c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java @@ -59,6 +59,12 @@ public class BlastFurnacePlugin extends Plugin @Inject private ConveyorBeltOverlay conveyorBeltOverlay; + @Override + protected void shutDown() + { + conveyorBelt = null; + } + @Provides BlastFurnaceConfig provideConfig(ConfigManager configManager) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index 0e47efb2fc..ee74a518a7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -93,6 +93,14 @@ public class CannonPlugin extends Plugin return cannonOverlay; } + @Override + protected void shutDown() throws Exception + { + cannonPlaced = false; + myCannon = null; + cballsLeft = 0; + } + @Subscribe public void onGameObjectSpawned(GameObjectSpawned event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java index 7b854ca8d7..7152a8a62c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java @@ -45,12 +45,12 @@ import net.runelite.api.GameState; import net.runelite.api.ObjectID; import net.runelite.api.Player; import net.runelite.api.Point; -import net.runelite.api.queries.GameObjectQuery; -import net.runelite.api.queries.PlayerQuery; -import net.runelite.client.config.ConfigManager; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; +import net.runelite.api.queries.GameObjectQuery; +import net.runelite.api.queries.PlayerQuery; +import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -103,6 +103,15 @@ public class HunterPlugin extends Plugin return Arrays.asList(trapOverlay, catchrateOverlay); } + @Override + protected void shutDown() throws Exception + { + catchAtempts = 0; + catchSuccess = 0; + lastActionTime = Instant.ofEpochMilli(0); + traps.clear(); + } + @Subscribe public void onGameObjectSpawned(GameObjectSpawned event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java index 9321f7be7f..b9cab7ca71 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java @@ -109,6 +109,13 @@ public class MotherlodePlugin extends Plugin return Arrays.asList(overlay, rocksOverlay, motherlodeSackOverlay); } + @Override + protected void shutDown() throws Exception + { + veins.clear(); + rocks.clear(); + } + public MotherlodeSession getSession() { return session; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java index 406074c7c7..dc653a199d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java @@ -95,6 +95,12 @@ public class PohPlugin extends Plugin overlay.updateConfig(); } + @Override + protected void shutDown() throws Exception + { + pohObjects.clear(); + } + @Subscribe public void updateConfig(ConfigChanged event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java index 5db00911ff..59db2d9611 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java @@ -73,6 +73,14 @@ public class RoguesDenPlugin extends Plugin @Getter private RoguesDenOverlay overlay; + @Override + protected void shutDown() + { + obstaclesHull.clear(); + obstaclesTile.clear(); + hasGem = false; + } + @Override public void configure(Binder binder) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java index be556b7cbe..ed4d266a8d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java @@ -92,6 +92,12 @@ public class RunecraftPlugin extends Plugin abyssOverlay.updateConfig(); } + @Override + protected void shutDown() throws Exception + { + abyssObjects.clear(); + } + @Subscribe public void updateConfig(ConfigChanged event) {