diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java index 07bd977a81..a6fb299f50 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java @@ -32,7 +32,7 @@ import javax.swing.JOptionPane; import lombok.extern.slf4j.Slf4j; import net.runelite.client.account.AccountSession; import net.runelite.client.account.SessionManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionOpen; import net.runelite.client.plugins.Plugin; @@ -60,6 +60,9 @@ public class AccountPlugin extends Plugin @Inject private ScheduledExecutorService executor; + @Inject + private EventBus eventBus; + private NavigationButton loginButton; private NavigationButton logoutButton; @@ -74,6 +77,8 @@ public class AccountPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + loginButton = NavigationButton.builder() .tab(false) .icon(LOGIN_IMAGE) @@ -103,10 +108,18 @@ public class AccountPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + clientToolbar.removeNavigation(loginButton); clientToolbar.removeNavigation(logoutButton); } + private void addSubscriptions() + { + eventBus.subscribe(SessionClose.class, this, this::onSessionClose); + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + } + private void loginClick() { executor.execute(sessionManager::login); @@ -122,14 +135,12 @@ public class AccountPlugin extends Plugin } } - @Subscribe - public void onSessionClose(SessionClose e) + private void onSessionClose(SessionClose e) { addAndRemoveButtons(); } - @Subscribe - public void onSessionOpen(SessionOpen sessionOpen) + private void onSessionOpen(SessionOpen sessionOpen) { AccountSession session = sessionManager.getAccountSession(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java index 341e17a7aa..27369d8153 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java @@ -44,7 +44,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.achievementdiary.diaries.ArdougneDiaryRequirement; @@ -79,8 +79,22 @@ public class DiaryRequirementsPlugin extends Plugin @Inject private ClientThread clientThread; - @Subscribe - public void onWidgetLoaded(final WidgetLoaded event) + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void onWidgetLoaded(final WidgetLoaded event) { if (event.getGroupId() == WidgetID.DIARY_QUEST_GROUP_ID) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java index 3f7ac5b498..42a1dad7bc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java @@ -70,7 +70,7 @@ import net.runelite.api.events.WallObjectDespawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.AgilityShortcut; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; @@ -120,6 +120,9 @@ public class AgilityPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private AgilitySession session; @@ -166,6 +169,7 @@ public class AgilityPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(agilityOverlay); overlayManager.add(lapCounterOverlay); @@ -175,6 +179,8 @@ public class AgilityPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(agilityOverlay); overlayManager.remove(lapCounterOverlay); marksOfGrace.clear(); @@ -183,8 +189,31 @@ public class AgilityPlugin extends Plugin agilityLevel = 0; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(BoostedLevelChanged.class, this, this::onBoostedLevelChanged); + eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned); + eventBus.subscribe(ItemDespawned.class, this, this::onItemDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(GroundObjectChanged.class, this, this::onGroundObjectChanged); + eventBus.subscribe(GroundObjectDespawned.class, this, this::onGroundObjectDespawned); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(WallObjectChanged.class, this, this::onWallObjectChanged); + eventBus.subscribe(WallObjectDespawned.class, this, this::onWallObjectDespawned); + eventBus.subscribe(DecorativeObjectSpawned.class, this, this::onDecorativeObjectSpawned); + eventBus.subscribe(DecorativeObjectChanged.class, this, this::onDecorativeObjectChanged); + eventBus.subscribe(DecorativeObjectDespawned.class, this, this::onDecorativeObjectDespawned); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -208,8 +237,7 @@ public class AgilityPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("agility")) { @@ -242,8 +270,7 @@ public class AgilityPlugin extends Plugin this.showShortcutLevel = config.showShortcutLevel(); } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { if (event.getSkill() != AGILITY || !this.showLapCount) { @@ -278,9 +305,7 @@ public class AgilityPlugin extends Plugin } } - - @Subscribe - public void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged) + private void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged) { Skill skill = boostedLevelChanged.getSkill(); if (skill == AGILITY) @@ -289,8 +314,7 @@ public class AgilityPlugin extends Plugin } } - @Subscribe - public void onItemSpawned(ItemSpawned itemSpawned) + private void onItemSpawned(ItemSpawned itemSpawned) { if (obstacles.isEmpty()) { @@ -306,15 +330,13 @@ public class AgilityPlugin extends Plugin } } - @Subscribe - public void onItemDespawned(ItemDespawned itemDespawned) + private void onItemDespawned(ItemDespawned itemDespawned) { final Tile tile = itemDespawned.getTile(); marksOfGrace.remove(tile); } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { if (isInAgilityArena()) { @@ -365,74 +387,62 @@ public class AgilityPlugin extends Plugin infoBoxManager.addInfoBox(new AgilityArenaTimer(this, itemManager.getImage(AGILITY_ARENA_TICKET))); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { onTileObject(event.getTile(), null, event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { onTileObject(event.getTile(), event.getGameObject(), null); } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { onTileObject(event.getTile(), null, event.getGroundObject()); } - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) + private void onGroundObjectChanged(GroundObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) + private void onGroundObjectDespawned(GroundObjectDespawned event) { onTileObject(event.getTile(), event.getGroundObject(), null); } - @Subscribe - public void onWallObjectSpawned(WallObjectSpawned event) + private void onWallObjectSpawned(WallObjectSpawned event) { onTileObject(event.getTile(), null, event.getWallObject()); } - @Subscribe - public void onWallObjectChanged(WallObjectChanged event) + private void onWallObjectChanged(WallObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getWallObject()); } - @Subscribe - public void onWallObjectDespawned(WallObjectDespawned event) + private void onWallObjectDespawned(WallObjectDespawned event) { onTileObject(event.getTile(), event.getWallObject(), null); } - @Subscribe - public void onDecorativeObjectSpawned(DecorativeObjectSpawned event) + private void onDecorativeObjectSpawned(DecorativeObjectSpawned event) { onTileObject(event.getTile(), null, event.getDecorativeObject()); } - @Subscribe - public void onDecorativeObjectChanged(DecorativeObjectChanged event) + private void onDecorativeObjectChanged(DecorativeObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getDecorativeObject()); } - @Subscribe - public void onDecorativeObjectDespawned(DecorativeObjectDespawned event) + private void onDecorativeObjectDespawned(DecorativeObjectDespawned event) { onTileObject(event.getTile(), event.getDecorativeObject(), null); } @@ -484,8 +494,7 @@ public class AgilityPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!this.showShortcutLevel) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java index fe94944427..7bdc96738a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.ProjectileMoved; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -89,9 +89,14 @@ public class HydraPlugin extends Plugin @Inject private HydraSceneOverlay poisonOverlay; + @Inject + private EventBus eventBus; + @Override protected void startUp() { + addSubscriptions(); + inHydraInstance = checkArea(); lastAttackTick = -1; poisonProjectiles.clear(); @@ -100,6 +105,8 @@ public class HydraPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + inHydraInstance = false; hydra = null; poisonProjectiles.clear(); @@ -107,7 +114,15 @@ public class HydraPlugin extends Plugin lastAttackTick = -1; } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + private void onGameStateChanged(GameStateChanged state) { if (state.getGameState() != GameState.LOGGED_IN) @@ -140,7 +155,6 @@ public class HydraPlugin extends Plugin addOverlays(); } - @Subscribe private void onNpcSpawned(NpcSpawned event) { if (!inHydraInstance || event.getNpc().getId() != NpcID.ALCHEMICAL_HYDRA) @@ -152,8 +166,7 @@ public class HydraPlugin extends Plugin addOverlays(); } - @Subscribe - public void onAnimationChanged(AnimationChanged animationChanged) + private void onAnimationChanged(AnimationChanged animationChanged) { Actor actor = animationChanged.getActor(); @@ -215,8 +228,7 @@ public class HydraPlugin extends Plugin } } - @Subscribe - public void onProjectileMoved(ProjectileMoved event) + private void onProjectileMoved(ProjectileMoved event) { if (!inHydraInstance || hydra == null || client.getGameCycle() >= event.getProjectile().getStartMovementCycle()) @@ -245,8 +257,7 @@ public class HydraPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!event.getMessage().equals("The chemicals neutralise the Alchemical Hydra's defences!")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ammo/AmmoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/ammo/AmmoPlugin.java index ee2b31666b..9796ef08ba 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ammo/AmmoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ammo/AmmoPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.ItemDefinition; import net.runelite.api.ItemContainer; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -61,11 +61,16 @@ public class AmmoPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + private AmmoCounter counterBox; @Override protected void startUp() throws Exception { + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + clientThread.invokeLater(() -> { final ItemContainer container = client.getItemContainer(InventoryID.EQUIPMENT); @@ -80,12 +85,13 @@ public class AmmoPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + infoBoxManager.removeInfoBox(counterBox); counterBox = null; } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java index 7c77990a26..c21a4504ac 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -51,6 +51,9 @@ public class AnimationSmoothingPlugin extends Plugin @Inject private AnimationSmoothingConfig config; + @Inject + private EventBus eventBus; + @Provides AnimationSmoothingConfig getConfig(ConfigManager configManager) { @@ -60,20 +63,23 @@ public class AnimationSmoothingPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + update(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + client.setInterpolatePlayerAnimations(false); client.setInterpolateNpcAnimations(false); client.setInterpolateObjectAnimations(false); client.setInterpolateWidgetAnimations(false); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java index ed6d07b6af..b353740e56 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java @@ -36,7 +36,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -81,6 +81,9 @@ public class AntiDragPlugin extends Plugin @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + @Provides AntiDragConfig getConfig(ConfigManager configManager) { @@ -103,6 +106,8 @@ public class AntiDragPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + if (this.keybind) { keyManager.registerKeyListener(hotkeyListener); @@ -113,14 +118,21 @@ public class AntiDragPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + client.setInventoryDragDelay(DEFAULT_DELAY); keyManager.unregisterKeyListener(hotkeyListener); toggleDrag = false; overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("antiDrag")) { @@ -157,8 +169,7 @@ public class AntiDragPlugin extends Plugin this.selectedCursor = config.selectedCursor(); } - @Subscribe - public void onFocusChanged(FocusChanged focusChanged) + private void onFocusChanged(FocusChanged focusChanged) { if (!this.alwaysOn && !focusChanged.isFocused() && this.reqfocus) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java index 79628e5377..8c7a98d914 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java @@ -182,7 +182,7 @@ public class AoeWarningPlugin extends Plugin @Override protected void shutDown() throws Exception { - super.shutDown(); + eventbus.unregister(this); overlayManager.remove(coreOverlay); overlayManager.remove(bombOverlay); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java index 1a99f715af..05dc67eab2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java @@ -50,7 +50,7 @@ import net.runelite.api.widgets.WidgetInfo; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING; @@ -89,6 +89,9 @@ public class AttackStylesPlugin extends Plugin @Inject private AttackStylesOverlay overlay; + @Inject + private EventBus eventBus; + @Provides AttackStylesConfig provideConfig(ConfigManager configManager) { @@ -110,6 +113,7 @@ public class AttackStylesPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); @@ -140,12 +144,23 @@ public class AttackStylesPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); hideWarnedStyles(false); processWidgets(); hideWidget(client.getWidget(WidgetInfo.COMBAT_AUTO_RETALIATE), false); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + public AttackStyle getAttackStyle() { return attackStyle; @@ -156,8 +171,7 @@ public class AttackStylesPlugin extends Plugin return warnedSkillSelected; } - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + private void onWidgetHiddenChanged(WidgetHiddenChanged event) { if (event.getWidget().isSelfHidden() || TO_GROUP(event.getWidget().getId()) != COMBAT_GROUP_ID) { @@ -167,8 +181,7 @@ public class AttackStylesPlugin extends Plugin processWidgets(); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() != COMBAT_GROUP_ID) { @@ -195,8 +208,7 @@ public class AttackStylesPlugin extends Plugin hideWidget(client.getWidget(WidgetInfo.COMBAT_AUTO_RETALIATE), this.hideAutoRetaliate); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -208,8 +220,7 @@ public class AttackStylesPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (attackStyleVarbit == -1 || attackStyleVarbit != client.getVar(VarPlayer.ATTACK_STYLE)) { @@ -236,8 +247,7 @@ public class AttackStylesPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("attackIndicator")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index d5cebbd51d..3e5693165a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.events.MenuShouldLeftClick; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.banktags.tabs.BankSearch; @@ -72,6 +72,9 @@ public class BankPlugin extends Plugin @Inject private BankSearch bankSearch; + @Inject + private EventBus eventBus; + private boolean forceRightClickFlag; @Provides @@ -93,17 +96,26 @@ public class BankPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); } @Override protected void shutDown() { + eventBus.unregister(this); clientThread.invokeLater(() -> bankSearch.reset(false)); forceRightClickFlag = false; } - @Subscribe - public void onMenuShouldLeftClick(MenuShouldLeftClick event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuShouldLeftClick.class, this, this::onMenuShouldLeftClick); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onMenuShouldLeftClick(MenuShouldLeftClick event) { if (!forceRightClickFlag) { @@ -124,8 +136,7 @@ public class BankPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if ((event.getOption().equals(DEPOSIT_WORN) && this.rightClickBankEquip) || (event.getOption().equals(DEPOSIT_INVENTORY) && this.rightClickBankInventory) @@ -135,8 +146,7 @@ public class BankPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!event.getEventName().equals("setBankTitle")) { @@ -192,8 +202,7 @@ public class BankPlugin extends Plugin stringStack[stringStackSize - 1] += strCurrentTab; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("bank")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index 11c64fd0e3..b7bbb97a3c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -60,7 +60,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.game.chatbox.ChatboxPanelManager; @@ -132,6 +132,9 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis @Inject private SpriteManager spriteManager; + @Inject + private EventBus eventBus; + private boolean shiftPressed = false; private int nextRowIndex = 0; @@ -144,6 +147,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis @Override public void startUp() { + addSubscriptions(); + keyManager.registerKeyListener(this); mouseManager.registerMouseWheelListener(this); clientThread.invokeLater(tabInterface::init); @@ -153,6 +158,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis @Override public void shutDown() { + eventBus.unregister(this); + keyManager.unregisterKeyListener(this); mouseManager.unregisterMouseWheelListener(this); clientThread.invokeLater(tabInterface::destroy); @@ -161,6 +168,18 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis shiftPressed = false; } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(DraggingWidgetChanged.class, this, this::onDraggingWidgetChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + private boolean isSearching() { return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType() @@ -168,8 +187,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis && client.getVar(VarClientStr.INPUT_TEXT) != null && client.getVar(VarClientStr.INPUT_TEXT).length() > 0); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { String eventName = event.getEventName(); @@ -284,8 +302,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { MenuEntry[] entries = client.getMenuEntries(); @@ -318,8 +335,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis tabInterface.handleAdd(event); } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && event.getMenuAction() == MenuAction.RUNELITE @@ -393,8 +409,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis } } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("banktags") && configChanged.getKey().equals("useTabs")) { @@ -409,20 +424,17 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { tabInterface.update(); } - @Subscribe - public void onDraggingWidgetChanged(DraggingWidgetChanged event) + private void onDraggingWidgetChanged(DraggingWidgetChanged event) { tabInterface.handleDrag(event.isDraggingWidget(), shiftPressed); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.BANK_GROUP_ID) { @@ -430,8 +442,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis } } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void onFocusChanged(FocusChanged event) { if (!event.isFocused()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java index a34b7e756c..ea7875f1de 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java @@ -56,7 +56,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -91,6 +91,8 @@ public class BanListPlugin extends Plugin private BanListConfig config; @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; private String tobNames = ""; private boolean enableWDRScam; private boolean enableWDRToxic; @@ -108,6 +110,7 @@ public class BanListPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); List bannedPlayers = Splitter .on(",") .trimResults() @@ -120,14 +123,24 @@ public class BanListPlugin extends Plugin @Override protected void shutDown() throws Exception { + + eventBus.unregister(this); wdrScamSet.clear(); wdrToxicSet.clear(); runeWatchSet.clear(); manualBans.clear(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + eventBus.subscribe(ClanMemberJoined.class, this, this::onClanMemberJoined); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("banlist") && event.getKey().equals("bannedPlayers")) { @@ -159,8 +172,7 @@ public class BanListPlugin extends Plugin /** * Event to keep making sure player names are highlighted red in clan chat, since the red name goes away frequently */ - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) + private void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) { if (client.getGameState() != GameState.LOGGED_IN || client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null @@ -180,9 +192,7 @@ public class BanListPlugin extends Plugin }); } - - @Subscribe - public void onClanMemberJoined(ClanMemberJoined event) + private void onClanMemberJoined(ClanMemberJoined event) { ClanMember member = event.getMember(); String memberUsername = Text.standardize(member.getUsername().toLowerCase()); @@ -212,8 +222,7 @@ public class BanListPlugin extends Plugin /** * If a trade window is opened and the person trading us is on the list, modify "trading with" */ - @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + private void onWidgetLoaded(WidgetLoaded widgetLoaded) { if (this.highlightInTrade && widgetLoaded.getGroupId() == TRADING_SCREEN) { //if trading window was loaded @@ -233,9 +242,7 @@ public class BanListPlugin extends Plugin } } - - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (client.getWidget(WidgetInfo.THEATRE_OF_BLOOD_RAIDING_PARTY) == null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java index 0c39075df7..88b3e69e25 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java @@ -82,7 +82,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; @@ -155,6 +155,9 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + @Getter private boolean inGame = false; @@ -306,6 +309,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); font = FontManager.getRunescapeFont().deriveFont(Font.BOLD, 24); torsoImage = itemManager.getImage(ItemID.FIGHTER_TORSO); @@ -323,6 +327,8 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(widgetsOverlay); overlayManager.remove(sceneOverlay); keyManager.unregisterKeyListener(this); @@ -343,6 +349,24 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener menu.clearHiddenMenus(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned); + eventBus.subscribe(ItemDespawned.class, this, this::onItemDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(BeforeRender.class, this, this::onBeforeRender); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(ProjectileSpawned.class, this, this::onProjectileSpawned); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + @Override public void keyTyped(KeyEvent e) { @@ -376,8 +400,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { //not client thread be careful if (!configChanged.getGroup().equals("barbarianAssault")) @@ -487,8 +510,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener this.showEggCountOverlay = config.showEggCountOverlay(); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { switch (event.getGroupId()) { @@ -558,8 +580,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (!chatMessage.getType().equals(ChatMessageType.GAMEMESSAGE)) { @@ -578,6 +599,11 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } else if (isInGame()) { + if (scorecard != null) + { + scorecard.onChatMessage(chatMessage); + } + if (message.contains("exploded") && wave != null) { wave.setWrongEggs(wave.getWrongEggs() + 1); @@ -637,8 +663,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onItemSpawned(ItemSpawned itemSpawned) + private void onItemSpawned(ItemSpawned itemSpawned) { if (!isInGame()) { @@ -657,8 +682,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onItemDespawned(ItemDespawned itemDespawned) + private void onItemDespawned(ItemDespawned itemDespawned) { if (!isInGame()) { @@ -708,8 +732,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { // Keep in mind isInGame is delayed by a tick when a wave ends if (!isInGame() || getRole() == null) @@ -740,8 +763,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (!isInGame()) { @@ -763,8 +785,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (!isInGame()) { @@ -779,8 +800,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener // This was almost certainly a waste of time to get working, because almost nobody // actually uses the horn of glory. At least now there shouldn't be anyone complaining // about the horn of glory breaking anything and everything that should never break. - @Subscribe - public void onBeforeRender(BeforeRender event) + private void onBeforeRender(BeforeRender event) { if (!isInGame()) { @@ -953,8 +973,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener // onMenuEntryAdded is being used for conditional entry changes that are not // easily achievable using MenuManager, all other changes use MenuManager in // the BarbarianAssaultMenu/Menus classes - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!isInGame()) { @@ -1144,8 +1163,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener client.setMenuEntries(menu.toArray(new MenuEntry[0])); } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (!isInGame() && getRole() != null) { @@ -1177,8 +1195,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } // Interacting changed has a slight delay until after the hitsplat is applied - @Subscribe - public void onInteractingChanged(InteractingChanged event) + private void onInteractingChanged(InteractingChanged event) { if (!isInGame() || getRole() != Role.HEALER) { @@ -1213,8 +1230,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } - @Subscribe - public void onProjectileSpawned(ProjectileSpawned event) + private void onProjectileSpawned(ProjectileSpawned event) { if (!isInGame()) { @@ -1234,8 +1250,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { int newInGameBit = client.getVar(Varbits.IN_GAME_BA); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java index 0c853cc360..2cc3e6a3b3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java @@ -64,7 +64,6 @@ public class Scorecard this.game = game; } - @Subscribe public void onChatMessage(ChatMessage chatMessage) { if (chatMessage.getMessage().startsWith("---- Points:") && game.getStage() == 1) 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 beeb0ba8cf..382a511753 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 @@ -63,7 +63,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; @@ -141,6 +141,9 @@ public class BarrowsPlugin extends Plugin @Inject private BarrowsConfig config; + @Inject + private EventBus eventBus; + @Provides BarrowsConfig provideConfig(ConfigManager configManager) { @@ -164,6 +167,8 @@ public class BarrowsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + overlayManager.add(barrowsOverlay); overlayManager.add(brotherOverlay); } @@ -171,6 +176,8 @@ public class BarrowsPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(barrowsOverlay); overlayManager.remove(brotherOverlay); walls.clear(); @@ -193,8 +200,20 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(WallObjectChanged.class, this, this::onWallObjectChanged); + eventBus.subscribe(WallObjectDespawned.class, this, this::onWallObjectDespawned); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("barrows")) { @@ -218,8 +237,7 @@ public class BarrowsPlugin extends Plugin this.showPrayerDrainTimer = config.showPrayerDrainTimer(); } - @Subscribe - public void onWallObjectSpawned(WallObjectSpawned event) + private void onWallObjectSpawned(WallObjectSpawned event) { WallObject wallObject = event.getWallObject(); if (BARROWS_WALLS.contains(wallObject.getId())) @@ -228,8 +246,7 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onWallObjectChanged(WallObjectChanged event) + private void onWallObjectChanged(WallObjectChanged event) { WallObject previous = event.getPrevious(); WallObject wallObject = event.getWallObject(); @@ -241,15 +258,13 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onWallObjectDespawned(WallObjectDespawned event) + private void onWallObjectDespawned(WallObjectDespawned event) { WallObject wallObject = event.getWallObject(); walls.remove(wallObject); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { GameObject gameObject = event.getGameObject(); if (BARROWS_LADDERS.contains(gameObject.getId())) @@ -258,8 +273,7 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { GameObject previous = event.getPrevious(); GameObject gameObject = event.getGameObject(); @@ -271,15 +285,13 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { GameObject gameObject = event.getGameObject(); ladders.remove(gameObject); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -303,8 +315,7 @@ public class BarrowsPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.BARROWS_REWARD_GROUP_ID && this.showChestValue) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java index f31100e59e..315ac06eec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -68,6 +68,8 @@ public class BlackjackPlugin extends Plugin private Client client; @Inject private BlackjackConfig config; + @Inject + private EventBus eventBus; private boolean pickpocketOnAggro; @@ -80,11 +82,25 @@ public class BlackjackPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.pickpocketOnAggro = config.pickpocketOnAggro(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("blackjack")) { @@ -92,8 +108,7 @@ public class BlackjackPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (client.getGameState() != GameState.LOGGED_IN || client.getVar(Varbits.QUEST_THE_FEUD) < 13 || @@ -114,8 +129,7 @@ public class BlackjackPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() == ChatMessageType.SPAM && event.getMessage().equals(SUCCESS_BLACKJACK) ^ (event.getMessage().equals(FAILED_BLACKJACK) && this.pickpocketOnAggro)) { 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 c1afdb3bee..8978a013c9 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 @@ -46,7 +46,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -97,6 +97,9 @@ public class BlastFurnacePlugin extends Plugin @Inject private BlastFurnaceConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showConveyorBelt; @Getter(AccessLevel.PACKAGE) @@ -106,6 +109,7 @@ public class BlastFurnacePlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(cofferOverlay); @@ -115,6 +119,8 @@ public class BlastFurnacePlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + infoBoxManager.removeIf(ForemanTimer.class::isInstance); overlayManager.remove(overlay); overlayManager.remove(cofferOverlay); @@ -124,14 +130,22 @@ public class BlastFurnacePlugin extends Plugin foremanTimer = null; } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + @Provides BlastFurnaceConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(BlastFurnaceConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("blastfurnace")) { @@ -139,8 +153,7 @@ public class BlastFurnacePlugin extends Plugin } } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { GameObject gameObject = event.getGameObject(); @@ -156,8 +169,7 @@ public class BlastFurnacePlugin extends Plugin } } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { GameObject gameObject = event.getGameObject(); @@ -173,8 +185,7 @@ public class BlastFurnacePlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -183,8 +194,7 @@ public class BlastFurnacePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { Widget npcDialog = client.getWidget(WidgetInfo.DIALOG_NPC_TEXT); if (npcDialog == null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMinePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMinePlugin.java index 88d98cebbf..c4ec42e2dc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMinePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMinePlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -73,6 +73,9 @@ public class BlastMinePlugin extends Plugin @Inject private BlastMinePluginConfig config; + @Inject + private EventBus eventBus; + @Provides BlastMinePluginConfig getConfig(ConfigManager configManager) { @@ -96,6 +99,7 @@ public class BlastMinePlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(blastMineRockOverlay); overlayManager.add(blastMineOreCountOverlay); @@ -104,6 +108,8 @@ public class BlastMinePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(blastMineRockOverlay); overlayManager.remove(blastMineOreCountOverlay); final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE); @@ -114,8 +120,14 @@ public class BlastMinePlugin extends Plugin } } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void addSubscriptions() + { + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameObjectSpawned(GameObjectSpawned event) { final GameObject gameObject = event.getGameObject(); BlastMineRockType blastMineRockType = BlastMineRockType.getRockType(gameObject.getId()); @@ -133,8 +145,7 @@ public class BlastMinePlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -142,8 +153,7 @@ public class BlastMinePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (rocks.isEmpty()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java index 4140df8426..04f6c5d71c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.SkillIconManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -98,6 +98,8 @@ public class BoostsPlugin extends Plugin private SkillIconManager skillIconManager; @Inject private CombatIconsOverlay combatIconsOverlay; + @Inject + private EventBus eventBus; private boolean isChangedDown = false; private boolean isChangedUp = false; @@ -133,6 +135,7 @@ public class BoostsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(boostsOverlay); overlayManager.add(combatIconsOverlay); @@ -156,6 +159,7 @@ public class BoostsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(boostsOverlay); overlayManager.remove(combatIconsOverlay); infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator); @@ -166,8 +170,15 @@ public class BoostsPlugin extends Plugin isChangedDown = false; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(BoostedLevelChanged.class, this, this::onBoostedLevelChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -179,8 +190,7 @@ public class BoostsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("boosts")) { @@ -201,8 +211,7 @@ public class BoostsPlugin extends Plugin } } - @Subscribe - public void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged) + private void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged) { Skill skill = boostedLevelChanged.getSkill(); @@ -251,8 +260,7 @@ public class BoostsPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { lastTickMillis = System.currentTimeMillis(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimer/BossTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimer/BossTimersPlugin.java index d5faf547dc..1fd643cb84 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimer/BossTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimer/BossTimersPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.NPC; import net.runelite.api.events.NpcDespawned; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -51,14 +51,23 @@ public class BossTimersPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + } + @Override protected void shutDown() throws Exception { + eventBus.unregister(this); infoBoxManager.removeIf(t -> t instanceof RespawnTimer); } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { NPC npc = npcDespawned.getNpc(); 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 44a1a3aee1..1a017ba004 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 @@ -159,7 +159,7 @@ public class CannonPlugin extends Plugin @Override protected void shutDown() throws Exception { - super.shutDown(); + eventbus.unregister(this); cannonSpotOverlay.setHidden(true); overlayManager.remove(cannonOverlay); 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 47f1adbec4..8b9f979f1c 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 @@ -37,7 +37,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -59,21 +59,34 @@ public class CerberusPlugin extends Plugin @Inject private CerberusOverlay overlay; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { overlayManager.add(overlay); + addSubscriptions(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); ghosts.clear(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged event) { GameState gameState = event.getGameState(); if (gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING || gameState == GameState.CONNECTION_LOST) @@ -82,21 +95,18 @@ public class CerberusPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(final NpcSpawned event) + private void onNpcSpawned(final NpcSpawned event) { final NPC npc = event.getNpc(); CerberusGhost.fromNPC(npc).ifPresent(ghost -> ghosts.add(npc)); } - @Subscribe - public void onNpcDespawned(final NpcDespawned event) + private void onNpcDespawned(final NpcDespawned event) { ghosts.remove(event.getNpc()); } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (ghosts.isEmpty()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java index 3f51018632..2f274c5c6f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java @@ -33,7 +33,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetSizeMode; import net.runelite.api.widgets.WidgetType; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -47,8 +47,22 @@ public class ChatboxPerformancePlugin extends Plugin @Inject private Client client; - @Subscribe - public void onWidgetPositioned(WidgetPositioned event) + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(WidgetPositioned.class, this, this::onWidgetPositioned); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void onWidgetPositioned(WidgetPositioned event) { if (!areWidgetsFixed()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 951547e777..841cea3fd1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -56,7 +56,7 @@ import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.ChatInput; import net.runelite.client.game.ItemManager; import net.runelite.client.input.KeyManager; @@ -140,9 +140,14 @@ public class ChatCommandsPlugin extends Plugin @Inject private ChatKeyboardListener chatKeyboardListener; + @Inject + private EventBus eventBus; + @Override public void startUp() { + addSubscriptions(); + keyManager.registerKeyListener(chatKeyboardListener); chatCommandManager.registerCommandAsync(TOTAL_LEVEL_COMMAND_STRING, this::playerSkillLookup); @@ -160,6 +165,8 @@ public class ChatCommandsPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + lastBossKill = null; keyManager.unregisterKeyListener(chatKeyboardListener); @@ -176,6 +183,14 @@ public class ChatCommandsPlugin extends Plugin chatCommandManager.unregisterCommand(DUEL_ARENA_COMMAND); } + private void addSubscriptions() + { + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + @Provides ChatCommandsConfig provideConfig(ConfigManager configManager) { @@ -208,8 +223,7 @@ public class ChatCommandsPlugin extends Plugin return personalBest == null ? 0 : personalBest; } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (chatMessage.getType() != ChatMessageType.TRADE && chatMessage.getType() != ChatMessageType.GAMEMESSAGE @@ -324,8 +338,7 @@ public class ChatCommandsPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!logKills) { @@ -361,8 +374,7 @@ public class ChatCommandsPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded widget) + private void onWidgetLoaded(WidgetLoaded widget) { // don't load kc if in an instance, if the player is in another players poh // and reading their boss log @@ -374,8 +386,7 @@ public class ChatCommandsPlugin extends Plugin logKills = true; } - @Subscribe - public void onVarbitChanged(VarbitChanged varbitChanged) + private void onVarbitChanged(VarbitChanged varbitChanged) { hiscoreEndpoint = getLocalHiscoreEndpointType(); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java index 8a24ade869..86c504c164 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.OverheadTextChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.Text; @@ -75,6 +75,9 @@ public class ChatFilterPlugin extends Plugin @Inject private ChatFilterConfig config; + @Inject + private EventBus eventBus; + @Setter(AccessLevel.PACKAGE) private ChatFilterType filterType; @Setter(AccessLevel.PACKAGE) @@ -96,6 +99,8 @@ public class ChatFilterPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + updateFilteredPatterns(); client.refreshChat(); } @@ -103,12 +108,20 @@ public class ChatFilterPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + filteredPatterns.clear(); client.refreshChat(); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(OverheadTextChanged.class, this, this::onOverheadTextChanged); + } + + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!"chatFilterCheck".equals(event.getEventName())) { @@ -171,8 +184,7 @@ public class ChatFilterPlugin extends Plugin } } - @Subscribe - public void onOverheadTextChanged(OverheadTextChanged event) + private void onOverheadTextChanged(OverheadTextChanged event) { if (!(event.getActor() instanceof Player) || !shouldFilterPlayerMessage(event.getActor().getName())) { @@ -254,8 +266,7 @@ public class ChatFilterPlugin extends Plugin .forEach(filteredPatterns::add); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"chatfilter".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java index 186bbd4f6a..01f0ea8e1f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java @@ -46,7 +46,7 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; @@ -85,6 +85,9 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + private boolean retainChatHistory; private boolean pmTargetCycling; @@ -98,6 +101,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener protected void startUp() { updateConfig(); + addSubscriptions(); messageQueue = EvictingQueue.create(100); friends = new ArrayDeque<>(FRIENDS_MAX_SIZE + 1); @@ -107,6 +111,8 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener @Override protected void shutDown() { + eventBus.unregister(this); + messageQueue.clear(); messageQueue = null; friends.clear(); @@ -114,8 +120,14 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener keyManager.unregisterKeyListener(this); } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + } + + private void onChatMessage(ChatMessage chatMessage) { // Start sending old messages right after the welcome message, as that is most reliable source // of information that chat history was reset @@ -171,8 +183,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { String menuOption = event.getOption(); @@ -269,8 +280,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener return friends.getLast(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"chathistory".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java index 00b7cc80d4..0ae10ecabd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java @@ -47,7 +47,7 @@ import net.runelite.client.RuneLiteProperties; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.Text; @@ -76,6 +76,9 @@ public class ChatNotificationsPlugin extends Plugin @Inject private RuneLiteProperties runeLiteProperties; + @Inject + private EventBus eventBus; + //Custom Highlights private Pattern usernameMatcher = null; private String usernameReplacer = ""; @@ -102,17 +105,27 @@ public class ChatNotificationsPlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); + updateHighlights(); } @Override public void shutDown() { + eventBus.unregister(this); + this.privateMessageHashes.clear(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -123,8 +136,7 @@ public class ChatNotificationsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("chatnotification")) { @@ -150,8 +162,7 @@ public class ChatNotificationsPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { MessageNode messageNode = chatMessage.getMessageNode(); boolean update = false; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java index 7cc488dbd7..8159aae561 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java @@ -26,7 +26,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.menus.MenuManager; @@ -74,6 +74,9 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener @Inject private ChatTranslationConfig config; + @Inject + private EventBus eventBus; + private boolean translateOptionVisable; private boolean publicChat; private String getPlayerNames; @@ -91,6 +94,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); if (client != null && this.translateOptionVisable) { @@ -104,6 +108,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener @Override protected void shutDown() throws Exception { + eventBus.unregister(this); if (client != null && this.translateOptionVisable) { menuManager.get().removePlayerMenuItem(TRANSLATE); @@ -113,8 +118,15 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener playerNames.clear(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(PlayerMenuOptionClicked.class, this, this::onPlayerMenuOptionClicked); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("chattranslation")) { @@ -132,8 +144,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!this.translateOptionVisable) { @@ -165,8 +176,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) + private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) { if (event.getMenuOption().equals(TRANSLATE)) { @@ -181,8 +191,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index ecbb2e1d63..c1da955f6a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -70,7 +70,7 @@ import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ClanManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; @@ -114,6 +114,9 @@ public class ClanChatPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + private List chats = new ArrayList<>(); public static CopyOnWriteArrayList getClanMembers() @@ -151,19 +154,37 @@ public class ClanChatPlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); + chats = new ArrayList<>(Text.fromCSV(this.chatsData)); } @Override public void shutDown() { + eventBus.unregister(this); + clanMembers.clear(); removeClanCounter(); resetClanChats(); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ClanMemberJoined.class, this, this::onClanMemberJoined); + eventBus.subscribe(ClanMemberLeft.class, this, this::onClanMemberLeft); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarClientStrChanged.class, this, this::onVarClientStrChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + eventBus.subscribe(ClanChanged.class, this, this::onClanChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("clanchat")) { @@ -185,8 +206,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onClanMemberJoined(ClanMemberJoined event) + private void onClanMemberJoined(ClanMemberJoined event) { final ClanMember member = event.getMember(); @@ -231,8 +251,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onClanMemberLeft(ClanMemberLeft event) + private void onClanMemberLeft(ClanMemberLeft event) { final ClanMember member = event.getMember(); @@ -275,8 +294,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -414,8 +432,7 @@ public class ClanChatPlugin extends Plugin clanJoinMessages.addLast(clanJoinMessage); } - @Subscribe - public void onVarClientStrChanged(VarClientStrChanged strChanged) + private void onVarClientStrChanged(VarClientStrChanged strChanged) { if (strChanged.getIndex() == VarClientStr.RECENT_CLAN_CHAT.getIndex() && this.recentChats) { @@ -423,8 +440,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN) { @@ -465,8 +481,7 @@ public class ClanChatPlugin extends Plugin insertClanRankIcon(chatMessage); } - @Subscribe - public void onGameStateChanged(GameStateChanged state) + private void onGameStateChanged(GameStateChanged state) { GameState gameState = state.getGameState(); @@ -479,8 +494,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onPlayerSpawned(PlayerSpawned event) + private void onPlayerSpawned(PlayerSpawned event) { final Player local = client.getLocalPlayer(); final Player player = event.getPlayer(); @@ -492,8 +506,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onPlayerDespawned(PlayerDespawned event) + private void onPlayerDespawned(PlayerDespawned event) { if (clanMembers.remove(event.getPlayer()) && clanMembers.isEmpty()) { @@ -501,8 +514,7 @@ public class ClanChatPlugin extends Plugin } } - @Subscribe - public void onClanChanged(ClanChanged event) + private void onClanChanged(ClanChanged event) { if (event.isJoined()) { @@ -517,8 +529,7 @@ public class ClanChatPlugin extends Plugin activityBuffer.clear(); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) + private void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) { if (!scriptCallbackEvent.getEventName().equalsIgnoreCase("clanchatInput")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java index 5313fec5f8..3b26cf862a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java @@ -18,7 +18,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -52,6 +52,9 @@ public class ClanManModePlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean highlightAttackable; @Getter(AccessLevel.PACKAGE) @@ -100,6 +103,7 @@ public class ClanManModePlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(ClanManModeOverlay); overlayManager.add(ClanManModeTileOverlay); @@ -109,6 +113,8 @@ public class ClanManModePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(ClanManModeOverlay); overlayManager.remove(ClanManModeTileOverlay); overlayManager.remove(ClanManModeMinimapOverlay); @@ -120,7 +126,13 @@ public class ClanManModePlugin extends Plugin inwildy = 0; } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + private void onConfigChanged(ConfigChanged event) { if (!"clanmanmode".equals(event.getGroup())) @@ -131,8 +143,7 @@ public class ClanManModePlugin extends Plugin updateConfig(); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.HOPPING) { @@ -140,8 +151,7 @@ public class ClanManModePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { ticks++; final Player localPlayer = client.getLocalPlayer(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index bc0c3d6526..fb28516576 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -72,7 +72,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -158,6 +158,9 @@ public class ClueScrollPlugin extends Plugin @Inject private WorldMapPointManager worldMapPointManager; + @Inject + private EventBus eventBus; + private BufferedImage emoteImage; private BufferedImage mapArrow; private Integer clueItemId; @@ -182,6 +185,8 @@ public class ClueScrollPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.displayHintArrows = config.displayHintArrows(); overlayManager.add(clueScrollOverlay); overlayManager.add(clueScrollEmoteOverlay); @@ -192,6 +197,8 @@ public class ClueScrollPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(clueScrollOverlay); overlayManager.remove(clueScrollEmoteOverlay); overlayManager.remove(clueScrollWorldOverlay); @@ -202,8 +209,20 @@ public class ClueScrollPlugin extends Plugin resetClue(true); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM) { @@ -224,8 +243,7 @@ public class ClueScrollPlugin extends Plugin resetClue(true); } - @Subscribe - public void onMenuOptionClicked(final MenuOptionClicked event) + private void onMenuOptionClicked(final MenuOptionClicked event) { if ("read".equalsIgnoreCase(event.getOption())) { @@ -239,8 +257,7 @@ public class ClueScrollPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(final ItemContainerChanged event) + private void onItemContainerChanged(final ItemContainerChanged event) { if (event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT)) { @@ -280,15 +297,13 @@ public class ClueScrollPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(final NpcSpawned event) + private void onNpcSpawned(final NpcSpawned event) { final NPC npc = event.getNpc(); checkClueNPCs(clue, npc); } - @Subscribe - public void onNpcDespawned(final NpcDespawned event) + private void onNpcDespawned(final NpcDespawned event) { final boolean removed = npcsToMark.remove(event.getNpc()); @@ -306,8 +321,7 @@ public class ClueScrollPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("cluescroll")) { @@ -319,8 +333,7 @@ public class ClueScrollPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(final GameStateChanged event) + private void onGameStateChanged(final GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN) { @@ -328,8 +341,7 @@ public class ClueScrollPlugin extends Plugin } } - @Subscribe - public void onGameTick(final GameTick event) + private void onGameTick(final GameTick event) { objectsToMark.clear(); @@ -392,8 +404,7 @@ public class ClueScrollPlugin extends Plugin updateClue(findClueScroll()); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() < WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD || event.getGroupId() > WidgetID.BEGINNER_CLUE_MAP_WIZARDS_TOWER) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java index 1e0079ebd6..b5134f4b9b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java @@ -56,7 +56,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -89,6 +89,9 @@ public class CombatCounter extends Plugin @Inject private CombatCounterConfig config; + @Inject + private EventBus eventBus; + private boolean instanced = false; @Setter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE) @@ -236,6 +239,7 @@ public class CombatCounter extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(tickOverlay); overlayManager.add(damageOverlay); @@ -249,6 +253,8 @@ public class CombatCounter extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(tickOverlay); overlayManager.remove(damageOverlay); @@ -258,8 +264,15 @@ public class CombatCounter extends Plugin this.playerDamage.clear(); } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + } + + private void onAnimationChanged(AnimationChanged event) { Actor actor = event.getActor(); @@ -403,8 +416,7 @@ public class CombatCounter extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (this.resetOnNewInstance) { @@ -554,9 +566,7 @@ public class CombatCounter extends Plugin } } - - @Subscribe - public void onHitsplatApplied(HitsplatApplied event) + private void onHitsplatApplied(HitsplatApplied event) { Actor actor = event.getActor(); @@ -644,8 +654,7 @@ public class CombatCounter extends Plugin return 2 + (int) Math.floor((3d + distance) / 6d); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("combatcounter")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java index 575f59af6f..ae703b6066 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -84,6 +84,9 @@ public class CombatLevelPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showLevelsUntil; private boolean wildernessAttackLevelRange; @@ -98,6 +101,7 @@ public class CombatLevelPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); @@ -110,6 +114,8 @@ public class CombatLevelPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); Widget combatLevelWidget = client.getWidget(WidgetInfo.COMBAT_LEVEL); @@ -126,8 +132,14 @@ public class CombatLevelPlugin extends Plugin shutDownAttackLevelRange(); } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onGameTick(GameTick event) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -153,8 +165,7 @@ public class CombatLevelPlugin extends Plugin combatLevelWidget.setText("Combat Lvl: " + DECIMAL_FORMAT.format(combatLevelPrecise)); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!CONFIG_GROUP.equals(event.getGroup()) || !ATTACK_RANGE_CONFIG_KEY.equals(event.getKey())) { @@ -173,8 +184,7 @@ public class CombatLevelPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (this.wildernessAttackLevelRange && "wildernessWidgetTextSet".equals(event.getEventName())) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java index 7df1fbd6cb..d649f3832e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPlugin.java @@ -37,7 +37,7 @@ import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.config.RuneLitePlusConfig; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.events.PluginChanged; import net.runelite.client.plugins.Plugin; @@ -80,12 +80,17 @@ public class ConfigPlugin extends Plugin @Inject private ChatColorConfig chatColorConfig; + @Inject + private EventBus eventBus; + private ConfigPanel configPanel; private NavigationButton navButton; @Override protected void startUp() throws Exception { + addSubscriptions(); + configPanel = new ConfigPanel(pluginManager, configManager, executorService, runeLiteConfig, runeLitePlusConfig, chatColorConfig); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "config_icon.png"); @@ -103,6 +108,8 @@ public class ConfigPlugin extends Plugin @Override public void shutDown() throws Exception { + eventBus.unregister(this); + clientToolbar.removeNavigation(navButton); RuneLite.getInjector().getInstance(ClientThread.class).invokeLater(() -> { @@ -122,14 +129,18 @@ public class ConfigPlugin extends Plugin }); } - @Subscribe - public void onPluginChanged(PluginChanged event) + private void addSubscriptions() + { + eventBus.subscribe(PluginChanged.class, this, this::onPluginChanged); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onPluginChanged(PluginChanged event) { SwingUtilities.invokeLater(configPanel::refreshPluginList); } - @Subscribe - public void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) { OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); if (overlayMenuEntry.getMenuAction() == MenuAction.RUNELITE_OVERLAY_CONFIG) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java index 96be647e3f..b6a236888f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java @@ -44,7 +44,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; @@ -80,6 +80,9 @@ public class CookingPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private CookingSession session; @@ -97,6 +100,8 @@ public class CookingPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + session = null; overlayManager.add(overlay); } @@ -104,13 +109,22 @@ public class CookingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + infoBoxManager.removeIf(FermentTimer.class::isInstance); overlayManager.remove(overlay); session = null; } - @Subscribe - public void onGameTick(GameTick gameTick) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onGameTick(GameTick gameTick) { if (session == null || this.statTimeout == 0) { @@ -126,8 +140,7 @@ public class CookingPlugin extends Plugin } } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) + private void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) { Player player = client.getLocalPlayer(); @@ -156,8 +169,7 @@ public class CookingPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.SPAM) { @@ -194,8 +206,7 @@ public class CookingPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("cooking")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java index 06bbe2701c..526105012a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java @@ -53,7 +53,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -102,6 +102,9 @@ public class CorpPlugin extends Plugin @Inject private CorpConfig config; + @Inject + private EventBus eventBus; + private boolean leftClickCore; @Getter(AccessLevel.PACKAGE) private boolean showDamage; @@ -116,6 +119,7 @@ public class CorpPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(corpOverlay); overlayManager.add(coreOverlay); @@ -124,6 +128,8 @@ public class CorpPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(corpOverlay); overlayManager.remove(coreOverlay); @@ -133,8 +139,18 @@ public class CorpPlugin extends Plugin players.clear(); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOADING) { @@ -142,8 +158,7 @@ public class CorpPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned npcSpawned) + private void onNpcSpawned(NpcSpawned npcSpawned) { NPC npc = npcSpawned.getNpc(); @@ -162,8 +177,7 @@ public class CorpPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { NPC npc = npcDespawned.getNpc(); @@ -199,8 +213,7 @@ public class CorpPlugin extends Plugin } } - @Subscribe - public void onHitsplatApplied(HitsplatApplied hitsplatApplied) + private void onHitsplatApplied(HitsplatApplied hitsplatApplied) { Actor actor = hitsplatApplied.getActor(); @@ -218,8 +231,7 @@ public class CorpPlugin extends Plugin totalDamage += hitsplatApplied.getHitsplat().getAmount(); } - @Subscribe - public void onInteractingChanged(InteractingChanged interactingChanged) + private void onInteractingChanged(InteractingChanged interactingChanged) { Actor source = interactingChanged.getSource(); Actor target = interactingChanged.getTarget(); @@ -232,8 +244,7 @@ public class CorpPlugin extends Plugin players.add(source); } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded menuEntryAdded) + private void onMenuEntryAdded(MenuEntryAdded menuEntryAdded) { if (menuEntryAdded.getType() != NPC_SECTION_ACTION || !this.leftClickCore || !menuEntryAdded.getOption().equals(ATTACK)) @@ -256,8 +267,7 @@ public class CorpPlugin extends Plugin client.setMenuEntries(menuEntries); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("corp")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java index 9dc12d080f..bde7448e3a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java @@ -63,7 +63,7 @@ import net.runelite.api.events.ProjectileMoved; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -105,6 +105,8 @@ public class CoxPlugin extends Plugin private CoxConfig config; @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private boolean HandCripple; @Getter(AccessLevel.PACKAGE) @@ -207,6 +209,7 @@ public class CoxPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(coxOverlay); overlayManager.add(coxInfoBox); @@ -227,12 +230,24 @@ public class CoxPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(coxOverlay); overlayManager.remove(coxInfoBox); } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onChatMessage(ChatMessage chatMessage) { if (inRaid()) { @@ -305,8 +320,7 @@ public class CoxPlugin extends Plugin } } - @Subscribe - public void onProjectileMoved(ProjectileMoved event) + private void onProjectileMoved(ProjectileMoved event) { if (inRaid()) { @@ -328,8 +342,7 @@ public class CoxPlugin extends Plugin } } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) + private void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) { if (inRaid()) { @@ -344,8 +357,7 @@ public class CoxPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned npcSpawned) + private void onNpcSpawned(NpcSpawned npcSpawned) { if (inRaid()) { @@ -384,8 +396,7 @@ public class CoxPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (inRaid()) { @@ -429,8 +440,7 @@ public class CoxPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!inRaid()) { @@ -696,8 +706,7 @@ public class CoxPlugin extends Plugin return client.getVar(Varbits.IN_RAID) == 1; } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("Cox")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/crystalmathlabs/CrystalMathLabs.java b/runelite-client/src/main/java/net/runelite/client/plugins/crystalmathlabs/CrystalMathLabs.java index 77a9ec68b2..8831a7df84 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/crystalmathlabs/CrystalMathLabs.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/crystalmathlabs/CrystalMathLabs.java @@ -35,7 +35,7 @@ import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.http.api.RuneLiteAPI; @@ -64,12 +64,27 @@ public class CrystalMathLabs extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + private String lastUsername; private boolean fetchXp; private long lastXp; - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { GameState state = gameStateChanged.getGameState(); if (state == GameState.LOGGED_IN) @@ -98,8 +113,7 @@ public class CrystalMathLabs extends Plugin } } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (fetchXp) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java index feb8729740..aff60c0daf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java @@ -29,7 +29,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.ClientUI; @@ -48,6 +48,9 @@ public class CustomCursorPlugin extends Plugin @Inject private CustomCursorConfig config; + @Inject + private EventBus eventBus; + @Provides CustomCursorConfig provideConfig(ConfigManager configManager) { @@ -57,17 +60,19 @@ public class CustomCursorPlugin extends Plugin @Override protected void startUp() { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); updateCursor(); } @Override protected void shutDown() { + eventBus.unregister(this); + clientUI.resetCursor(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("customcursor") && event.getKey().equals("cursorStyle")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java index ed81cc7177..8bd6c9f770 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java @@ -44,7 +44,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -80,6 +80,9 @@ public class DailyTasksPlugin extends Plugin @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + private long lastReset; private boolean loggingIn; @@ -103,6 +106,9 @@ public class DailyTasksPlugin extends Plugin public void startUp() { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + + addSubscriptions(); loggingIn = true; } @@ -110,11 +116,19 @@ public class DailyTasksPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + + eventBus.unregister(this); lastReset = 0L; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGING_IN) { @@ -122,8 +136,7 @@ public class DailyTasksPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { long currentTime = System.currentTimeMillis(); boolean dailyReset = !loggingIn && currentTime - lastReset > ONE_DAY; @@ -298,8 +311,7 @@ public class DailyTasksPlugin extends Plugin .build()); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getGroup().equals("dailytaskindicators")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java index 16d755049b..5a56dad3b2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.LocalPlayerDeath; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -83,6 +83,9 @@ public class DeathIndicatorPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + private BufferedImage mapArrow; private Timer deathTimer; @@ -100,6 +103,8 @@ public class DeathIndicatorPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + if (!hasDied()) { return; @@ -127,6 +132,8 @@ public class DeathIndicatorPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + if (client.hasHintArrow()) { client.clearHintArrow(); @@ -141,8 +148,15 @@ public class DeathIndicatorPlugin extends Plugin worldMapPointManager.removeIf(DeathWorldMapPoint.class::isInstance); } - @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath death) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(LocalPlayerDeath.class, this, this::onLocalPlayerDeath); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onLocalPlayerDeath(LocalPlayerDeath death) { if (client.isInInstancedRegion()) { @@ -154,8 +168,7 @@ public class DeathIndicatorPlugin extends Plugin lastDeathTime = Instant.now(); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { // Check if player respawned in a death respawn location if (lastDeath != null && !client.getLocalPlayer().getWorldLocation().equals(lastDeath)) @@ -219,8 +232,7 @@ public class DeathIndicatorPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("deathIndicator")) { @@ -251,8 +263,7 @@ public class DeathIndicatorPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (!hasDied()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java index f8a56ffbc6..0999eda3c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java @@ -33,7 +33,7 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.SessionOpen; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -57,6 +57,9 @@ public class DefaultWorldPlugin extends Plugin @Inject private DefaultWorldConfig config; + @Inject + private EventBus eventBus; + private final WorldClient worldClient = new WorldClient(); private int worldCache; private boolean worldChangeRequired; @@ -64,6 +67,8 @@ public class DefaultWorldPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + worldChangeRequired = true; applyWorld(); } @@ -71,25 +76,31 @@ public class DefaultWorldPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + worldChangeRequired = true; changeWorld(worldCache); } + private void addSubscriptions() + { + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + @Provides DefaultWorldConfig getConfig(ConfigManager configManager) { return configManager.getConfig(DefaultWorldConfig.class); } - @Subscribe - public void onSessionOpen(SessionOpen event) + private void onSessionOpen(SessionOpen event) { worldChangeRequired = true; applyWorld(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { applyWorld(); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/demonicgorilla/DemonicGorillaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/demonicgorilla/DemonicGorillaPlugin.java index 9b4d7f8a21..aa7262b424 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/demonicgorilla/DemonicGorillaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/demonicgorilla/DemonicGorillaPlugin.java @@ -56,7 +56,7 @@ import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerSpawned; import net.runelite.api.events.ProjectileMoved; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -81,6 +81,9 @@ public class DemonicGorillaPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Map gorillas; @@ -93,6 +96,7 @@ public class DemonicGorillaPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); overlayManager.add(overlay); gorillas = new HashMap<>(); recentBoulders = new ArrayList<>(); @@ -104,6 +108,7 @@ public class DemonicGorillaPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(overlay); gorillas = null; recentBoulders = null; @@ -111,6 +116,18 @@ public class DemonicGorillaPlugin extends Plugin memorizedPlayers = null; } + private void addSubscriptions() + { + eventBus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + private void clear() { recentBoulders.clear(); @@ -528,8 +545,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onProjectileMoved(ProjectileMoved event) + private void onProjectileMoved(ProjectileMoved event) { Projectile projectile = event.getProjectile(); int projectileId = projectile.getId(); @@ -616,8 +632,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onHitsplatApplied(HitsplatApplied event) + private void onHitsplatApplied(HitsplatApplied event) { if (gorillas.isEmpty()) { @@ -645,8 +660,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { GameState gs = event.getGameState(); if (gs == GameState.LOGGING_IN || @@ -657,8 +671,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onPlayerSpawned(PlayerSpawned event) + private void onPlayerSpawned(PlayerSpawned event) { if (gorillas.isEmpty()) { @@ -669,8 +682,7 @@ public class DemonicGorillaPlugin extends Plugin memorizedPlayers.put(player, new MemorizedPlayer(player)); } - @Subscribe - public void onPlayerDespawned(PlayerDespawned event) + private void onPlayerDespawned(PlayerDespawned event) { if (gorillas.isEmpty()) { @@ -680,8 +692,7 @@ public class DemonicGorillaPlugin extends Plugin memorizedPlayers.remove(event.getPlayer()); } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { NPC npc = event.getNpc(); if (isNpcGorilla(npc.getId())) @@ -697,8 +708,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (gorillas.remove(event.getNpc()) != null && gorillas.isEmpty()) { @@ -706,8 +716,7 @@ public class DemonicGorillaPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { checkGorillaAttacks(); checkPendingAttacks(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index cc64835acb..1bef2b684f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -42,15 +42,16 @@ import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.AreaSoundEffectPlayed; import net.runelite.api.events.BoostedLevelChanged; import net.runelite.api.events.CommandExecuted; import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.MenuEntryAdded; +import net.runelite.api.events.SoundEffectPlayed; import net.runelite.api.events.VarbitChanged; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.ClientToolbar; @@ -143,6 +144,8 @@ public class DevToolsPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + players = new DevToolsButton("Players"); npcs = new DevToolsButton("NPCs"); @@ -200,14 +203,13 @@ public class DevToolsPlugin extends Plugin .build(); clientToolbar.addNavigation(navButton); - - eventBus.register(soundEffectOverlay); } @Override protected void shutDown() throws Exception { - eventBus.unregister(soundEffectOverlay); + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(locationOverlay); overlayManager.remove(sceneOverlay); @@ -218,8 +220,15 @@ public class DevToolsPlugin extends Plugin clientToolbar.removeNavigation(navButton); } - @Subscribe - public void onCommandExecuted(CommandExecuted commandExecuted) + private void addSubscriptions() + { + eventBus.subscribe(CommandExecuted.class, this, this::onCommandExecuted); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(AreaSoundEffectPlayed.class, this, this::onAreaSoundEffectPlayed); + eventBus.subscribe(SoundEffectPlayed.class, this, this::onSoundEffectPlayed); + } + + private void onCommandExecuted(CommandExecuted commandExecuted) { String[] args = commandExecuted.getArguments(); @@ -260,7 +269,7 @@ public class DevToolsPlugin extends Plugin client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set VarPlayer " + varp + " to " + value, null); VarbitChanged varbitChanged = new VarbitChanged(); varbitChanged.setIndex(varp); - eventBus.post(varbitChanged); // fake event + eventBus.post(VarbitChanged.class, varbitChanged); // fake event break; } case "getvarb": @@ -276,7 +285,7 @@ public class DevToolsPlugin extends Plugin int value = Integer.parseInt(args[1]); client.setVarbitValue(client.getVarps(), varbit, value); client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set varbit " + varbit + " to " + value, null); - eventBus.post(new VarbitChanged()); // fake event + eventBus.post(VarbitChanged.class, new VarbitChanged()); // fake event break; } case "addxp": @@ -295,7 +304,7 @@ public class DevToolsPlugin extends Plugin ExperienceChanged experienceChanged = new ExperienceChanged(); experienceChanged.setSkill(skill); - eventBus.post(experienceChanged); + eventBus.post(ExperienceChanged.class, experienceChanged); break; } case "setstat": @@ -314,11 +323,11 @@ public class DevToolsPlugin extends Plugin ExperienceChanged experienceChanged = new ExperienceChanged(); experienceChanged.setSkill(skill); - eventBus.post(experienceChanged); + eventBus.post(ExperienceChanged.class, experienceChanged); BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged(); boostedLevelChanged.setSkill(skill); - eventBus.post(boostedLevelChanged); + eventBus.post(BoostedLevelChanged.class, boostedLevelChanged); break; } case "anim": @@ -363,8 +372,7 @@ public class DevToolsPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!examine.isActive()) { @@ -401,4 +409,24 @@ public class DevToolsPlugin extends Plugin client.setMenuEntries(entries); } } + + private void onSoundEffectPlayed(SoundEffectPlayed event) + { + if (!getSoundEffects().isActive() || soundEffectOverlay == null) + { + return; + } + + soundEffectOverlay.onSoundEffectPlayed(event); + } + + private void onAreaSoundEffectPlayed(AreaSoundEffectPlayed event) + { + if (!getSoundEffects().isActive() || soundEffectOverlay == null) + { + return; + } + + soundEffectOverlay.onAreaSoundEffectPlayed(event); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SoundEffectOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SoundEffectOverlay.java index fbe2254066..e98e0ef01e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SoundEffectOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SoundEffectOverlay.java @@ -33,7 +33,6 @@ import net.runelite.api.Player; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.AreaSoundEffectPlayed; import net.runelite.api.events.SoundEffectPlayed; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.LineComponent; @@ -74,14 +73,8 @@ class SoundEffectOverlay extends Overlay return panelComponent.render(graphics); } - @Subscribe - public void onSoundEffectPlayed(SoundEffectPlayed event) + void onSoundEffectPlayed(SoundEffectPlayed event) { - if (!plugin.getSoundEffects().isActive()) - { - return; - } - String text = "Id: " + event.getSoundId() + " - D: " + event.getDelay(); @@ -94,14 +87,8 @@ class SoundEffectOverlay extends Overlay checkMaxLines(); } - @Subscribe - public void onAreaSoundEffectPlayed(AreaSoundEffectPlayed event) + void onAreaSoundEffectPlayed(AreaSoundEffectPlayed event) { - if (!plugin.getSoundEffects().isActive()) - { - return; - } - Color textColor = COLOR_AREA_SOUND_EFFECT; // Check if the player is within range to hear the sound diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java index 4f1f8f6134..ae0dfc856a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java @@ -56,8 +56,6 @@ import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.EventBusImplementation; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.DynamicGridLayout; @@ -87,7 +85,7 @@ class VarInspector extends JFrame private final static int MAX_LOG_ENTRIES = 10_000; private final Client client; - private final EventBusImplementation eventBus; + private final EventBus eventBus; private final JPanel tracker = new JPanel(); @@ -100,7 +98,7 @@ class VarInspector extends JFrame private Map varcs = null; @Inject - VarInspector(Client client, EventBusImplementation eventBus, DevToolsPlugin plugin) + VarInspector(Client client, EventBus eventBus, DevToolsPlugin plugin) { this.eventBus = eventBus; this.client = client; @@ -116,6 +114,7 @@ class VarInspector extends JFrame @Override public void windowClosing(WindowEvent e) { + eventBus.unregister(this); close(); plugin.getVarInspector().setActive(false); } @@ -171,6 +170,15 @@ class VarInspector extends JFrame add(trackerOpts, BorderLayout.SOUTH); pack(); + + addSubscriptions(); + } + + private void addSubscriptions() + { + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(VarClientIntChanged.class, this, this::onVarClientIntChanged); + eventBus.subscribe(VarClientStrChanged.class, this, this::onVarClientStrChanged); } private void addVarLog(VarType type, String name, int old, int neew) @@ -211,8 +219,7 @@ class VarInspector extends JFrame }); } - @Subscribe - public void onVarbitChanged(VarbitChanged ev) + private void onVarbitChanged(VarbitChanged ev) { int[] varps = client.getVarps(); @@ -275,8 +282,7 @@ class VarInspector extends JFrame System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length); } - @Subscribe - public void onVarClientIntChanged(VarClientIntChanged e) + private void onVarClientIntChanged(VarClientIntChanged e) { int idx = e.getIndex(); int neew = (Integer) client.getVarcMap().getOrDefault(idx, 0); @@ -298,8 +304,7 @@ class VarInspector extends JFrame } } - @Subscribe - public void onVarClientStrChanged(VarClientStrChanged e) + private void onVarClientStrChanged(VarClientStrChanged e) { int idx = e.getIndex(); String neew = (String) client.getVarcMap().getOrDefault(idx, ""); @@ -358,7 +363,7 @@ class VarInspector extends JFrame public void close() { tracker.removeAll(); - // eventBus.unregister(this); + eventBus.unregister(this); setVisible(false); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java index f622b59677..e2d10e365d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java @@ -53,7 +53,6 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; import net.runelite.client.callback.ClientThread; import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.ui.ClientUI; @Slf4j @@ -86,8 +85,6 @@ class WidgetInspector extends JFrame this.config = config; this.overlay = overlay; - eventBus.register(this); - setTitle("RuneLite Widget Inspector"); setIconImage(ClientUI.ICON); @@ -97,6 +94,7 @@ class WidgetInspector extends JFrame @Override public void windowClosing(WindowEvent e) { + eventBus.unregister(this); close(); plugin.getWidgetInspector().setActive(false); } @@ -165,9 +163,10 @@ class WidgetInspector extends JFrame add(split, BorderLayout.CENTER); pack(); + + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); } - @Subscribe private void onConfigChanged(ConfigChanged ev) { boolean onTop = config.inspectorAlwaysOnTop(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index cfeff83a8d..087b51d95e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -56,7 +56,7 @@ import net.runelite.client.discord.DiscordService; import net.runelite.client.discord.events.DiscordJoinGame; import net.runelite.client.discord.events.DiscordJoinRequest; import net.runelite.client.discord.events.DiscordReady; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.PartyChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -110,6 +110,9 @@ public class DiscordPlugin extends Plugin @Inject private WSClient wsClient; + @Inject + private EventBus eventBus; + private final Map skillExp = new HashMap<>(); private NavigationButton discordButton; private boolean loginFlag; @@ -137,6 +140,7 @@ public class DiscordPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "discord.png"); @@ -162,14 +166,31 @@ public class DiscordPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + clientToolbar.removeNavigation(discordButton); discordState.reset(); partyService.changeParty(null); wsClient.unregisterMessage(DiscordUserInfo.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(DiscordReady.class, this, this::onDiscordReady); + eventBus.subscribe(DiscordJoinRequest.class, this, this::onDiscordJoinRequest); + eventBus.subscribe(DiscordJoinGame.class, this, this::onDiscordJoinGame); + eventBus.subscribe(DiscordUserInfo.class, this, this::onDiscordUserInfo); + eventBus.subscribe(UserJoin.class, this, this::onUserJoin); + eventBus.subscribe(UserSync.class, this, this::onUserSync); + eventBus.subscribe(UserPart.class, this, this::onUserPart); + eventBus.subscribe(PartyChanged.class, this, this::onPartyChanged); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -192,8 +213,7 @@ public class DiscordPlugin extends Plugin checkForAreaUpdate(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equalsIgnoreCase("discord")) { @@ -205,8 +225,7 @@ public class DiscordPlugin extends Plugin } } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { final int exp = client.getSkillExperience(event.getSkill()); final Integer previous = skillExp.put(event.getSkill(), exp); @@ -224,8 +243,7 @@ public class DiscordPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (!this.showRaidingActivity) { @@ -240,14 +258,12 @@ public class DiscordPlugin extends Plugin } } - @Subscribe - public void onDiscordReady(DiscordReady event) + private void onDiscordReady(DiscordReady event) { partyService.setUsername(event.getUsername() + "#" + event.getDiscriminator()); } - @Subscribe - public void onDiscordJoinRequest(DiscordJoinRequest request) + private void onDiscordJoinRequest(DiscordJoinRequest request) { log.debug("Got discord join request {}", request); if (partyService.isOwner() && partyService.getMembers().isEmpty()) @@ -258,8 +274,7 @@ public class DiscordPlugin extends Plugin } } - @Subscribe - public void onDiscordJoinGame(DiscordJoinGame joinGame) + private void onDiscordJoinGame(DiscordJoinGame joinGame) { log.debug("Got discord join game {}", joinGame); UUID partyId = UUID.fromString(joinGame.getJoinSecret()); @@ -267,8 +282,7 @@ public class DiscordPlugin extends Plugin updatePresence(); } - @Subscribe - public void onDiscordUserInfo(final DiscordUserInfo event) + private void onDiscordUserInfo(final DiscordUserInfo event) { final PartyMember memberById = partyService.getMemberById(event.getMemberId()); @@ -327,14 +341,12 @@ public class DiscordPlugin extends Plugin }); } - @Subscribe - public void onUserJoin(final UserJoin event) + private void onUserJoin(final UserJoin event) { updatePresence(); } - @Subscribe - public void onUserSync(final UserSync event) + private void onUserSync(final UserSync event) { final PartyMember localMember = partyService.getLocalMember(); @@ -349,14 +361,12 @@ public class DiscordPlugin extends Plugin } } - @Subscribe - public void onUserPart(final UserPart event) + private void onUserPart(final UserPart event) { updatePresence(); } - @Subscribe - public void onPartyChanged(final PartyChanged event) + private void onPartyChanged(final PartyChanged event) { updatePresence(); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java index dff53b98c1..6f30275145 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.OverheadTextChanged; import net.runelite.client.chat.ChatMessageManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.ImageUtil; @@ -64,16 +64,32 @@ public class EmojiPlugin extends Plugin @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + private int modIconsStart = -1; @Override protected void startUp() { loadEmojiIcons(); + addSubscriptions(); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(OverheadTextChanged.class, this, this::onOverheadTextChanged); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGGED_IN) { @@ -113,8 +129,7 @@ public class EmojiPlugin extends Plugin client.setModIcons(newModIcons); } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (client.getGameState() != GameState.LOGGED_IN || modIconsStart == -1) { @@ -148,8 +163,7 @@ public class EmojiPlugin extends Plugin client.refreshChat(); } - @Subscribe - public void onOverheadTextChanged(final OverheadTextChanged event) + private void onOverheadTextChanged(final OverheadTextChanged event) { if (!(event.getActor() instanceof Player)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java index 72a13d5fe9..f74ab59008 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -54,6 +54,9 @@ public class EntityHiderPlugin extends Plugin @Inject private EntityHiderConfig config; + @Inject + private EventBus eventBus; + @Provides EntityHiderConfig provideConfig(ConfigManager configManager) { @@ -63,16 +66,20 @@ public class EntityHiderPlugin extends Plugin @Override protected void startUp() { - updateConfig(); + addSubscriptions(); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); } - @Subscribe public void onConfigChanged(ConfigChanged e) { updateConfig(); } - @Subscribe public void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) @@ -106,6 +113,8 @@ public class EntityHiderPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + client.setIsHidingEntities(false); client.setPlayersHidden(false); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java index 84e784ba48..7059642ddf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java @@ -52,7 +52,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; @@ -94,6 +94,10 @@ public class EquipmentInspectorPlugin extends Plugin @Inject private ClientToolbar pluginToolbar; + + @Inject + private EventBus eventBus; + private NavigationButton navButton; private EquipmentInspectorPanel equipmentInspectorPanel; private int TotalPrice = 0; @@ -116,6 +120,7 @@ public class EquipmentInspectorPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); equipmentInspectorPanel = injector.getInstance(EquipmentInspectorPanel.class); if (client != null) @@ -140,12 +145,18 @@ public class EquipmentInspectorPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); menuManager.removePlayerMenuItem(INSPECT_EQUIPMENT); } - @Subscribe - public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(PlayerMenuOptionClicked.class, this, this::onPlayerMenuOptionClicked); + } + + private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) { if (event.getMenuOption().equals(INSPECT_EQUIPMENT)) { @@ -297,8 +308,7 @@ public class EquipmentInspectorPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equalsIgnoreCase("equipmentinspector")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 26e77760a7..c49a51d568 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -50,7 +50,7 @@ import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -96,15 +96,34 @@ public class ExaminePlugin extends Plugin @Inject private ScheduledExecutorService executor; + @Inject + private EventBus eventBus; - @Subscribe - public void onGameStateChanged(GameStateChanged event) + @Override + protected void startUp() throws Exception + { + addSubscriptions(); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onGameStateChanged(GameStateChanged event) { pending.clear(); } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (!event.getOption().equals("Examine")) { @@ -161,8 +180,7 @@ public class ExaminePlugin extends Plugin pending.push(pendingExamine); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { ExamineType type; switch (event.getType()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index ce76c45f00..91e8036c98 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -55,7 +55,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -89,6 +89,9 @@ public class XpDropPlugin extends Plugin @Inject private XpDropOverlay overlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private int damage = 0; @@ -126,6 +129,7 @@ public class XpDropPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); damageMode = config.showdamagedrops(); @@ -138,11 +142,22 @@ public class XpDropPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("xpdrop")) { @@ -171,15 +186,13 @@ public class XpDropPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { damage = 0; tickShow = 0; } - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + private void onWidgetHiddenChanged(WidgetHiddenChanged event) { Widget widget = event.getWidget(); @@ -303,8 +316,7 @@ public class XpDropPlugin extends Plugin return null; } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { lastOpponent = client.getLocalPlayer().getInteracting(); @@ -339,8 +351,7 @@ public class XpDropPlugin extends Plugin client.runScript(XPDROP_DISABLED, lastSkill.ordinal(), previousExpGained); } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { final Skill skill = event.getSkill(); final int xp = client.getSkillExperience(skill); @@ -355,8 +366,7 @@ public class XpDropPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent e) + private void onScriptCallbackEvent(ScriptCallbackEvent e) { if (this.showdamagedrops == XpDropConfig.DamageMode.NONE) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java index ee66d4271f..d7cad2deb9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java @@ -55,7 +55,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.plugins.Plugin; @@ -92,6 +92,9 @@ public class FairyRingPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + private ChatboxTextInput searchInput = null; private Widget searchBtn; private Collection codes = null; @@ -115,10 +118,24 @@ public class FairyRingPlugin extends Plugin protected void startUp() throws Exception { this.autoOpen = config.autoOpen(); + addSubscriptions(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("fairyrings")) { @@ -134,14 +151,12 @@ public class FairyRingPlugin extends Plugin return configManager.getConfig(FairyRingConfig.class); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { setWidgetTextToDestination(); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + private void onWidgetLoaded(WidgetLoaded widgetLoaded) { if (widgetLoaded.getGroupId() == WidgetID.FAIRY_RING_PANEL_GROUP_ID) { @@ -227,8 +242,7 @@ public class FairyRingPlugin extends Plugin .build(); } - @Subscribe - public void onGameTick(GameTick t) + private void onGameTick(GameTick t) { // This has to happen because the only widget that gets hidden is the tli one Widget fairyRingTeleportButton = client.getWidget(WidgetInfo.FAIRY_RING_TELEPORT_BUTTON); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index 59de3a4465..f7a6337aa5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -37,7 +37,7 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -66,6 +66,9 @@ public class FeedPlugin extends Plugin @Inject private ScheduledExecutorService executorService; + @Inject + private EventBus eventBus; + private FeedPanel feedPanel; private NavigationButton navButton; @@ -86,6 +89,8 @@ public class FeedPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + feedPanel = new FeedPanel(config, feedSupplier); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "icon.png"); @@ -104,6 +109,7 @@ public class FeedPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); clientToolbar.removeNavigation(navButton); } @@ -112,8 +118,7 @@ public class FeedPlugin extends Plugin feedPanel.rebuildFeed(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("feed")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java index 2376f09fb6..90b84085e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java @@ -52,7 +52,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -130,6 +130,8 @@ public class FightCavePlugin extends Plugin private FightCaveOverlay fightCaveOverlay; @Inject private FightCaveConfig config; + @Inject + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private Set fightCaveContainer = new HashSet<>(); @Getter(AccessLevel.PACKAGE) @@ -170,6 +172,7 @@ public class FightCavePlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); if (client.getGameState() == GameState.LOGGED_IN && regionCheck()) { @@ -182,13 +185,24 @@ public class FightCavePlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + overlayManager.remove(waveOverlay); overlayManager.remove(fightCaveOverlay); currentWave = -1; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("fightcave")) { @@ -198,8 +212,7 @@ public class FightCavePlugin extends Plugin updateConfig(); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!validRegion) { @@ -216,8 +229,7 @@ public class FightCavePlugin extends Plugin currentWave = Integer.parseInt(waveMatcher.group(1)); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() != GameState.LOGGED_IN) { @@ -240,8 +252,7 @@ public class FightCavePlugin extends Plugin fightCaveContainer.clear(); } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (!validRegion) { @@ -265,8 +276,7 @@ public class FightCavePlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (!validRegion) { @@ -290,8 +300,7 @@ public class FightCavePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick Event) + private void onGameTick(GameTick Event) { if (!validRegion) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index 074a4d4858..5539fde29e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -64,7 +64,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -131,6 +131,9 @@ public class FishingPlugin extends Plugin @Inject private FishingSpotMinimapOverlay fishingSpotMinimapOverlay; + @Inject + private EventBus eventBus; + private boolean trawlerNotificationSent; @Provides @@ -159,6 +162,7 @@ public class FishingPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(spotOverlay); @@ -168,6 +172,8 @@ public class FishingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + spotOverlay.setHidden(true); fishingSpotMinimapOverlay.setHidden(true); overlayManager.remove(overlay); @@ -180,8 +186,21 @@ public class FishingPlugin extends Plugin trawlerStartTime = null; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("fishing")) { @@ -191,8 +210,7 @@ public class FishingPlugin extends Plugin updateConfig(); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { GameState gameState = gameStateChanged.getGameState(); if (gameState == GameState.CONNECTION_LOST || gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING) @@ -202,8 +220,7 @@ public class FishingPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY) && event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT)) @@ -224,8 +241,7 @@ public class FishingPlugin extends Plugin fishingSpotMinimapOverlay.setHidden(!showOverlays); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.SPAM) { @@ -241,8 +257,7 @@ public class FishingPlugin extends Plugin } } - @Subscribe - public void onInteractingChanged(InteractingChanged event) + private void onInteractingChanged(InteractingChanged event) { if (event.getSource() != client.getLocalPlayer()) { @@ -277,8 +292,7 @@ public class FishingPlugin extends Plugin return ItemUtil.containsAnyItemId(itemContainer.getItems(), FISHING_TOOLS); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { // Reset fishing session if (session.getLastFishCaught() != null) @@ -318,8 +332,7 @@ public class FishingPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { final NPC npc = event.getNpc(); @@ -332,8 +345,7 @@ public class FishingPlugin extends Plugin inverseSortSpotDistanceFromPlayer(); } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { final NPC npc = npcDespawned.getNpc(); @@ -346,8 +358,7 @@ public class FishingPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (!this.trawlerNotification || client.getGameState() != GameState.LOGGED_IN) { @@ -371,8 +382,7 @@ public class FishingPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.FISHING_TRAWLER_GROUP_ID) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java index e0e1b57b20..a8a8cdcaa5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/flexo/FlexoPlugin.java @@ -51,7 +51,7 @@ import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.flexo.Flexo; import net.runelite.client.flexo.FlexoMouse; import net.runelite.client.plugins.Plugin; @@ -104,6 +104,9 @@ public class FlexoPlugin extends Plugin @Inject private FlexoConfig config; + @Inject + private EventBus eventBus; + @Provides FlexoConfig getConfig(ConfigManager configManager) { @@ -138,7 +141,6 @@ public class FlexoPlugin extends Plugin @Getter(AccessLevel.PACKAGE) private List clickPoints = new ArrayList<>(); - @Subscribe private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("flexo") || (!event.getGroup().equals("stretchedmode")) ) @@ -150,9 +152,7 @@ public class FlexoPlugin extends Plugin updateMouseMotionFactory(); } - - @Subscribe - public void onBeforeRender(BeforeRender event) + private void onBeforeRender(BeforeRender event) { if (Flexo.client == null) { @@ -293,6 +293,7 @@ public class FlexoPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); Flexo.isStretched = client.isStretchedEnabled(); overlayManager.add(overlay); @@ -302,9 +303,17 @@ public class FlexoPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(BeforeRender.class, this, this::onBeforeRender); + } + private void updateConfig() { this.overlayEnabled = config.overlayEnabled(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java index fb8bffc9d6..b33699436a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.DrawManager; @@ -92,6 +92,9 @@ public class FpsPlugin extends Plugin @Inject private FpsConfig fpsConfig; + @Inject + private EventBus eventBus; + private final ScheduledExecutorService pingExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor()); private boolean loaded = false; @@ -113,8 +116,7 @@ public class FpsPlugin extends Plugin return configManager.getConfig(FpsConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP_KEY)) { @@ -126,15 +128,13 @@ public class FpsPlugin extends Plugin } } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void onFocusChanged(FocusChanged event) { drawListener.onFocusChanged(event); overlay.onFocusChanged(event); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { shutdown = event.getGameState() != GameState.LOGGED_IN; } @@ -142,6 +142,8 @@ public class FpsPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + limitMode = fpsConfig.limitMode(); drawFps = fpsConfig.drawFps(); drawPing = fpsConfig.drawPing(); @@ -160,11 +162,20 @@ public class FpsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); drawManager.unregisterEveryFrameListener(drawListener); shutdown = true; } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + private void getPingToCurrentWorld() { if (!shutdown && drawPing) 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 3a19f7be49..50e4824c94 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 @@ -39,7 +39,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.PlayerDespawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -75,6 +75,9 @@ public class FreezeTimersPlugin extends Plugin @Inject private FreezeTimersConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showPlayers; @Getter(AccessLevel.PACKAGE) @@ -97,11 +100,14 @@ public class FreezeTimersPlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); + overlayManager.add(overlay); } public void shutDown() { + eventBus.unregister(this); overlayManager.remove(overlay); } @@ -111,8 +117,15 @@ public class FreezeTimersPlugin extends Plugin return configManager.getConfig(FreezeTimersConfig.class); } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + } + + private void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) { int oldGraphic = prayerTracker.getSpotanimLastTick(graphicChanged.getActor()); int newGraphic = graphicChanged.getActor().getSpotAnimation(); @@ -138,8 +151,7 @@ public class FreezeTimersPlugin extends Plugin System.currentTimeMillis() + length); } - @Subscribe - public void onGameTick(GameTick tickEvent) + private void onGameTick(GameTick tickEvent) { timers.gameTick(); prayerTracker.gameTick(); @@ -149,13 +161,12 @@ public class FreezeTimersPlugin extends Plugin { SpotAnimationChanged callback = new SpotAnimationChanged(); callback.setActor(actor); - client.getCallbacks().post(callback); + client.getCallbacks().post(SpotAnimationChanged.class, callback); } } } - @Subscribe - public void onPlayerDespawned(PlayerDespawned playerDespawned) + private void onPlayerDespawned(PlayerDespawned playerDespawned) { final Player player = playerDespawned.getPlayer(); // All despawns ok: death, teleports, log out, runs away from screen @@ -167,9 +178,7 @@ public class FreezeTimersPlugin extends Plugin freezes.remove(actor.getName()); } - - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("freezetimers")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendlist/FriendListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendlist/FriendListPlugin.java index b98b68d7eb..1d71c487bf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendlist/FriendListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendlist/FriendListPlugin.java @@ -32,7 +32,7 @@ import net.runelite.api.VarPlayer; import net.runelite.api.events.GameTick; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -52,16 +52,26 @@ public class FriendListPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + @Override protected void shutDown() { + eventBus.unregister(this); + final int world = client.getWorld(); setFriendsListTitle("Friends List - World " + world); setIgnoreListTitle("Ignore List - World " + world); } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { final int world = client.getWorld(); final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java index caefd58452..836b3e7fe2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendnotes/FriendNotesPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.events.NameableNameChanged; import net.runelite.api.events.FriendRemoved; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -85,21 +85,35 @@ public class FriendNotesPlugin extends Plugin @Inject private ChatboxPanelManager chatboxPanelManager; + @Inject + private EventBus eventBus; + @Getter private HoveredFriend hoveredFriend = null; @Override protected void startUp() throws Exception { + addSubscriptions(); overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } + private void addSubscriptions() + { + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(NameableNameChanged.class, this, this::onNameableNameChanged); + eventBus.subscribe(FriendRemoved.class, this, this::onFriendRemoved); + } + /** * Set a friend note, or unset by passing a null/empty note. */ @@ -160,8 +174,7 @@ public class FriendNotesPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { final int groupId = WidgetInfo.TO_GROUP(event.getActionParam1()); @@ -189,8 +202,7 @@ public class FriendNotesPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId()) { @@ -227,8 +239,7 @@ public class FriendNotesPlugin extends Plugin } - @Subscribe - public void onNameableNameChanged(NameableNameChanged event) + private void onNameableNameChanged(NameableNameChanged event) { final Nameable nameable = event.getNameable(); @@ -249,8 +260,7 @@ public class FriendNotesPlugin extends Plugin } } - @Subscribe - public void onFriendRemoved(FriendRemoved event) + private void onFriendRemoved(FriendRemoved event) { // Delete a friend's note if they are removed final String displayName = Text.toJagexName(event.getName()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java index 4a693a64a3..1f273ec5ba 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendtagging/FriendTaggingPlugin.java @@ -34,7 +34,7 @@ import net.runelite.api.events.FriendRemoved; import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.menus.MenuManager; @@ -84,9 +84,14 @@ public class FriendTaggingPlugin extends Plugin @Inject private ChatboxPanelManager chatboxPanelManager; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { + addSubscriptions(); + menuManager.addManagedCustomMenu(friendsTabMenuOption); menuManager.addManagedCustomMenu(ignoreTabMenuOption); menuManager.addManagedCustomMenu(friendTabResizableOption); @@ -97,14 +102,24 @@ public class FriendTaggingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + menuManager.removeManagedCustomMenu(friendsTabMenuOption); menuManager.removeManagedCustomMenu(ignoreTabMenuOption); menuManager.removeManagedCustomMenu(friendTabResizableOption); menuManager.removeManagedCustomMenu(ignoreTabResizableOption); } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void addSubscriptions() + { + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(FriendRemoved.class, this, this::onFriendRemoved); + eventBus.subscribe(NameableNameChanged.class, this, this::onNameableNameChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + } + + private void onMenuEntryAdded(MenuEntryAdded event) { final int groupId = WidgetInfo.TO_GROUP(event.getActionParam1()); @@ -127,15 +142,13 @@ public class FriendTaggingPlugin extends Plugin } } - @Subscribe - public void onFriendRemoved(FriendRemoved event) + private void onFriendRemoved(FriendRemoved event) { final String displayName = event.getName().trim().toLowerCase(); deleteTag(displayName); } - @Subscribe - public void onNameableNameChanged(NameableNameChanged event) + private void onNameableNameChanged(NameableNameChanged event) { final Nameable nameable = event.getNameable(); @@ -150,8 +163,7 @@ public class FriendTaggingPlugin extends Plugin } } - @Subscribe - public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) + private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) { if (event.getWidget().getId() == WidgetInfo.FIXED_VIEWPORT_FRIENDS_TAB.getId() && Text.standardize(event.getMenuTarget()).equals(Text.standardize("clipboard"))) @@ -160,8 +172,7 @@ public class FriendTaggingPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 9de83c7580..a7e1a3505c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -366,7 +366,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks @Override protected void shutDown() { - super.shutDown(); + eventbus.unregister(this); clientThread.invoke(() -> { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 4ce28688b9..8314a1493d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -67,7 +67,7 @@ import net.runelite.client.Notifier; import net.runelite.client.account.AccountSession; import net.runelite.client.account.SessionManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionOpen; import net.runelite.client.game.ItemManager; @@ -150,6 +150,9 @@ public class GrandExchangePlugin extends Plugin @Inject private ConfigManager configManager; + @Inject + private EventBus eventBus; + private Widget grandExchangeText; private Widget grandExchangeItem; private Map itemGELimits; @@ -191,6 +194,7 @@ public class GrandExchangePlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); itemGELimits = loadGELimits(); panel = injector.getInstance(GrandExchangePanel.class); @@ -223,6 +227,8 @@ public class GrandExchangePlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + clientToolbar.removeNavigation(button); mouseManager.unregisterMouseListener(inputListener); keyManager.unregisterKeyListener(inputListener); @@ -232,8 +238,23 @@ public class GrandExchangePlugin extends Plugin grandExchangeClient = null; } - @Subscribe - public void onSessionOpen(SessionOpen sessionOpen) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + eventBus.subscribe(SessionClose.class, this, this::onSessionClose); + eventBus.subscribe(GrandExchangeOfferChanged.class, this, this::onGrandExchangeOfferChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onSessionOpen(SessionOpen sessionOpen) { AccountSession accountSession = sessionManager.getAccountSession(); if (accountSession.getUuid() != null) @@ -254,14 +275,12 @@ public class GrandExchangePlugin extends Plugin this.enableGELimits = config.enableGELimits(); } - @Subscribe - public void onSessionClose(SessionClose sessionClose) + private void onSessionClose(SessionClose sessionClose) { grandExchangeClient = null; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("grandexchange")) { @@ -282,8 +301,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent) + private void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent) { final int slot = offerEvent.getSlot(); final GrandExchangeOffer offer = offerEvent.getOffer(); @@ -360,8 +378,7 @@ public class GrandExchangePlugin extends Plugin return savedOffer.getState() != grandExchangeOffer.getState(); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!this.enableNotifications || event.getType() != ChatMessageType.GAMEMESSAGE) { @@ -376,8 +393,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) { @@ -385,8 +401,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { // At the moment, if the user disables quick lookup, the input listener gets disabled. Thus, isHotKeyPressed() // should always return false when quick lookup is disabled. @@ -419,8 +434,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onFocusChanged(FocusChanged focusChanged) + private void onFocusChanged(FocusChanged focusChanged) { if (!focusChanged.isFocused()) { @@ -428,8 +442,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { switch (event.getGroupId()) { @@ -447,8 +460,7 @@ public class GrandExchangePlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!event.getEventName().equals("setGETitle") || !config.showTotal()) { @@ -490,8 +502,7 @@ public class GrandExchangePlugin extends Plugin stringStack[stringStackSize - 1] += titleBuilder.toString(); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (grandExchangeText == null || grandExchangeItem == null || grandExchangeItem.isHidden()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java index 1ef158830f..08b063cef5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java @@ -26,11 +26,11 @@ package net.runelite.client.plugins.grotesqueguardians; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.client.eventbus.EventBus; 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 net.runelite.client.eventbus.Subscribe; import java.util.ArrayList; import net.runelite.api.events.GameTick; import net.runelite.api.NPC; @@ -57,6 +57,8 @@ public class GrotesqueGuardiansPlugin extends Plugin private OverlayManager overlayManager; @Inject private GrotesqueGuardiansPrayerOverlay prayerOverlay; + @Inject + private EventBus eventBus; @Nullable private DuskAttack prayAgainst; @Nullable @@ -76,6 +78,8 @@ public class GrotesqueGuardiansPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + overlayManager.add(overlay); overlayManager.add(prayerOverlay); dusk = null; @@ -85,14 +89,15 @@ public class GrotesqueGuardiansPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(prayerOverlay); dusk = null; prayAgainst = null; } - @Subscribe - public void onGameTick(final GameTick event) + private void onGameTick(final GameTick event) { final ArrayList regions = new ArrayList<>(); for (final int intValue : client.getMapRegions()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java index ee7b8d5ed3..82f9aa2a83 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java @@ -74,7 +74,7 @@ import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.NpcLootReceived; import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.game.ItemManager; @@ -180,6 +180,9 @@ public class GroundItemsPlugin extends Plugin @Inject private Notifier notifier; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PUBLIC) public static final Map collectedGroundItems = new LinkedHashMap<>(); private final Map priceChecks = new LinkedHashMap<>(); @@ -247,6 +250,8 @@ public class GroundItemsPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); + overlayManager.add(overlay); reset(); mouseManager.registerMouseListener(inputListener); @@ -256,6 +261,8 @@ public class GroundItemsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); mouseManager.unregisterMouseListener(inputListener); keyManager.unregisterKeyListener(inputListener); @@ -268,8 +275,22 @@ public class GroundItemsPlugin extends Plugin collectedGroundItems.clear(); } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned); + eventBus.subscribe(ItemDespawned.class, this, this::onItemDespawned); + eventBus.subscribe(ItemQuantityChanged.class, this, this::onItemQuantityChanged); + eventBus.subscribe(NpcLootReceived.class, this, this::onNpcLootReceived); + eventBus.subscribe(PlayerLootReceived.class, this, this::onPlayerLootReceived); + eventBus.subscribe(ClientTick.class, this, this::onClientTick); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + + private void onGameTick(GameTick event) { for (GroundItem item : collectedGroundItems.values()) { @@ -281,8 +302,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("grounditems")) { @@ -291,8 +311,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(final GameStateChanged event) + private void onGameStateChanged(final GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -300,8 +319,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onItemSpawned(ItemSpawned itemSpawned) + private void onItemSpawned(ItemSpawned itemSpawned) { Item item = itemSpawned.getItem(); Tile tile = itemSpawned.getTile(); @@ -326,8 +344,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onItemDespawned(ItemDespawned itemDespawned) + private void onItemDespawned(ItemDespawned itemDespawned) { Item item = itemDespawned.getItem(); Tile tile = itemDespawned.getTile(); @@ -349,8 +366,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged) + private void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged) { Item item = itemQuantityChanged.getItem(); Tile tile = itemQuantityChanged.getTile(); @@ -366,8 +382,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onNpcLootReceived(NpcLootReceived npcLootReceived) + private void onNpcLootReceived(NpcLootReceived npcLootReceived) { npcLootReceived.getItems().forEach(item -> { @@ -384,8 +399,7 @@ public class GroundItemsPlugin extends Plugin lootNotifier(items); } - @Subscribe - public void onPlayerLootReceived(PlayerLootReceived playerLootReceived) + private void onPlayerLootReceived(PlayerLootReceived playerLootReceived) { Collection items = playerLootReceived.getItems(); lootReceived(items); @@ -432,8 +446,7 @@ public class GroundItemsPlugin extends Plugin notifier.notify(notification); } - @Subscribe - public void onClientTick(ClientTick event) + private void onClientTick(ClientTick event) { final MenuEntry[] menuEntries = client.getMenuEntries(); final List newEntries = new ArrayList<>(menuEntries.length); @@ -670,8 +683,7 @@ public class GroundItemsPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (this.itemHighlightMode != OVERLAY && event.getOption().equals("Take") @@ -905,8 +917,7 @@ public class GroundItemsPlugin extends Plugin return this.defaultColor; } - @Subscribe - public void onFocusChanged(FocusChanged focusChanged) + private void onFocusChanged(FocusChanged focusChanged) { if (!focusChanged.isFocused()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index f5ed119b16..fffc957c4a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -58,7 +58,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -112,6 +112,9 @@ public class GroundMarkerPlugin extends Plugin @Inject private GroundMarkerMinimapOverlay minimapOverlay; + @Inject + private EventBus eventBus; + @Inject private KeyManager keyManager; @@ -272,8 +275,7 @@ public class GroundMarkerPlugin extends Plugin return point; } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() != GameState.LOGGED_IN) { @@ -284,8 +286,7 @@ public class GroundMarkerPlugin extends Plugin loadPoints(); } - @Subscribe - public void onFocusChanged(FocusChanged focusChanged) + private void onFocusChanged(FocusChanged focusChanged) { if (!focusChanged.isFocused()) { @@ -293,8 +294,7 @@ public class GroundMarkerPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (hotKeyPressed && event.getOption().equals(WALK_HERE)) { @@ -328,8 +328,7 @@ public class GroundMarkerPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (!event.getOption().contains(MARK) && !event.getOption().contains(UNMARK)) { @@ -356,6 +355,7 @@ public class GroundMarkerPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(minimapOverlay); @@ -366,12 +366,22 @@ public class GroundMarkerPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); overlayManager.remove(overlay); overlayManager.remove(minimapOverlay); keyManager.unregisterKeyListener(inputListener); points.clear(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + } + private void markTile(LocalPoint localPoint, int group) { if (localPoint == null) @@ -424,8 +434,7 @@ public class GroundMarkerPlugin extends Plugin return color; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("groundMarker")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java index cc6dc7258d..118e9c1faa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java @@ -57,7 +57,7 @@ import net.runelite.api.events.GroundObjectDespawned; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.VarbitChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -112,6 +112,9 @@ public class HerbiboarPlugin extends Plugin @Inject private HerbiboarConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean inHerbiboarArea; @@ -172,6 +175,7 @@ public class HerbiboarPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(minimapOverlay); @@ -181,10 +185,25 @@ public class HerbiboarPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(minimapOverlay); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(GroundObjectChanged.class, this, this::onGroundObjectChanged); + eventBus.subscribe(GroundObjectDespawned.class, this, this::onGroundObjectDespawned); + } + private void updateTrailData() { currentTrail = null; @@ -241,8 +260,7 @@ public class HerbiboarPlugin extends Plugin tunnels.clear(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -259,8 +277,7 @@ public class HerbiboarPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (isInHerbiboarArea()) { @@ -268,38 +285,32 @@ public class HerbiboarPlugin extends Plugin } } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { onGameObject(event.getTile(), null, event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { onGameObject(event.getTile(), event.getPrevious(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { onGameObject(event.getTile(), event.getGameObject(), null); } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { onGroundObject( null, event.getGroundObject()); } - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) + private void onGroundObjectChanged(GroundObjectChanged event) { onGroundObject(event.getPrevious(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) + private void onGroundObjectDespawned(GroundObjectDespawned event) { onGroundObject(event.getGroundObject(), null); } @@ -382,8 +393,7 @@ public class HerbiboarPlugin extends Plugin return END_LOCATIONS; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("herbiboar")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java index 0fb87507c7..75385bfa4b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java @@ -47,7 +47,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -109,6 +109,9 @@ public class HidePrayersPlugin extends Plugin @Inject private HidePrayersConfig config; + @Inject + private EventBus eventBus; + private boolean showindividualprayers; private boolean ShowTHICK_SKIN; private boolean ShowBURST_OF_STRENGTH; @@ -169,17 +172,27 @@ public class HidePrayersPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + hidePrayers(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + restorePrayers(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -188,8 +201,7 @@ public class HidePrayersPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("hideprayers")) { @@ -198,8 +210,7 @@ public class HidePrayersPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java index 79be6bbac4..38a6ae8ea8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java @@ -46,7 +46,7 @@ import static net.runelite.api.widgets.WidgetID.GUIDE_PRICES_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SHOP_INVENTORY_GROUP_ID; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -76,6 +76,9 @@ public class HighAlchemyPlugin extends Plugin @Inject private HighAlchemyOverlay overlay; + @Inject + private EventBus eventBus; + @Provides HighAlchemyConfig getConfig(ConfigManager configManager) { @@ -95,6 +98,8 @@ public class HighAlchemyPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + buildGroupList(); overlayManager.add(overlay); } @@ -105,8 +110,7 @@ public class HighAlchemyPlugin extends Plugin overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java index a90ca7b8ba..cf21d1f2d7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java @@ -47,7 +47,7 @@ import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.PlayerMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -87,6 +87,9 @@ public class HiscorePlugin extends Plugin @Inject private HiscoreConfig config; + @Inject + private EventBus eventBus; + private NavigationButton navButton; private HiscorePanel hiscorePanel; @@ -102,6 +105,8 @@ public class HiscorePlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + hiscorePanel = injector.getInstance(HiscorePanel.class); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "normal.png"); @@ -128,6 +133,8 @@ public class HiscorePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + hiscorePanel.removeInputKeyListener(autocompleter); clientToolbar.removeNavigation(navButton); @@ -137,8 +144,15 @@ public class HiscorePlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(PlayerMenuOptionClicked.class, this, this::onPlayerMenuOptionClicked); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("hiscore")) { @@ -166,8 +180,7 @@ public class HiscorePlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!config.menuOption()) { @@ -201,8 +214,7 @@ public class HiscorePlugin extends Plugin } } - @Subscribe - public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) + private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) { if (event.getMenuOption().equals(LOOKUP)) { @@ -210,8 +222,7 @@ public class HiscorePlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!config.bountylookup() || !event.getType().equals(ChatMessageType.GAMEMESSAGE)) { 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 8601a91289..8d8437ec71 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 @@ -48,7 +48,7 @@ import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -77,6 +77,9 @@ public class HunterPlugin extends Plugin @Inject private HunterConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Map traps = new HashMap<>(); @@ -105,6 +108,7 @@ public class HunterPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlay.updateConfig(); @@ -113,13 +117,21 @@ public class HunterPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); lastActionTime = Instant.ofEpochMilli(0); traps.clear(); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + } + + private void onGameObjectSpawned(GameObjectSpawned event) { final GameObject gameObject = event.getGameObject(); final WorldPoint trapLocation = gameObject.getWorldLocation(); @@ -309,8 +321,7 @@ public class HunterPlugin extends Plugin * checks if the trap is still there. If the trap is gone, it removes * the trap from the local players trap collection. */ - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { // Check if all traps are still there, and remove the ones that are not. Iterator> it = traps.entrySet().iterator(); @@ -387,8 +398,7 @@ public class HunterPlugin extends Plugin lastTickLocalPlayerLocation = client.getLocalPlayer().getWorldLocation(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("hunterplugin")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java index 8c2f0fff42..10deba1016 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -73,6 +73,9 @@ public class BabyHydraPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Provides BabyHydraConfig provideConfig(ConfigManager configManager) { @@ -97,6 +100,7 @@ public class BabyHydraPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); if (this.TextIndicator) { @@ -112,6 +116,8 @@ public class BabyHydraPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(hydraOverlay); overlayManager.remove(hydraPrayOverlay); overlayManager.remove(hydraIndicatorOverlay); @@ -119,8 +125,15 @@ public class BabyHydraPlugin extends Plugin hydraattacks.clear(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("hydra")) { @@ -155,8 +168,7 @@ public class BabyHydraPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { NPC hydra = event.getNpc(); if (hydra.getCombatLevel() != 0 && hydra.getName() != null && hydra.getName().equalsIgnoreCase("Hydra") && !hydras.containsKey(hydra.getIndex())) @@ -165,8 +177,7 @@ public class BabyHydraPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { NPC hydra = event.getNpc(); if (hydra.getCombatLevel() != 0 && hydra.getName() != null && hydra.getName().equalsIgnoreCase("Hydra")) @@ -176,8 +187,7 @@ public class BabyHydraPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { Actor monster = event.getActor(); Actor local = client.getLocalPlayer(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java index e2091dd882..32b36b72e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java @@ -67,7 +67,7 @@ import net.runelite.api.events.PlayerSpawned; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.Sound; import net.runelite.client.game.SoundManager; import net.runelite.client.plugins.Plugin; @@ -109,6 +109,9 @@ public class IdleNotifierPlugin extends Plugin @Inject private IdleNotifierConfig config; + @Inject + private EventBus eventBus; + private Instant lastAnimating; private int lastAnimation = AnimationID.IDLE; private Instant lastInteracting; @@ -164,8 +167,7 @@ public class IdleNotifierPlugin extends Plugin return configManager.getConfig(IdleNotifierConfig.class); } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -309,7 +311,6 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe private void onPlayerSpawned(PlayerSpawned event) { final Player p = event.getPlayer(); @@ -324,8 +325,7 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { ItemContainer itemContainer = event.getItemContainer(); @@ -402,8 +402,7 @@ public class IdleNotifierPlugin extends Plugin itemQuantitiesPrevious = itemQuantities; } - @Subscribe - public void onInteractingChanged(InteractingChanged event) + private void onInteractingChanged(InteractingChanged event) { final Actor source = event.getSource(); if (source != client.getLocalPlayer()) @@ -453,8 +452,7 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { lastInteracting = null; @@ -486,8 +484,7 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe - public void onHitsplatApplied(HitsplatApplied event) + private void onHitsplatApplied(HitsplatApplied event) { if (event.getActor() != client.getLocalPlayer()) { @@ -503,8 +500,7 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged event) + private void onSpotAnimationChanged(SpotAnimationChanged event) { Actor actor = event.getActor(); @@ -519,8 +515,7 @@ public class IdleNotifierPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { skullNotifier(); @@ -903,8 +898,26 @@ public class IdleNotifierPlugin extends Plugin updateConfig(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("idlenotifier")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java index 8458b45735..cfca7c4540 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -77,7 +77,6 @@ public class ImplingsPlugin extends Plugin @Inject private ImplingCounterOverlay implingCounterOverlay; - @Inject private OverlayManager overlayManager; @@ -87,6 +86,9 @@ public class ImplingsPlugin extends Plugin @Inject private ImplingsConfig config; + @Inject + private EventBus eventBus; + private boolean showBaby; private Color getBabyColor; private boolean showYoung; @@ -128,6 +130,7 @@ public class ImplingsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); dynamicSpawns.put(DYNAMIC_SPAWN_NATURE_DRAGON, "T3 Nature-Lucky Dynamic"); dynamicSpawns.put(DYNAMIC_SPAWN_ECLECTIC, "T2 Eclectic Dynamic"); @@ -141,13 +144,23 @@ public class ImplingsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(minimapOverlay); overlayManager.remove(implingCounterOverlay); } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + } + + private void onGameTick(GameTick event) { implingCounterMap.clear(); for (NPC npc : implings) @@ -171,8 +184,7 @@ public class ImplingsPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned npcSpawned) + private void onNpcSpawned(NpcSpawned npcSpawned) { NPC npc = npcSpawned.getNpc(); Impling impling = Impling.findImpling(npc.getId()); @@ -183,8 +195,7 @@ public class ImplingsPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) { @@ -193,8 +204,7 @@ public class ImplingsPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { if (implings.isEmpty()) { @@ -291,8 +301,7 @@ public class ImplingsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("implings")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java index 9230985b1b..0fc2fc89ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java @@ -51,7 +51,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -94,6 +94,9 @@ public class InfernoPlugin extends Plugin @Inject private InfernoConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private int currentWave = -1; @@ -143,6 +146,8 @@ public class InfernoPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + waveOverlay.setDisplayMode(this.waveDisplay); if (isInInferno()) @@ -177,6 +182,8 @@ public class InfernoPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(infernoInfobox); overlayManager.remove(infernoOverlay); overlayManager.remove(nibblerOverlay); @@ -188,7 +195,17 @@ public class InfernoPlugin extends Plugin currentWaveNumber = -1; } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + private void onConfigChanged(ConfigChanged event) { if (!"inferno".equals(event.getGroup())) @@ -216,8 +233,7 @@ public class InfernoPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (client.getMapRegions()[0] != 9043) { @@ -251,8 +267,7 @@ public class InfernoPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (client.getMapRegions()[0] != 9043) { @@ -283,8 +298,7 @@ public class InfernoPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() != GameState.LOGGED_IN) { @@ -316,8 +330,7 @@ public class InfernoPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!isInInferno() || event.getType() != ChatMessageType.GAMEMESSAGE) { @@ -333,8 +346,7 @@ public class InfernoPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (client.getMapRegions()[0] != 9043) { @@ -403,8 +415,7 @@ public class InfernoPlugin extends Plugin calculatePriorityNPC(); } - @Subscribe - public void onAnimationChanged(final AnimationChanged event) + private void onAnimationChanged(final AnimationChanged event) { if (event.getActor() != jad) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/instancemap/InstanceMapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/instancemap/InstanceMapPlugin.java index d6f4cb3e17..8110db2eb3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/instancemap/InstanceMapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/instancemap/InstanceMapPlugin.java @@ -31,7 +31,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import static net.runelite.api.widgets.WidgetInfo.WORLD_MAP_OPTION; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.input.MouseManager; import net.runelite.client.menus.MenuManager; @@ -67,6 +67,9 @@ public class InstanceMapPlugin extends Plugin @Inject private MouseManager mouseManager; + @Inject + private EventBus eventBus; + @Override public void configure(Binder binder) { @@ -86,6 +89,8 @@ public class InstanceMapPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + overlayManager.add(overlay); addCustomOptions(); keyManager.registerKeyListener(inputListener); @@ -96,6 +101,8 @@ public class InstanceMapPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlay.setShowMap(false); overlayManager.remove(overlay); removeCustomOptions(); @@ -104,8 +111,13 @@ public class InstanceMapPlugin extends Plugin mouseManager.unregisterMouseWheelListener(inputListener); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + } + + private void onGameStateChanged(GameStateChanged event) { overlay.onGameStateChange(event); } @@ -115,8 +127,7 @@ public class InstanceMapPlugin extends Plugin return event.getMenuOption().equals(widgetMenuOption.getMenuOption()) && event.getMenuTarget().equals(widgetMenuOption.getMenuTarget()); } - @Subscribe - public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) + private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) { if (event.getWidget() != WORLD_MAP_OPTION) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index 9758434681..809169da28 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -73,6 +73,9 @@ public class InterfaceStylesPlugin extends Plugin @Inject private SpriteManager spriteManager; + @Inject + private EventBus eventBus; + private Sprite[] defaultCrossSprites; private Skin skin; @@ -90,12 +93,15 @@ public class InterfaceStylesPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); clientThread.invoke(this::updateAllOverrides); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + clientThread.invoke(() -> { restoreWidgetDimensions(); @@ -105,8 +111,16 @@ public class InterfaceStylesPlugin extends Plugin }); } - @Subscribe - public void onConfigChanged(ConfigChanged config) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetPositioned.class, this, this::onWidgetPositioned); + eventBus.subscribe(PostHealthBar.class, this, this::onPostHealthBar); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(BeforeMenuRender.class, this, this::onBeforeMenuRender); + } + + private void onConfigChanged(ConfigChanged config) { if (config.getGroup().equals("interfaceStyles")) { @@ -115,14 +129,12 @@ public class InterfaceStylesPlugin extends Plugin } } - @Subscribe - public void onWidgetPositioned(WidgetPositioned widgetPositioned) + private void onWidgetPositioned(WidgetPositioned widgetPositioned) { adjustWidgetDimensions(); } - @Subscribe - public void onPostHealthBar(PostHealthBar postHealthBar) + private void onPostHealthBar(PostHealthBar postHealthBar) { if (!this.hdHealthBars) { @@ -140,8 +152,7 @@ public class InterfaceStylesPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() != GameState.LOGIN_SCREEN) { @@ -167,8 +178,7 @@ public class InterfaceStylesPlugin extends Plugin overrideCrossSprites(); } - @Subscribe - public void onBeforeMenuRender(BeforeMenuRender event) + private void onBeforeMenuRender(BeforeMenuRender event) { if (this.hdMenu) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java index 0ab7d78067..a537c97d83 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java @@ -33,7 +33,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -56,6 +56,9 @@ public class InventoryGridPlugin extends Plugin @Inject private InventoryGridConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showItem; @Getter(AccessLevel.PACKAGE) @@ -73,12 +76,16 @@ public class InventoryGridPlugin extends Plugin public void startUp() { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override public void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); } @@ -88,8 +95,7 @@ public class InventoryGridPlugin extends Plugin return configManager.getConfig(InventoryGridConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged config) + private void onConfigChanged(ConfigChanged config) { if (config.getGroup().equals("inventorygrid")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java index f7d8cba390..b5161af6ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java @@ -54,7 +54,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemVariationMapping; import net.runelite.client.plugins.Plugin; @@ -104,6 +104,9 @@ public class InventorySetupPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + @Inject private ConfigManager configManager; @@ -131,6 +134,7 @@ public class InventorySetupPlugin extends Plugin public void startUp() { updateConfigOptions(); + addSubscriptions(); overlayManager.add(overlay); @@ -257,8 +261,7 @@ public class InventorySetupPlugin extends Plugin return configManager.getConfig(InventorySetupConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP)) { @@ -313,8 +316,7 @@ public class InventorySetupPlugin extends Plugin } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (!highlightDifference || client.getGameState() != GameState.LOGGED_IN) @@ -347,8 +349,7 @@ public class InventorySetupPlugin extends Plugin } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -422,10 +423,18 @@ public class InventorySetupPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); overlayManager.remove(overlay); clientToolbar.removeNavigation(navButton); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + final int[] getCurrentInventorySetupIds() { InventorySetup setup = inventorySetups.get(panel.getSelectedInventorySetup()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java index 0a87706e6e..e6986c1503 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; import net.runelite.client.plugins.Plugin; @@ -104,6 +104,9 @@ public class InventoryTagsPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + private boolean editorMode; private Color group1Color; @@ -142,6 +145,8 @@ public class InventoryTagsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + refreshInventoryMenuOptions(); overlayManager.add(overlay); } @@ -149,13 +154,22 @@ public class InventoryTagsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + removeInventoryMenuOptions(); overlayManager.remove(overlay); editorMode = false; } - @Subscribe - public void onWidgetMenuOptionClicked(final WidgetMenuOptionClicked event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(MenuOpened.class, this, this::onMenuOpened); + } + + private void onWidgetMenuOptionClicked(final WidgetMenuOptionClicked event) { if (event.getWidget() == WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB || event.getWidget() == WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB @@ -166,8 +180,7 @@ public class InventoryTagsPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(final MenuOptionClicked event) + private void onMenuOptionClicked(final MenuOptionClicked event) { if (event.getMenuAction() != MenuAction.RUNELITE) { @@ -186,8 +199,7 @@ public class InventoryTagsPlugin extends Plugin } } - @Subscribe - public void onMenuOpened(final MenuOpened event) + private void onMenuOpened(final MenuOpened event) { final MenuEntry firstEntry = event.getFirstEntry(); @@ -277,8 +289,7 @@ public class InventoryTagsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("inventorytags")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java index 114809287e..23ccdb8a95 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java @@ -31,7 +31,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -56,6 +56,9 @@ public class InventoryViewerPlugin extends Plugin @Inject private InventoryViewerConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private InventoryViewerMode viewerMode; @Getter(AccessLevel.PACKAGE) @@ -73,11 +76,12 @@ public class InventoryViewerPlugin extends Plugin public void startUp() { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP_KEY)) { @@ -88,6 +92,8 @@ public class InventoryViewerPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index 0cf44d6f25..fbdcd0e43a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -55,7 +55,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -161,6 +161,9 @@ public class ItemChargePlugin extends Plugin @Inject private ItemChargeConfig config; + @Inject + private EventBus eventBus; + // Limits destroy callback to once per tick private int lastCheckTick; @@ -233,6 +236,7 @@ public class ItemChargePlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(recoilOverlay); @@ -242,14 +246,26 @@ public class ItemChargePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(recoilOverlay); infoBoxManager.removeIf(ItemChargeInfobox.class::isInstance); lastCheckTick = -1; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("itemCharge")) { @@ -296,8 +312,7 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { String message = event.getMessage(); Matcher dodgyCheckMatcher = DODGY_CHECK_PATTERN.matcher(message); @@ -420,8 +435,7 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT) || !this.showInfoboxes) { @@ -462,8 +476,7 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { Widget braceletBreakWidget = client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT); @@ -564,8 +577,7 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged event) + private void onSpotAnimationChanged(SpotAnimationChanged event) { if (event.getActor() == client.getLocalPlayer() && client.getLocalPlayer().getSpotAnimation() == GraphicID.XERIC_TELEPORT) { @@ -574,7 +586,6 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!"destroyOnOpKey".equals(event.getEventName())) @@ -589,7 +600,6 @@ public class ItemChargePlugin extends Plugin } } - @Subscribe private void onVarbitChanged(VarbitChanged event) { int explorerRingCharge = client.getVar(Varbits.EXPLORER_RING_ALCHS); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java index 2bc032f0f9..73538e1ad5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java @@ -32,7 +32,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -54,6 +54,9 @@ public class ItemIdentificationPlugin extends Plugin @Inject private ItemIdentificationConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private ItemIdentificationMode identificationType; @Getter(AccessLevel.PACKAGE) @@ -79,17 +82,20 @@ public class ItemIdentificationPlugin extends Plugin protected void startUp() { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("itemidentification")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java index 302c9d8728..12e929dfd1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java @@ -31,7 +31,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -54,6 +54,9 @@ public class ItemPricesPlugin extends Plugin @Inject private ItemPricesConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showGEPrice; @Getter(AccessLevel.PACKAGE) @@ -75,17 +78,19 @@ public class ItemPricesPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("itemprices")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemskeptondeath/ItemsKeptOnDeathPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemskeptondeath/ItemsKeptOnDeathPlugin.java index 89115daa29..6006eb658a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemskeptondeath/ItemsKeptOnDeathPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemskeptondeath/ItemsKeptOnDeathPlugin.java @@ -57,7 +57,7 @@ import net.runelite.api.vars.AccountType; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetType; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemMapping; import net.runelite.client.plugins.Plugin; @@ -112,6 +112,9 @@ public class ItemsKeptOnDeathPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + private WidgetButton deepWildyButton; private WidgetButton lowWildyButton; @@ -122,8 +125,19 @@ public class ItemsKeptOnDeathPlugin extends Plugin @VisibleForTesting int wildyLevel; - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (event.getEventName().equals("itemsKeptOnDeath")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index f94a17df0c..06dbfe1c50 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -58,7 +58,7 @@ import net.runelite.api.widgets.WidgetTextAlignment; import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -98,6 +98,9 @@ public class ItemStatPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + private Widget itemInformationTitle; @Getter(AccessLevel.PACKAGE) @@ -140,18 +143,28 @@ public class ItemStatPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); clientThread.invokeLater(this::resetGEInventory); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getKey().equals("geStats")) { @@ -160,8 +173,7 @@ public class ItemStatPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (itemInformationTitle != null && this.geStats && (client.getWidget(WidgetInfo.GRAND_EXCHANGE_WINDOW_CONTAINER) == null @@ -171,8 +183,8 @@ public class ItemStatPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + + private void onVarbitChanged(VarbitChanged event) { if (client.getVar(VarPlayer.CURRENT_GE_ITEM) == -1 && this.geStats) { @@ -180,8 +192,7 @@ public class ItemStatPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (event.getEventName().equals("geBuilt") && this.geStats) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java index 55e2122ef1..3de235562c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ModifierlessKeybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -80,6 +80,9 @@ public class KeyRemappingPlugin extends Plugin @Inject private KeyRemappingListener inputListener; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE) private boolean typing; @@ -128,6 +131,7 @@ public class KeyRemappingPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); typing = false; keyManager.registerKeyListener(inputListener); @@ -144,6 +148,8 @@ public class KeyRemappingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + clientThread.invoke(() -> { if (client.getGameState() == GameState.LOGGED_IN) @@ -155,6 +161,12 @@ public class KeyRemappingPlugin extends Plugin keyManager.unregisterKeyListener(inputListener); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + @Provides KeyRemappingConfig getConfig(ConfigManager configManager) { @@ -195,8 +207,7 @@ public class KeyRemappingPlugin extends Plugin return w == null || w.isSelfHidden(); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (!configChanged.getGroup().equals("keyremapping")) { @@ -216,8 +227,7 @@ public class KeyRemappingPlugin extends Plugin ); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) + private void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) { switch (scriptCallbackEvent.getEventName()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java index e0445d6576..39e99d8a7f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java @@ -37,7 +37,7 @@ import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.VarbitChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -64,19 +64,35 @@ public class KingdomPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private int favor = 0, coffer = 0; private KingdomCounter counter; + @Override + protected void startUp() throws Exception + { + addSubscriptions(); + } + @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + removeKingdomInfobox(); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void addSubscriptions() + { + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onVarbitChanged(VarbitChanged event) { if (isInKingdom()) { @@ -86,7 +102,6 @@ public class KingdomPlugin extends Plugin } } - @Subscribe public void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java index 54e60eb415..0d8450e0f2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java @@ -53,7 +53,7 @@ import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -98,6 +98,9 @@ public class KourendLibraryPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + private KourendLibraryPanel panel; private NavigationButton navButton; private boolean buttonAttached = false; @@ -118,6 +121,8 @@ public class KourendLibraryPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + hideButton = config.hideButton(); hideDuplicateBook = config.hideDuplicateBook(); @@ -148,6 +153,8 @@ public class KourendLibraryPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlay.setHidden(true); overlayManager.remove(overlay); clientToolbar.removeNavigation(navButton); @@ -157,8 +164,17 @@ public class KourendLibraryPlugin extends Plugin playerBooks = null; } - @Subscribe - public void onConfigChanged(ConfigChanged ev) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + } + + private void onConfigChanged(ConfigChanged ev) { if (!KourendLibraryConfig.GROUP_KEY.equals(ev.getGroup())) { @@ -190,8 +206,7 @@ public class KourendLibraryPlugin extends Plugin }); } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked menuOpt) + private void onMenuOptionClicked(MenuOptionClicked menuOpt) { if (MenuAction.GAME_OBJECT_FIRST_OPTION == menuOpt.getMenuAction() && menuOpt.getTarget().contains("Bookshelf")) { @@ -200,8 +215,7 @@ public class KourendLibraryPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged anim) + private void onAnimationChanged(AnimationChanged anim) { if (anim.getActor() == client.getLocalPlayer() && anim.getActor().getAnimation() == AnimationID.LOOKING_INTO) { @@ -209,8 +223,7 @@ public class KourendLibraryPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (lastBookcaseAnimatedOn != null && event.getType() == ChatMessageType.GAMEMESSAGE) { @@ -223,8 +236,7 @@ public class KourendLibraryPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { boolean inRegion = client.getLocalPlayer().getWorldLocation().getRegionID() == REGION; if (this.hideButton && inRegion != buttonAttached) @@ -295,8 +307,7 @@ public class KourendLibraryPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged itemContainerChangedEvent) + private void onItemContainerChanged(ItemContainerChanged itemContainerChangedEvent) { updatePlayerBooks(); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java index 94d1aa6c18..6e92d4165a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java @@ -24,7 +24,7 @@ import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -50,6 +50,9 @@ public class LearnToClickPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + private boolean shouldBlockCompass; private boolean shouldRightClickMap; private boolean shouldRightClickXp; @@ -66,17 +69,27 @@ public class LearnToClickPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + forceRightClickFlag = false; hideOrbWidgets(false); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(MenuShouldLeftClick.class, this, this::onMenuShouldLeftClick); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("learntoclick")) { @@ -96,8 +109,7 @@ public class LearnToClickPlugin extends Plugin } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (!this.hideOrbs) { @@ -109,8 +121,7 @@ public class LearnToClickPlugin extends Plugin } } - @Subscribe - public void onMenuShouldLeftClick(MenuShouldLeftClick event) + private void onMenuShouldLeftClick(MenuShouldLeftClick event) { if (!forceRightClickFlag) { @@ -131,8 +142,7 @@ public class LearnToClickPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if ((event.getOption().equals("Floating") && this.shouldRightClickMap) || (event.getOption().equals("Hide") && this.shouldRightClickXp) || (event.getOption().equals("Show") && this.shouldRightClickXp) || diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java index 64cc513f22..41f9c61624 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ConfigChanged; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -75,6 +75,9 @@ public class LizardmenShamanPlugin extends Plugin @Inject private Notifier notifier; + @Inject + private EventBus eventBus; + private boolean showTimer; private boolean notifyOnSpawn; @@ -87,6 +90,8 @@ public class LizardmenShamanPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.showTimer = config.showTimer(); this.notifyOnSpawn = config.notifyOnSpawn(); @@ -96,12 +101,20 @@ public class LizardmenShamanPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); spawns.clear(); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onChatMessage(ChatMessage event) { if (this.notifyOnSpawn && /* event.getType() == ChatMessageType.GAMEMESSAGE && */event.getMessage().contains(MESSAGE)) // ChatMessageType should probably be SPAM <- should be tested first though @@ -110,8 +123,7 @@ public class LizardmenShamanPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { Actor actor = event.getActor(); if (actor == null || actor.getName() == null) @@ -125,8 +137,7 @@ public class LizardmenShamanPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("shaman")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java index dbf0a6df64..3737a23677 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java @@ -38,9 +38,9 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.SessionOpen; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; @@ -68,6 +68,9 @@ public class LoginScreenPlugin extends Plugin implements KeyListener @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + private String usernameCache; private boolean syncUsername; @@ -78,6 +81,8 @@ public class LoginScreenPlugin extends Plugin implements KeyListener protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + applyUsername(); keyManager.registerKeyListener(this); } @@ -85,6 +90,8 @@ public class LoginScreenPlugin extends Plugin implements KeyListener @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + if (this.syncUsername) { client.getPreferences().setRememberedUsername(usernameCache); @@ -93,14 +100,20 @@ public class LoginScreenPlugin extends Plugin implements KeyListener keyManager.unregisterKeyListener(this); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + } + @Provides LoginScreenConfig getConfig(ConfigManager configManager) { return configManager.getConfig(LoginScreenConfig.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (!this.syncUsername) { @@ -131,8 +144,7 @@ public class LoginScreenPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onSessionOpen(SessionOpen event) + private void onSessionOpen(SessionOpen event) { // configuation for the account is available now, so update the username applyUsername(); @@ -230,8 +242,7 @@ public class LoginScreenPlugin extends Plugin implements KeyListener } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("loginscreen")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java index b896912eec..4e5215656a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java @@ -9,7 +9,7 @@ import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -26,34 +26,45 @@ import net.runelite.client.ui.overlay.OverlayManager; public class LootAssistPlugin extends Plugin { @Inject - OverlayManager overlayManager; + private OverlayManager overlayManager; @Inject - LootAssistOverlay lootAssistOverlay; + private LootAssistOverlay lootAssistOverlay; + + @Inject + private EventBus eventBus; static final ConcurrentHashMap lootPiles = new ConcurrentHashMap<>(); @Override protected void startUp() throws Exception { + addSubscriptions(); + overlayManager.add(lootAssistOverlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + lootPiles.clear(); overlayManager.remove(lootAssistOverlay); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onGameStateChanged(GameStateChanged event) { lootPiles.clear(); } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { final Actor actor = event.getActor(); if (actor.getAnimation() == AnimationID.DEATH && actor instanceof Player) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java index a0e3591dbf..b7ec37c10b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -80,6 +80,9 @@ public class LootingBagViewerPlugin extends Plugin @Inject private LootingBagViewerConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE) private int valueToShow = -1; @@ -93,6 +96,8 @@ public class LootingBagViewerPlugin extends Plugin @Override public void startUp() { + addSubscriptions(); + if (config.renderViewer()) { overlayManager.add(overlay); @@ -107,12 +112,19 @@ public class LootingBagViewerPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(widgetOverlay); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + } + + private void onConfigChanged(ConfigChanged configChanged) { if (configChanged.getKey().equals("renderViewer")) { @@ -142,8 +154,7 @@ public class LootingBagViewerPlugin extends Plugin /** * @param widgetHiddenChanged */ - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) + private void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) { Widget widget = widgetHiddenChanged.getWidget(); if (widget.getParentId() == 5308416 && !widget.isHidden()) 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 fee4f7049c..3344305fa3 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 @@ -91,7 +91,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.NpcLootReceived; import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.events.SessionClose; @@ -167,6 +167,8 @@ public class LootTrackerPlugin extends Plugin private SessionManager sessionManager; @Inject private ScheduledExecutorService executor; + @Inject + private EventBus eventBus; private LootTrackerPanel panel; private NavigationButton navButton; private String eventType; @@ -232,8 +234,7 @@ public class LootTrackerPlugin extends Plugin return configManager.getConfig(LootTrackerConfig.class); } - @Subscribe - public void onSessionOpen(SessionOpen sessionOpen) + private void onSessionOpen(SessionOpen sessionOpen) { AccountSession accountSession = sessionManager.getAccountSession(); if (accountSession.getUuid() != null) @@ -246,14 +247,12 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onSessionClose(SessionClose sessionClose) + private void onSessionClose(SessionClose sessionClose) { lootTrackerClient = null; } - @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath event) + private void onLocalPlayerDeath(LocalPlayerDeath event) { if (client.getVar(Varbits.IN_WILDERNESS) == 1 || WorldType.isPvpWorld(client.getWorldType())) { @@ -262,8 +261,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("loottracker")) { @@ -291,6 +289,8 @@ public class LootTrackerPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + ignoredItems = Text.fromCSV(config.getIgnoredItems()); ignoredNPCs = Text.fromCSV(config.getIgnoredNPCs()); updateConfig(); @@ -377,14 +377,30 @@ public class LootTrackerPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + clientToolbar.removeNavigation(navButton); lootTrackerClient = null; lootRecords = new ArrayList<>(); chestLooted = false; } - @Subscribe - public void onGameStateChanged(final GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + eventBus.subscribe(SessionClose.class, this, this::onSessionClose); + eventBus.subscribe(LocalPlayerDeath.class, this, this::onLocalPlayerDeath); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcLootReceived.class, this, this::onNpcLootReceived); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + eventBus.subscribe(PlayerLootReceived.class, this, this::onPlayerLootReceived); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + } + + private void onGameStateChanged(final GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -392,8 +408,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onNpcLootReceived(final NpcLootReceived npcLootReceived) + private void onNpcLootReceived(final NpcLootReceived npcLootReceived) { final NPC npc = npcLootReceived.getNpc(); final Collection items = npcLootReceived.getItems(); @@ -435,8 +450,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onPlayerSpawned(PlayerSpawned event) + private void onPlayerSpawned(PlayerSpawned event) { if (event.getPlayer().equals(client.getLocalPlayer())) { @@ -444,8 +458,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) + private void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) { if (this.sendLootValueMessages) { @@ -479,8 +492,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { final ItemContainer container; switch (event.getGroupId()) @@ -582,8 +594,7 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM) { @@ -643,7 +654,6 @@ public class LootTrackerPlugin extends Plugin } } - @Subscribe public void onItemContainerChanged(ItemContainerChanged event) { if (pvpDeath && RESPAWN_REGIONS.contains(client.getLocalPlayer().getWorldLocation().getRegionID())) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java index 589ac4e202..14047a43b3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lowmemory/LowMemoryPlugin.java @@ -29,7 +29,7 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -45,9 +45,14 @@ public class LowMemoryPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + if (client.getGameState() == GameState.LOGGED_IN) { client.changeMemoryMode(true); @@ -57,10 +62,11 @@ public class LowMemoryPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + client.changeMemoryMode(false); } - @Subscribe private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java index b711aa37a5..f525c6ff8e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -56,20 +56,39 @@ public class MaxHitPlugin extends Plugin @Inject private Client client; - @Subscribe - public void onItemContainerChanged(final ItemContainerChanged event) + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + addSubscriptions(); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + + private void onItemContainerChanged(final ItemContainerChanged event) { this.updateMaxHitWidget(); } - @Subscribe - public void onConfigChanged(final ConfigChanged event) + private void onConfigChanged(final ConfigChanged event) { this.updateMaxHitWidget(); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { this.updateMaxHitWidget(); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index a57d514bef..04a70425c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -70,7 +70,7 @@ import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemVariationMapping; import net.runelite.client.input.KeyManager; @@ -185,6 +185,9 @@ public class MenuEntrySwapperPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean configuringShiftClick = false; @@ -325,6 +328,8 @@ public class MenuEntrySwapperPlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); + addSwaps(); loadConstructionItems(config.getEasyConstructionItems()); client.setHideFriendCastOptions(config.getRemoveFreezePlayerToB()); @@ -341,6 +346,8 @@ public class MenuEntrySwapperPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + client.setHideFriendCastOptions(false); disableCustomization(); loadConstructionItems(""); @@ -348,8 +355,20 @@ public class MenuEntrySwapperPlugin extends Plugin removeSwaps(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(MenuOpened.class, this, this::onMenuOpened); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(PostItemDefinition.class, this, this::onPostItemDefinition); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (!"menuentryswapper".equals(event.getGroup())) { @@ -450,8 +469,7 @@ public class MenuEntrySwapperPlugin extends Plugin clientThread.invoke(this::resetItemDefinitionCache); } - @Subscribe - public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) + private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) { if (event.getWidget() == WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB || event.getWidget() == WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB @@ -462,8 +480,7 @@ public class MenuEntrySwapperPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -473,14 +490,12 @@ public class MenuEntrySwapperPlugin extends Plugin loadConstructionItems(this.getEasyConstructionItems); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { buildingMode = client.getVar(BUILDING_MODE) == 1; } - @Subscribe - public void onMenuOpened(MenuOpened event) + private void onMenuOpened(MenuOpened event) { Player localPlayer = client.getLocalPlayer(); @@ -632,8 +647,7 @@ public class MenuEntrySwapperPlugin extends Plugin client.setMenuEntries(ArrayUtils.addAll(entries, resetShiftClickEntry)); } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (event.getMenuAction() != MenuAction.RUNELITE || event.getActionParam1() != WidgetInfo.INVENTORY.getId()) { @@ -689,7 +703,6 @@ public class MenuEntrySwapperPlugin extends Plugin } } - @Subscribe public void onMenuEntryAdded(MenuEntryAdded event) { if (client.getGameState() != GameState.LOGGED_IN) @@ -1388,8 +1401,7 @@ public class MenuEntrySwapperPlugin extends Plugin } } - @Subscribe - public void onPostItemDefinition(PostItemDefinition event) + private void onPostItemDefinition(PostItemDefinition event) { ItemDefinition itemComposition = event.getItemDefinition(); Integer option = getSwapConfig(itemComposition.getId()); @@ -1400,8 +1412,7 @@ public class MenuEntrySwapperPlugin extends Plugin } } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void onFocusChanged(FocusChanged event) { if (!event.isFocused()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java index b0d9e42f3f..bd19159ca6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.SoundEffectID; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -63,6 +63,9 @@ public class MetronomePlugin extends Plugin @Inject private MetronomePluginConfiguration config; + @Inject + private EventBus eventBus; + private int tickCounter = 0; private int tockCounter = 0; private Clip tickClip; @@ -111,6 +114,7 @@ public class MetronomePlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); tickClip = GetAudioClip(this.tickPath); tockClip = GetAudioClip(this.tockPath); @@ -119,6 +123,8 @@ public class MetronomePlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + if (tickClip != null) { tickClip.close(); @@ -129,8 +135,13 @@ public class MetronomePlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("metronome")) { @@ -166,8 +177,7 @@ public class MetronomePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { if (this.tickCount == 0) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java index 205e67d03e..d71938b5e3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -58,6 +58,9 @@ public class MinimapPlugin extends Plugin @Inject private MinimapConfig config; + @Inject + private EventBus eventBus; + private Sprite[] originalDotSprites; private Color itemColor; @@ -78,6 +81,7 @@ public class MinimapPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); updateMinimapWidgetVisibility(this.hideMinimap); storeOriginalDots(); @@ -87,12 +91,20 @@ public class MinimapPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + updateMinimapWidgetVisibility(false); restoreOriginalDots(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN && originalDotSprites == null) { @@ -101,8 +113,7 @@ public class MinimapPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("minimap")) { @@ -120,8 +131,7 @@ public class MinimapPlugin extends Plugin replaceMapDots(); } - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + private void onWidgetHiddenChanged(WidgetHiddenChanged event) { updateMinimapWidgetVisibility(this.hideMinimap); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java index 0c4c220d3d..4460e8a970 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java @@ -66,7 +66,7 @@ import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -108,6 +108,9 @@ public class MiningPlugin extends Plugin @Inject private MiningConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final List respawns = new ArrayList<>(); private boolean recentlyLoggedIn; @@ -120,6 +123,8 @@ public class MiningPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + this.showCoalBagOverlay = config.showCoalBagOverlay(); this.amountOfCoalInCoalBag = config.amountOfCoalInCoalBag(); @@ -130,19 +135,30 @@ public class MiningPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(miningOverlay); overlayManager.remove(coalBagOverlay); respawns.clear(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + @Provides MiningConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(MiningConfig.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -159,14 +175,12 @@ public class MiningPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { recentlyLoggedIn = false; } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { if (client.getGameState() != GameState.LOGGED_IN || recentlyLoggedIn) { @@ -183,8 +197,7 @@ public class MiningPlugin extends Plugin } } - @Subscribe - public void onWallObjectSpawned(WallObjectSpawned event) + private void onWallObjectSpawned(WallObjectSpawned event) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -225,8 +238,7 @@ public class MiningPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { //TODO: should work hopefully if (event.getMenuAction() != MenuAction.RUNELITE || event.getActionParam1() != WidgetInfo.INVENTORY.getId()) @@ -256,8 +268,7 @@ public class MiningPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE) { @@ -303,8 +314,7 @@ public class MiningPlugin extends Plugin return client.getLocalPlayer().getWorldLocation().getRegionID() == MINING_GUILD_REGION; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("mining")) { 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 e330124512..e7676dec74 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 @@ -105,7 +105,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -169,6 +169,9 @@ public class MotherlodePlugin extends Plugin @Inject private Notifier notifier; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean inMlm; @@ -230,6 +233,7 @@ public class MotherlodePlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(rocksOverlay); @@ -248,6 +252,8 @@ public class MotherlodePlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(rocksOverlay); overlayManager.remove(motherlodeGemOverlay); @@ -267,8 +273,27 @@ public class MotherlodePlugin extends Plugin }); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(WallObjectChanged.class, this, this::onWallObjectChanged); + eventBus.subscribe(WallObjectDespawned.class, this, this::onWallObjectDespawned); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(OverheadTextChanged.class, this, this::onOverheadTextChanged); + } + + private void onVarbitChanged(VarbitChanged event) { if (inMlm) { @@ -290,8 +315,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (!inMlm || event.getType() != ChatMessageType.SPAM) { @@ -354,8 +378,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked menu) + private void onMenuOptionClicked(MenuOptionClicked menu) { if (!inMlm) { @@ -371,8 +394,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!inMlm) { @@ -404,8 +426,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onAnimationChanged (AnimationChanged event) + private void onAnimationChanged (AnimationChanged event) { if (!inMlm) { @@ -472,8 +493,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (!inMlm || targetVeinLocation == null) { @@ -509,8 +529,7 @@ public class MotherlodePlugin extends Plugin notifier.notify(client.getLocalPlayer().getName() + " has stopped mining!"); } - @Subscribe - public void onWallObjectSpawned(WallObjectSpawned event) + private void onWallObjectSpawned(WallObjectSpawned event) { if (!inMlm) { @@ -531,8 +550,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onWallObjectChanged(WallObjectChanged event) + private void onWallObjectChanged(WallObjectChanged event) { if (!inMlm) { @@ -549,8 +567,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onWallObjectDespawned(WallObjectDespawned event) + private void onWallObjectDespawned(WallObjectDespawned event) { if (!inMlm) { @@ -561,8 +578,7 @@ public class MotherlodePlugin extends Plugin veins.remove(wallObject); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { if (!inMlm) { @@ -576,8 +592,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { if (!inMlm) { @@ -595,8 +610,7 @@ public class MotherlodePlugin extends Plugin } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { if (!inMlm) { @@ -607,8 +621,7 @@ public class MotherlodePlugin extends Plugin rocks.remove(gameObject); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -625,8 +638,7 @@ public class MotherlodePlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { final ItemContainer container = event.getItemContainer(); @@ -735,8 +747,7 @@ public class MotherlodePlugin extends Plugin return Perspective.getTileHeight(client, localPoint, 0) < UPPER_FLOOR_HEIGHT; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("motherlode")) { @@ -762,7 +773,6 @@ public class MotherlodePlugin extends Plugin this.payDirtMsg = config.payDirtMsg(); } - @Subscribe private void onOverheadTextChanged(OverheadTextChanged event) { if (!payDirtMsg || Strings.isNullOrEmpty(event.getOverheadText()) || !(event.getActor() instanceof NPC)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java index ded370e957..aedf4adf95 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -63,6 +63,9 @@ public class MouseHighlightPlugin extends Plugin @Inject private MouseHighlightOverlay overlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean mainTooltip; @Getter(AccessLevel.PACKAGE) @@ -84,6 +87,7 @@ public class MouseHighlightPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); adjustTips(); overlayManager.add(overlay); @@ -92,12 +96,21 @@ public class MouseHighlightPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + resetTips(); overlayManager.remove(overlay); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -105,8 +118,7 @@ public class MouseHighlightPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.SPELLBOOK_GROUP_ID || event.getGroupId() == WidgetID.COMBAT_GROUP_ID) { @@ -114,8 +126,7 @@ public class MouseHighlightPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { adjustTips(); } @@ -168,8 +179,7 @@ public class MouseHighlightPlugin extends Plugin widget.setHidden(hidden); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("motherlode")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/MTAPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/MTAPlugin.java index 0350579ae3..a5531dbcde 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/MTAPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/MTAPlugin.java @@ -31,7 +31,6 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.EventBusImplementation; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.mta.alchemy.AlchemyRoom; @@ -61,7 +60,7 @@ public class MTAPlugin extends Plugin private EnchantmentRoom enchantmentRoom; @Inject - private EventBusImplementation eventBus; + private EventBus eventBus; @Inject private MTASceneOverlay sceneOverlay; @Inject @@ -83,11 +82,6 @@ public class MTAPlugin extends Plugin overlayManager.add(inventoryOverlay); this.rooms = new MTARoom[]{alchemyRoom, graveyardRoom, telekineticRoom, enchantmentRoom}; - - for (MTARoom room : rooms) - { - // eventBus.register(room); - } } @Override @@ -98,10 +92,9 @@ public class MTAPlugin extends Plugin for (MTARoom room : rooms) { - // eventBus.unregister(room); + eventBus.unregister(room); } telekineticRoom.resetRoom(); } - } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java index 186497182f..98f129bb61 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java @@ -51,7 +51,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTAPlugin; @@ -79,6 +79,7 @@ public class AlchemyRoom extends MTARoom private final Client client; private final ItemManager itemManager; private final InfoBoxManager infoBoxManager; + private final EventBus eventBus; private AlchemyItem best; private Cupboard suggestion; @@ -86,19 +87,30 @@ public class AlchemyRoom extends MTARoom private boolean alchemy; @Inject - private AlchemyRoom(final Client client, final MTAConfig config, final MTAPlugin plugin, final ItemManager itemManager, final InfoBoxManager infoBoxManager) + private AlchemyRoom(final Client client, final MTAConfig config, final MTAPlugin plugin, final ItemManager itemManager, final InfoBoxManager infoBoxManager, final EventBus eventBus) { super(config); this.client = client; this.plugin = plugin; this.itemManager = itemManager; this.infoBoxManager = infoBoxManager; + this.eventBus = eventBus; this.alchemy = config.alchemy(); + + addSubscriptions(); } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onGameTick(GameTick event) { if (!inside() || !this.alchemy) { @@ -130,9 +142,7 @@ public class AlchemyRoom extends MTARoom } } - - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { if (!inside()) { @@ -203,8 +213,7 @@ public class AlchemyRoom extends MTARoom } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGGED_IN) { @@ -215,8 +224,7 @@ public class AlchemyRoom extends MTARoom } } - @Subscribe - public void onChatMessage(ChatMessage wrapper) + private void onChatMessage(ChatMessage wrapper) { if (!inside() || !config.alchemy()) { @@ -259,8 +267,7 @@ public class AlchemyRoom extends MTARoom } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("mta") || !event.getKey().equals("alchemy")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java index 40a46c332d..4e72118d6e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java @@ -40,7 +40,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemDespawned; import net.runelite.api.events.ItemSpawned; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTARoom; @@ -50,21 +50,33 @@ public class EnchantmentRoom extends MTARoom private static final int MTA_ENCHANT_REGION = 13462; private final Client client; + private final EventBus eventBus; private final List dragonstones = new ArrayList<>(); private boolean enchantment; @Inject - private EnchantmentRoom(final MTAConfig config, final Client client) + private EnchantmentRoom(final MTAConfig config, final Client client, final EventBus eventBus) { super(config); this.client = client; + this.eventBus = eventBus; this.enchantment = config.enchantment(); + + addSubscriptions(); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned); + eventBus.subscribe(ItemDespawned.class, this, this::onItemDespawned); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOADING) { @@ -72,8 +84,7 @@ public class EnchantmentRoom extends MTARoom } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!inside() || !this.enchantment) { @@ -108,8 +119,7 @@ public class EnchantmentRoom extends MTARoom return nearest; } - @Subscribe - public void onItemSpawned(ItemSpawned itemSpawned) + private void onItemSpawned(ItemSpawned itemSpawned) { final Item item = itemSpawned.getItem(); final Tile tile = itemSpawned.getTile(); @@ -122,8 +132,7 @@ public class EnchantmentRoom extends MTARoom } } - @Subscribe - public void onItemDespawned(ItemDespawned itemDespawned) + private void onItemDespawned(ItemDespawned itemDespawned) { final Item item = itemDespawned.getItem(); final Tile tile = itemDespawned.getTile(); @@ -136,8 +145,7 @@ public class EnchantmentRoom extends MTARoom } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("mta") || !event.getKey().equals("enchantment")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java index 5cfe0f16fa..901509a2b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java @@ -38,7 +38,7 @@ import net.runelite.api.Player; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTAPlugin; @@ -55,21 +55,32 @@ public class GraveyardRoom extends MTARoom private final MTAPlugin plugin; private final ItemManager itemManager; private final InfoBoxManager infoBoxManager; + private final EventBus eventBus; private GraveyardCounter counter; private boolean graveyard; @Inject - private GraveyardRoom(final MTAConfig config, final Client client, final MTAPlugin plugin, final ItemManager itemManager, final InfoBoxManager infoBoxManager) + private GraveyardRoom(final MTAConfig config, final Client client, final MTAPlugin plugin, final ItemManager itemManager, final InfoBoxManager infoBoxManager, final EventBus eventBus) { super(config); this.client = client; this.plugin = plugin; this.itemManager = itemManager; this.infoBoxManager = infoBoxManager; + this.eventBus = eventBus; this.graveyard = config.graveyard(); + + addSubscriptions(); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); } @Override @@ -80,8 +91,7 @@ public class GraveyardRoom extends MTARoom && player.getWorldLocation().getPlane() == 1; } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { if ((!inside() || !this.graveyard) && this.counter != null) { @@ -90,8 +100,7 @@ public class GraveyardRoom extends MTARoom } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (!inside()) { @@ -114,8 +123,7 @@ public class GraveyardRoom extends MTARoom } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("mta") || !event.getKey().equals("graveyard")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/telekinetic/TelekineticRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/telekinetic/TelekineticRoom.java index 40a1cb47b6..12e6d11603 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/telekinetic/TelekineticRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/telekinetic/TelekineticRoom.java @@ -52,14 +52,16 @@ import net.runelite.api.coords.Direction; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.GroundObjectSpawned; +import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.widgets.WidgetID; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTARoom; @@ -81,12 +83,26 @@ public class TelekineticRoom extends MTARoom private Rectangle bounds; private NPC guardian; private Maze maze; + private EventBus eventBus; @Inject - private TelekineticRoom(MTAConfig config, Client client) + private TelekineticRoom(MTAConfig config, Client client, EventBus eventBus) { super(config); this.client = client; + this.eventBus = eventBus; + + addSubscriptions(); + } + + private void addSubscriptions() + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); } public void resetRoom() @@ -95,7 +111,6 @@ public class TelekineticRoom extends MTARoom telekineticWalls.clear(); } - @Subscribe public void onWallObjectSpawned(WallObjectSpawned event) { final WallObject wall = event.getWallObject(); @@ -107,7 +122,6 @@ public class TelekineticRoom extends MTARoom telekineticWalls.add(wall); } - @Subscribe public void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) @@ -118,8 +132,7 @@ public class TelekineticRoom extends MTARoom } } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { final GroundObject object = event.getGroundObject(); if (object.getId() == TELEKINETIC_FINISH) @@ -128,8 +141,7 @@ public class TelekineticRoom extends MTARoom } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!config.telekinetic() || !inside() @@ -188,8 +200,7 @@ public class TelekineticRoom extends MTARoom } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { NPC npc = event.getNpc(); @@ -199,8 +210,7 @@ public class TelekineticRoom extends MTARoom } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { NPC npc = event.getNpc(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java index 9f6fb91f2b..337b9539b8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java @@ -51,7 +51,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.geometry.Geometry; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -86,6 +86,9 @@ public class MultiIndicatorsPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private GeneralPath[] multicombatPathToDisplay; @@ -130,6 +133,7 @@ public class MultiIndicatorsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(minimapOverlay); @@ -148,12 +152,20 @@ public class MultiIndicatorsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(minimapOverlay); uninitializePaths(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + private void initializePaths() { multicombatPathToDisplay = new GeneralPath[Constants.MAX_Z]; @@ -366,8 +378,7 @@ public class MultiIndicatorsPlugin extends Plugin return false; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("multiindicators")) { @@ -386,8 +397,7 @@ public class MultiIndicatorsPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/musicindicator/MusicIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/musicindicator/MusicIndicatorPlugin.java index 1974109215..36e872991a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/musicindicator/MusicIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/musicindicator/MusicIndicatorPlugin.java @@ -38,6 +38,7 @@ import net.runelite.api.Client; import net.runelite.api.EnumDefinition; import net.runelite.api.EnumID; import net.runelite.api.VarPlayer; +import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; @@ -45,7 +46,7 @@ import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -79,6 +80,9 @@ public class MusicIndicatorPlugin extends Plugin @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + // Mapping of relevant varps to their values, used to compare against new values private final Map musicTrackVarpValues = new HashMap<>(); @@ -87,17 +91,25 @@ public class MusicIndicatorPlugin extends Plugin @Override public void startUp() { + addSubscriptions(); loggingIn = true; } @Override public void shutDown() { + eventBus.unregister(this); musicTrackVarpValues.clear(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -109,8 +121,7 @@ public class MusicIndicatorPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (!loggingIn) { @@ -126,8 +137,7 @@ public class MusicIndicatorPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { int idx = event.getIndex(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java index 683666c2bc..715f9ee64a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java @@ -48,7 +48,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.plugins.Plugin; @@ -70,6 +70,9 @@ public class MusicListPlugin extends Plugin @Inject private ChatboxPanelManager chatboxPanelManager; + @Inject + private EventBus eventBus; + private ChatboxTextInput searchInput; private Widget musicSearchButton; @@ -82,12 +85,16 @@ public class MusicListPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + clientThread.invoke(this::addMusicButtons); } @Override protected void shutDown() { + eventBus.unregister(this); + Widget header = client.getWidget(WidgetInfo.MUSIC_WINDOW); if (header != null) { @@ -97,8 +104,14 @@ public class MusicListPlugin extends Plugin tracks = null; } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(VarClientIntChanged.class, this, this::onVarClientIntChanged); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) { @@ -108,8 +121,7 @@ public class MusicListPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + private void onWidgetLoaded(WidgetLoaded widgetLoaded) { if (widgetLoaded.getGroupId() == WidgetID.MUSIC_GROUP_ID) { @@ -160,8 +172,7 @@ public class MusicListPlugin extends Plugin musicFilterButton.revalidate(); } - @Subscribe - public void onVarClientIntChanged(VarClientIntChanged varClientIntChanged) + private void onVarClientIntChanged(VarClientIntChanged varClientIntChanged) { if (isChatboxOpen() && !isOnMusicTab()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java index 63fffe5396..9c32dabc51 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java @@ -41,7 +41,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -72,6 +72,9 @@ public class NightmareZonePlugin extends Plugin @Inject private NightmareZoneOverlay overlay; + @Inject + private EventBus eventBus; + // This starts as true since you need to get // above the threshold before sending notifications private boolean absorptionNotificationSend = true; @@ -97,6 +100,7 @@ public class NightmareZonePlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlay.removeAbsorptionCounter(); @@ -105,6 +109,8 @@ public class NightmareZonePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlay.removeAbsorptionCounter(); @@ -116,8 +122,14 @@ public class NightmareZonePlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("nightmareZone")) { @@ -134,8 +146,7 @@ public class NightmareZonePlugin extends Plugin return configManager.getConfig(NightmareZoneConfig.class); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (isNotInNightmareZone()) { @@ -153,8 +164,7 @@ public class NightmareZonePlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE || isNotInNightmareZone()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java index e765944fbd..4b5777c8fc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPlugin.java @@ -29,7 +29,7 @@ import java.awt.image.BufferedImage; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.SessionOpen; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -52,6 +52,9 @@ public class NotesPlugin extends Plugin @Inject private NotesConfig config; + @Inject + private EventBus eventBus; + private NotesPanel panel; private NavigationButton navButton; @@ -64,6 +67,8 @@ public class NotesPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen); + panel = injector.getInstance(NotesPanel.class); panel.init(config); @@ -82,11 +87,12 @@ public class NotesPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + clientToolbar.removeNavigation(navButton); } - @Subscribe - public void onSessionOpen(SessionOpen event) + private void onSessionOpen(SessionOpen event) { // update notes String data = config.notesData(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java index 18e9d4b38b..c4129f3007 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java @@ -47,7 +47,7 @@ import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -80,6 +80,9 @@ public class NpcStatusPlugin extends Plugin @Inject private NpcStatusOverlay npcStatusOverlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Set memorizedNPCs = new HashSet<>(); @@ -101,6 +104,8 @@ public class NpcStatusPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.getRange = config.getRange(); overlayManager.add(npcStatusOverlay); } @@ -108,12 +113,24 @@ public class NpcStatusPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(npcStatusOverlay); memorizedNPCs.clear(); } - @Subscribe - public void onNpcSpawned(NpcSpawned npcSpawned) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onNpcSpawned(NpcSpawned npcSpawned) { final NPC npc = npcSpawned.getNpc(); final String npcName = npc.getName(); @@ -130,15 +147,13 @@ public class NpcStatusPlugin extends Plugin memorizedNPCs.add(new MemorizedNPC(npc, AttackSpeed, npc.getWorldArea())); } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { final NPC npc = npcDespawned.getNpc(); memorizedNPCs.removeIf(c -> c.getNpc() == npc); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) @@ -147,8 +162,7 @@ public class NpcStatusPlugin extends Plugin } } - @Subscribe - public void onHitsplatApplied(HitsplatApplied event) + private void onHitsplatApplied(HitsplatApplied event) { if (event.getActor().getInteracting() != client.getLocalPlayer()) { @@ -181,8 +195,7 @@ public class NpcStatusPlugin extends Plugin } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged event) + private void onSpotAnimationChanged(SpotAnimationChanged event) { if ((event.getActor().getSpotAnimation() == GraphicID.SPLASH) && event.getActor() instanceof NPC) { @@ -272,15 +285,13 @@ public class NpcStatusPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { checkStatus(); lastPlayerLocation = client.getLocalPlayer().getWorldArea(); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (!configChanged.getGroup().equals("npcstatus")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java index 8e3cccd803..f4f78126c7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java @@ -58,7 +58,7 @@ import net.runelite.api.events.NpcSpawned; import net.runelite.api.geometry.Geometry; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -119,6 +119,9 @@ public class NpcAggroAreaPlugin extends Plugin @Inject private Notifier notifier; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final WorldPoint[] safeCenters = new WorldPoint[2]; @@ -160,6 +163,7 @@ public class NpcAggroAreaPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); if (this.showNotWorkingOverlay) @@ -175,6 +179,8 @@ public class NpcAggroAreaPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + removeTimer(); overlayManager.remove(overlay); if (notWorkingOverlayShown) @@ -192,6 +198,14 @@ public class NpcAggroAreaPlugin extends Plugin Arrays.fill(linesToDisplay, null); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + private Area generateSafeArea() { final Area area = new Area(); @@ -337,8 +351,7 @@ public class NpcAggroAreaPlugin extends Plugin checkAreaNpcs(client.getCachedNPCs()); } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (this.alwaysActive) { @@ -348,8 +361,7 @@ public class NpcAggroAreaPlugin extends Plugin checkAreaNpcs(event.getNpc()); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { WorldPoint newLocation = client.getLocalPlayer().getWorldLocation(); if (lastPlayerLocation != null && safeCenters[1] == null && newLocation.distanceTo2D(lastPlayerLocation) > SAFE_AREA_RADIUS * 4) @@ -388,8 +400,7 @@ public class NpcAggroAreaPlugin extends Plugin lastPlayerLocation = newLocation; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("npcUnaggroArea")) { @@ -479,8 +490,7 @@ public class NpcAggroAreaPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index e65b070674..4b1a5a223f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -73,6 +73,9 @@ public class OpponentInfoPlugin extends Plugin @Inject private PlayerComparisonOverlay playerComparisonOverlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private HiscoreEndpoint hiscoreEndpoint = HiscoreEndpoint.NORMAL; @@ -98,6 +101,7 @@ public class OpponentInfoPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(opponentInfoOverlay); overlayManager.add(playerComparisonOverlay); @@ -106,14 +110,23 @@ public class OpponentInfoPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + lastOpponent = null; lastTime = null; overlayManager.remove(opponentInfoOverlay); overlayManager.remove(playerComparisonOverlay); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() != GameState.LOGGED_IN) { @@ -139,8 +152,7 @@ public class OpponentInfoPlugin extends Plugin } } - @Subscribe - public void onInteractingChanged(InteractingChanged event) + private void onInteractingChanged(InteractingChanged event) { if (event.getSource() != client.getLocalPlayer()) { @@ -158,8 +170,7 @@ public class OpponentInfoPlugin extends Plugin lastOpponent = opponent; } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (lastOpponent != null && lastTime != null @@ -171,8 +182,7 @@ public class OpponentInfoPlugin extends Plugin } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("opponentinfo")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java index ac83ef69e1..738d1179ed 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java @@ -61,7 +61,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.events.PartyChanged; import net.runelite.client.input.KeyListener; @@ -126,6 +126,9 @@ public class PartyPlugin extends Plugin implements KeyListener @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + @Inject @Named("developerMode") boolean developerMode; @@ -158,6 +161,7 @@ public class PartyPlugin extends Plugin implements KeyListener protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(partyStatsOverlay); overlayManager.add(partyPingOverlay); @@ -171,6 +175,8 @@ public class PartyPlugin extends Plugin implements KeyListener @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + partyDataMap.clear(); pendingTilePings.clear(); worldMapManager.removeIf(PartyWorldMapPoint.class::isInstance); @@ -185,14 +191,30 @@ public class PartyPlugin extends Plugin implements KeyListener sendAlert = false; } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(TilePing.class, this, this::onTilePing); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(SkillUpdate.class, this, this::onSkillUpdate); + eventBus.subscribe(LocationUpdate.class, this, this::onLocationUpdate); + eventBus.subscribe(UserJoin.class, this, this::onUserJoin); + eventBus.subscribe(UserSync.class, this, this::onUserSync); + eventBus.subscribe(UserPart.class, this, this::onUserPart); + eventBus.subscribe(PartyChanged.class, this, this::onPartyChanged); + eventBus.subscribe(CommandExecuted.class, this, this::onCommandExecuted); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + @Provides public PartyConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(PartyConfig.class); } - @Subscribe - public void onOverlayMenuClicked(OverlayMenuClicked event) + private void onOverlayMenuClicked(OverlayMenuClicked event) { if (event.getEntry().getMenuAction() == MenuAction.RUNELITE_OVERLAY && event.getEntry().getTarget().equals("Party") && @@ -217,8 +239,7 @@ public class PartyPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (!hotkeyDown || client.isMenuOpen() || party.getMembers().isEmpty() || !this.pings) { @@ -257,8 +278,7 @@ public class PartyPlugin extends Plugin implements KeyListener wsClient.send(tilePing); } - @Subscribe - public void onTilePing(TilePing event) + private void onTilePing(TilePing event) { if (this.pings) { @@ -303,8 +323,7 @@ public class PartyPlugin extends Plugin implements KeyListener wsClient.send(locationUpdate); } - @Subscribe - public void onGameTick(final GameTick event) + private void onGameTick(final GameTick event) { if (sendAlert && client.getGameState() == GameState.LOGGED_IN) { @@ -349,8 +368,7 @@ public class PartyPlugin extends Plugin implements KeyListener lastPray = currentPrayer; } - @Subscribe - public void onSkillUpdate(final SkillUpdate event) + private void onSkillUpdate(final SkillUpdate event) { final PartyData partyData = getPartyData(event.getMemberId()); @@ -371,8 +389,7 @@ public class PartyPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onLocationUpdate(final LocationUpdate event) + private void onLocationUpdate(final LocationUpdate event) { final PartyData partyData = getPartyData(event.getMemberId()); @@ -384,8 +401,7 @@ public class PartyPlugin extends Plugin implements KeyListener partyData.getWorldMapPoint().setWorldPoint(event.getWorldPoint()); } - @Subscribe - public void onUserJoin(final UserJoin event) + private void onUserJoin(final UserJoin event) { final PartyData partyData = getPartyData(event.getMemberId()); @@ -413,8 +429,7 @@ public class PartyPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onUserSync(final UserSync event) + private void onUserSync(final UserSync event) { final int currentHealth = client.getBoostedSkillLevel(Skill.HITPOINTS); final int currentPrayer = client.getBoostedSkillLevel(Skill.PRAYER); @@ -434,8 +449,7 @@ public class PartyPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onUserPart(final UserPart event) + private void onUserPart(final UserPart event) { final PartyData removed = partyDataMap.remove(event.getMemberId()); @@ -459,8 +473,7 @@ public class PartyPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onPartyChanged(final PartyChanged event) + private void onPartyChanged(final PartyChanged event) { // Reset party partyDataMap.clear(); @@ -468,8 +481,7 @@ public class PartyPlugin extends Plugin implements KeyListener worldMapManager.removeIf(PartyWorldMapPoint.class::isInstance); } - @Subscribe - public void onCommandExecuted(CommandExecuted commandExecuted) + private void onCommandExecuted(CommandExecuted commandExecuted) { if (!developerMode || !commandExecuted.getCommand().equals("partyinfo")) { @@ -515,8 +527,7 @@ public class PartyPlugin extends Plugin implements KeyListener }); } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void onFocusChanged(FocusChanged event) { if (!event.isFocused()) { @@ -561,8 +572,7 @@ public class PartyPlugin extends Plugin implements KeyListener .build()); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("party")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java index 41fdfedfc6..b6bc491ce4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java @@ -52,7 +52,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.events.PartyChanged; import net.runelite.client.game.NPCManager; @@ -109,6 +109,9 @@ public class PerformanceStatsPlugin extends Plugin @Inject private WSClient wsClient; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean enabled = false; @Getter(AccessLevel.PACKAGE) @@ -138,6 +141,8 @@ public class PerformanceStatsPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + this.submitTimeout = config.submitTimeout(); overlayManager.add(performanceTrackerOverlay); @@ -147,14 +152,30 @@ public class PerformanceStatsPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(performanceTrackerOverlay); wsClient.unregisterMessage(Performance.class); disable(); reset(); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + eventBus.subscribe(Performance.class, this, this::onPerformance); + eventBus.subscribe(UserSync.class, this, this::onUserSync); + eventBus.subscribe(UserPart.class, this, this::onUserPart); + eventBus.subscribe(PartyChanged.class, this, this::onPartyChanged); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -167,8 +188,7 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onHitsplatApplied(HitsplatApplied e) + private void onHitsplatApplied(HitsplatApplied e) { if (isPaused()) { @@ -187,8 +207,7 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onExperienceChanged(ExperienceChanged c) + private void onExperienceChanged(ExperienceChanged c) { if (isPaused() || hopping) { @@ -223,8 +242,7 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent e) + private void onScriptCallbackEvent(ScriptCallbackEvent e) { // Handles Fake XP drops (Ironman in PvP, DMM Cap, 200m xp, etc) if (isPaused()) @@ -255,8 +273,7 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick t) + private void onGameTick(GameTick t) { oldTarget = client.getLocalPlayer().getInteracting(); @@ -295,8 +312,7 @@ public class PerformanceStatsPlugin extends Plugin sendPerformance(); } - @Subscribe - public void onOverlayMenuClicked(OverlayMenuClicked c) + private void onOverlayMenuClicked(OverlayMenuClicked c) { if (!c.getOverlay().equals(performanceTrackerOverlay)) { @@ -429,14 +445,12 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onPerformance(final Performance performance) + private void onPerformance(final Performance performance) { partyDataMap.put(performance.getMemberId(), performance); } - @Subscribe - public void onUserSync(final UserSync event) + private void onUserSync(final UserSync event) { if (isEnabled()) { @@ -444,21 +458,18 @@ public class PerformanceStatsPlugin extends Plugin } } - @Subscribe - public void onUserPart(final UserPart event) + private void onUserPart(final UserPart event) { partyDataMap.remove(event.getMemberId()); } - @Subscribe - public void onPartyChanged(final PartyChanged event) + private void onPartyChanged(final PartyChanged event) { // Reset party partyDataMap.clear(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("performancestats")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java index 3329f6f520..c178ffb901 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java @@ -58,7 +58,7 @@ import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -132,6 +132,9 @@ public class PestControlPlugin extends Plugin @Inject private PortalWeaknessOverlay portalWeaknessOverlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Game game; @@ -185,17 +188,33 @@ public class PestControlPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); loadPlugin(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); unloadPlugin(); } - @Subscribe - public void onConfigChanged(ConfigChanged configEvent) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(GroundObjectChanged.class, this, this::onGroundObjectChanged); + eventBus.subscribe(GroundObjectDespawned.class, this, this::onGroundObjectDespawned); + } + + private void onConfigChanged(ConfigChanged configEvent) { if (configEvent.getGroup().equals("pestcontrol")) { @@ -341,7 +360,6 @@ public class PestControlPlugin extends Plugin } } - @Subscribe public void onGameStateChanged(GameStateChanged event) { // LOGGED_IN also triggers when teleporting to the island @@ -486,8 +504,7 @@ public class PestControlPlugin extends Plugin handlePointsInfoboxCounter(); } - @Subscribe - public void onGameTick(GameTick gameTickEvent) + private void onGameTick(GameTick gameTickEvent) { // Check for widgets on main island if (game == null && isOnPestControlMainIsland()) @@ -551,8 +568,7 @@ public class PestControlPlugin extends Plugin game.onGameTick(gameTickEvent); } - @Subscribe - public void onChatMessage(ChatMessage chatMessage) + private void onChatMessage(ChatMessage chatMessage) { if (game != null && chatMessage.getType() == ChatMessageType.GAMEMESSAGE) { @@ -564,8 +580,7 @@ public class PestControlPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (game != null) { @@ -640,40 +655,34 @@ public class PestControlPlugin extends Plugin } } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { handleTileObject(event.getTile(), event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { unlistTileObject(event.getPrevious()); handleTileObject(event.getTile(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { unlistTileObject(event.getGameObject()); } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { handleTileObject(event.getTile(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) + private void onGroundObjectChanged(GroundObjectChanged event) { unlistTileObject(event.getPrevious()); handleTileObject(event.getTile(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) + private void onGroundObjectDespawned(GroundObjectDespawned event) { unlistTileObject(event.getGroundObject()); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java index 50e04c26ee..cd90a63b47 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.Player; import net.runelite.api.Varbits; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -71,6 +71,9 @@ public class PileIndicatorsPlugin extends Plugin @Inject private PileIndicatorsOverlay overlay; + @Inject + private EventBus eventBus; + private boolean enablePlayers; private boolean wildyOnlyPlayer; private Color playerPileColor; @@ -95,12 +98,16 @@ public class PileIndicatorsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(overlay); } @@ -196,8 +203,7 @@ public class PileIndicatorsPlugin extends Plugin return pileType; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("pileindicators")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java index a883d18e77..82c5e42bfa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java @@ -57,7 +57,7 @@ import net.runelite.api.events.ClanMemberLeft; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ClanManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -94,6 +94,9 @@ public class PlayerIndicatorsPlugin extends Plugin @Inject private ClanManager clanManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean highlightOwnPlayer; @Getter(AccessLevel.PACKAGE) @@ -162,6 +165,7 @@ public class PlayerIndicatorsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(playerIndicatorsOverlay); overlayManager.add(playerIndicatorsTileOverlay); @@ -172,15 +176,24 @@ public class PlayerIndicatorsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(playerIndicatorsOverlay); overlayManager.remove(playerIndicatorsTileOverlay); overlayManager.remove(playerIndicatorsMinimapOverlay); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ClanMemberJoined.class, this, this::onClanMemberJoined); + eventBus.subscribe(ClanMemberLeft.class, this, this::onClanMemberLeft); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + private List callers = new ArrayList<>(); - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("playerindicators")) { @@ -195,14 +208,12 @@ public class PlayerIndicatorsPlugin extends Plugin } } - @Subscribe - public void onClanMemberJoined(ClanMemberJoined event) + private void onClanMemberJoined(ClanMemberJoined event) { getCallerList(); } - @Subscribe - public void onClanMemberLeft(ClanMemberLeft event) + private void onClanMemberLeft(ClanMemberLeft event) { getCallerList(); } @@ -250,9 +261,7 @@ public class PlayerIndicatorsPlugin extends Plugin return false; } - - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded menuEntryAdded) + private void onMenuEntryAdded(MenuEntryAdded menuEntryAdded) { int type = menuEntryAdded.getType(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pluginsorter/PluginSorterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pluginsorter/PluginSorterPlugin.java index c2f09c8371..2be385662d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pluginsorter/PluginSorterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pluginsorter/PluginSorterPlugin.java @@ -33,7 +33,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.PluginChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -56,6 +56,9 @@ public class PluginSorterPlugin extends Plugin @Inject private PluginSorterConfig config; + @Inject + private EventBus eventBus; + private boolean hidePlugins; private Color externalColor; private Color pvmColor; @@ -73,17 +76,24 @@ public class PluginSorterPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + updateColors(); } @Override protected void shutDown() throws Exception { - + eventBus.unregister(this); } - @Subscribe - public void onPluginChanged(PluginChanged pluginChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(PluginChanged.class, this, this::onPluginChanged); + } + + private void onPluginChanged(PluginChanged pluginChanged) { validatePlugins(); } @@ -102,8 +112,7 @@ public class PluginSorterPlugin extends Plugin updateColors(); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (!configChanged.getGroup().equals("pluginsorter")) { 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 c71bfad61e..4592608dc9 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 @@ -57,7 +57,7 @@ import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.HiscoreManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -105,6 +105,9 @@ public class PohPlugin extends Plugin @Inject private BurnerOverlay burnerOverlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean showPortals; @Getter(AccessLevel.PACKAGE) @@ -142,6 +145,7 @@ public class PohPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(burnerOverlay); @@ -151,14 +155,26 @@ public class PohPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(burnerOverlay); pohObjects.clear(); incenseBurners.clear(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(DecorativeObjectSpawned.class, this, this::onDecorativeObjectSpawned); + eventBus.subscribe(DecorativeObjectDespawned.class, this, this::onDecorativeObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("poh")) { @@ -170,8 +186,7 @@ public class PohPlugin extends Plugin overlay.updateConfig(); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { final GameObject gameObject = event.getGameObject(); @@ -190,15 +205,13 @@ public class PohPlugin extends Plugin incenseBurners.put(event.getTile(), new IncenseBurner(gameObject.getId(), countdownTimer, randomTimer, null)); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { GameObject gameObject = event.getGameObject(); pohObjects.remove(gameObject); } - @Subscribe - public void onDecorativeObjectSpawned(DecorativeObjectSpawned event) + private void onDecorativeObjectSpawned(DecorativeObjectSpawned event) { DecorativeObject decorativeObject = event.getDecorativeObject(); if (PohIcons.getIcon(decorativeObject.getId()) != null) @@ -207,15 +220,13 @@ public class PohPlugin extends Plugin } } - @Subscribe - public void onDecorativeObjectDespawned(DecorativeObjectDespawned event) + private void onDecorativeObjectDespawned(DecorativeObjectDespawned event) { DecorativeObject decorativeObject = event.getDecorativeObject(); pohObjects.remove(decorativeObject); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { @@ -224,8 +235,7 @@ public class PohPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { final Actor actor = event.getActor(); final String actorName = actor.getName(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java index ef0a03b5e8..a492797b2d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java @@ -55,7 +55,7 @@ import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -114,6 +114,9 @@ public class PoisonPlugin extends Plugin @Inject private PoisonActorOverlay actorOverlay; + @Inject + private EventBus eventBus; + @Getter private int lastDamage; @@ -144,6 +147,7 @@ public class PoisonPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); actorOverlay.setFontSize(this.fontSize); overlayManager.add(poisonOverlay); @@ -162,6 +166,8 @@ public class PoisonPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(poisonOverlay); if (infobox != null) @@ -180,8 +186,17 @@ public class PoisonPlugin extends Plugin clientThread.invoke(this::resetHealthIcon); } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + } + + private void onVarbitChanged(VarbitChanged event) { final int poisonValue = client.getVar(VarPlayer.POISON); if (poisonValue != lastValue) @@ -229,7 +244,6 @@ public class PoisonPlugin extends Plugin } } - @Subscribe private void onHitsplatApplied(HitsplatApplied event) { Hitsplat.HitsplatType type = event.getHitsplat().getHitsplatType(); @@ -294,7 +308,6 @@ public class PoisonPlugin extends Plugin info.setLastDamageTick(tickCount); } - @Subscribe private void onGameTick(GameTick event) { int tickCount = client.getTickCount(); @@ -303,20 +316,17 @@ public class PoisonPlugin extends Plugin poisonedActors.values().removeIf(info -> info.getLastDamageTick() + POISON_TICK_TICKS + 5 < tickCount); } - @Subscribe private void onNpcDespawned(NpcDespawned event) { poisonedActors.remove(event.getNpc()); } - @Subscribe private void onPlayerDespawned(PlayerDespawned event) { poisonedActors.remove(event.getPlayer()); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals(PoisonConfig.GROUP)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java index 6e40c5ebe9..4e3ce27162 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java @@ -49,7 +49,7 @@ import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -103,6 +103,9 @@ public class PrayAgainstPlayerPlugin extends Plugin @Inject private PrayAgainstPlayerConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Color attackerPlayerColor; @Getter(AccessLevel.PACKAGE) @@ -140,8 +143,7 @@ public class PrayAgainstPlayerPlugin extends Plugin return configManager.getConfig(PrayAgainstPlayerConfig.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGGED_IN) { @@ -153,6 +155,7 @@ public class PrayAgainstPlayerPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); potentialPlayersAttackingMe = new ArrayList<>(); playersAttackingMe = new ArrayList<>(); @@ -163,12 +166,23 @@ public class PrayAgainstPlayerPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(overlayPrayerTab); } - @Subscribe - protected void onAnimationChanged(AnimationChanged animationChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + } + + private void onAnimationChanged(AnimationChanged animationChanged) { if ((animationChanged.getActor() instanceof Player) && (animationChanged.getActor().getInteracting() instanceof Player) && (animationChanged.getActor().getInteracting() == client.getLocalPlayer())) { @@ -206,8 +220,7 @@ public class PrayAgainstPlayerPlugin extends Plugin } } - @Subscribe - protected void onInteractingChanged(InteractingChanged interactingChanged) + private void onInteractingChanged(InteractingChanged interactingChanged) { // if someone interacts with you, add them to the potential attackers list if ((interactingChanged.getSource() instanceof Player) && (interactingChanged.getTarget() instanceof Player)) @@ -233,8 +246,7 @@ public class PrayAgainstPlayerPlugin extends Plugin } } - @Subscribe - protected void onPlayerDespawned(PlayerDespawned playerDespawned) + private void onPlayerDespawned(PlayerDespawned playerDespawned) { PlayerContainer container = findPlayerInAttackerList(playerDespawned.getPlayer()); PlayerContainer container2 = findPlayerInPotentialList(playerDespawned.getPlayer()); @@ -248,8 +260,7 @@ public class PrayAgainstPlayerPlugin extends Plugin } } - @Subscribe - protected void onPlayerSpawned(PlayerSpawned playerSpawned) + private void onPlayerSpawned(PlayerSpawned playerSpawned) { if (this.markNewPlayer) { @@ -414,8 +425,7 @@ public class PrayAgainstPlayerPlugin extends Plugin return null; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("prayagainstplayer")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java index 1dae89f203..e51e988f52 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -88,6 +88,9 @@ public class PrayerPlugin extends Plugin @Inject private PrayerConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private PrayerFlickLocation prayerFlickLocation; @Getter(AccessLevel.PACKAGE) @@ -115,6 +118,8 @@ public class PrayerPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); + overlayManager.add(flickOverlay); overlayManager.add(doseOverlay); overlayManager.add(barOverlay); @@ -123,13 +128,21 @@ public class PrayerPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(flickOverlay); overlayManager.remove(doseOverlay); overlayManager.remove(barOverlay); removeIndicators(); } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("prayer")) @@ -146,8 +159,7 @@ public class PrayerPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(final ItemContainerChanged event) + private void onItemContainerChanged(final ItemContainerChanged event) { final ItemContainer container = event.getItemContainer(); final ItemContainer inventory = client.getItemContainer(InventoryID.INVENTORY); @@ -172,8 +184,7 @@ public class PrayerPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { prayersActive = isAnyPrayerActive(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java index edba3b0550..1293327e03 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java @@ -23,7 +23,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -48,6 +48,9 @@ public class PrayerAlertPlugin extends Plugin @Inject private PrayerAlertConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean alwaysShowAlert; @Getter(AccessLevel.PACKAGE) @@ -65,16 +68,19 @@ public class PrayerAlertPlugin extends Plugin this.alwaysShowAlert = config.alwaysShowAlert(); this.oldRenderMode = config.oldRenderMode(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("prayeralert")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java index b79187fa6a..ea5e87587a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -51,6 +51,9 @@ public class ProfilesPlugin extends Plugin @Inject private ClientToolbar clientToolbar; + @Inject + private EventBus eventBus; + private ProfilesPanel panel; private NavigationButton navButton; @@ -64,6 +67,8 @@ public class ProfilesPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + panel = injector.getInstance(ProfilesPanel.class); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "profiles_icon.png"); @@ -81,10 +86,11 @@ public class ProfilesPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + clientToolbar.removeNavigation(navButton); } - @Subscribe private void onConfigChanged(ConfigChanged event) throws Exception { if (event.getGroup().equals("profiles") && event.getKey().equals("rememberPassword")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java index 331a7a6205..d9c574f744 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java @@ -51,7 +51,7 @@ import static net.runelite.api.widgets.WidgetInfo.LIGHT_BOX_BUTTON_G; import static net.runelite.api.widgets.WidgetInfo.LIGHT_BOX_BUTTON_H; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.puzzlesolver.lightbox.Combination; @@ -86,6 +86,9 @@ public class PuzzleSolverPlugin extends Plugin @Inject private PuzzleSolverConfig config; + @Inject + private EventBus eventBus; + private LightboxState lightbox; private final LightboxState[] changes = new LightboxState[LightBox.COMBINATIONS_POWER]; private Combination lastClick; @@ -102,23 +105,34 @@ public class PuzzleSolverPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + @Provides PuzzleSolverConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(PuzzleSolverConfig.class); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded widget) + private void onWidgetLoaded(WidgetLoaded widget) { if (widget.getGroupId() != WidgetID.VARROCK_MUSEUM_QUIZ_GROUP_ID) { @@ -151,8 +165,7 @@ public class PuzzleSolverPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked menuOptionClicked) + private void onMenuOptionClicked(MenuOptionClicked menuOptionClicked) { int widgetId = menuOptionClicked.getActionParam1(); if (TO_GROUP(widgetId) != WidgetID.LIGHT_BOX_GROUP_ID) @@ -208,7 +221,6 @@ public class PuzzleSolverPlugin extends Plugin } } - @Subscribe public void onGameTick(GameTick event) { Widget lightboxWidget = client.getWidget(WidgetInfo.LIGHT_BOX_CONTENTS); @@ -297,7 +309,6 @@ public class PuzzleSolverPlugin extends Plugin } } - @Subscribe private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("puzzlesolver")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java index b0b7d100f4..ad78cccd61 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.AsyncBufferedImage; import net.runelite.client.game.ItemManager; import net.runelite.client.input.KeyManager; @@ -97,6 +97,9 @@ public class PvpToolsPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + private final PvpToolsPlugin uhPvpToolsPlugin = this; /** @@ -235,6 +238,7 @@ public class PvpToolsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(pvpToolsOverlay); overlayManager.add(playerCountOverlay); @@ -274,6 +278,8 @@ public class PvpToolsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(pvpToolsOverlay); overlayManager.remove(playerCountOverlay); keyManager.unregisterKeyListener(fallinHotkeyListener); @@ -283,8 +289,16 @@ public class PvpToolsPlugin extends Plugin client.setHideFriendCastOptions(false); } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(PlayerSpawned.class, this, this::onPlayerSpawned); + eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); + } + + private void onConfigChanged(ConfigChanged configChanged) { if (!"pvptools".equals(configChanged.getGroup())) { @@ -347,8 +361,7 @@ public class PvpToolsPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer().equals(client.getItemContainer(InventoryID.INVENTORY)) && this.riskCalculatorEnabled) @@ -357,8 +370,7 @@ public class PvpToolsPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState().equals(GameState.LOGGED_IN) && this.riskCalculatorEnabled) { @@ -370,8 +382,7 @@ public class PvpToolsPlugin extends Plugin } } - @Subscribe - public void onPlayerSpawned(PlayerSpawned event) + private void onPlayerSpawned(PlayerSpawned event) { if (this.countPlayers && PvPUtil.isAttackable(client, event.getPlayer())) { @@ -383,8 +394,7 @@ public class PvpToolsPlugin extends Plugin } } - @Subscribe - public void onPlayerDespawned(PlayerDespawned event) + private void onPlayerDespawned(PlayerDespawned event) { if (this.countPlayers && PvPUtil.isAttackable(client, event.getPlayer())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java index f12911344c..0b9e4a09d0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java @@ -56,7 +56,7 @@ import net.runelite.api.events.WallObjectChanged; import net.runelite.api.events.WallObjectDespawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -120,6 +120,9 @@ public class PyramidPlunderPlugin extends Plugin @Inject private PyramidPlunderOverlay pyramidPlunderOverlay; + @Inject + private EventBus eventBus; + @Getter private boolean isInGame; @@ -147,18 +150,33 @@ public class PyramidPlunderPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(pyramidPlunderOverlay); highlighted.clear(); reset(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(WallObjectSpawned.class, this, this::onWallObjectSpawned); + eventBus.subscribe(WallObjectChanged.class, this, this::onWallObjectChanged); + eventBus.subscribe(WallObjectDespawned.class, this, this::onWallObjectDespawned); + } + + private void onConfigChanged(ConfigChanged event) { if (!"pyramidplunder".equals(event.getGroup())) { @@ -207,8 +225,7 @@ public class PyramidPlunderPlugin extends Plugin ); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -241,8 +258,7 @@ public class PyramidPlunderPlugin extends Plugin } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { int lastValue = pyramidTimer; pyramidTimer = client.getVar(Varbits.PYRAMID_PLUNDER_TIMER); @@ -276,38 +292,32 @@ public class PyramidPlunderPlugin extends Plugin removeTimer(); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { onTileObject(event.getTile(), null, event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { onTileObject(event.getTile(), event.getGameObject(), null); } - @Subscribe - public void onWallObjectSpawned(WallObjectSpawned event) + private void onWallObjectSpawned(WallObjectSpawned event) { onTileObject(event.getTile(), null, event.getWallObject()); } - @Subscribe - public void onWallObjectChanged(WallObjectChanged event) + private void onWallObjectChanged(WallObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getWallObject()); } - @Subscribe - public void onWallObjectDespawned(WallObjectDespawned event) + private void onWallObjectDespawned(WallObjectDespawned event) { onTileObject(event.getTile(), event.getWallObject(), null); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java index 2f0fb9b415..775d28179b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/questlist/QuestListPlugin.java @@ -53,7 +53,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.plugins.Plugin; @@ -87,6 +87,9 @@ public class QuestListPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + private ChatboxTextInput searchInput; private Widget questSearchButton; private Widget questHideButton; @@ -98,12 +101,15 @@ public class QuestListPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); clientThread.invoke(this::addQuestButtons); } @Override protected void shutDown() { + eventBus.unregister(this); + Widget header = client.getWidget(WidgetInfo.QUESTLIST_BOX); if (header != null) { @@ -111,8 +117,15 @@ public class QuestListPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged e) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(VarClientIntChanged.class, this, this::onVarClientIntChanged); + } + + private void onGameStateChanged(GameStateChanged e) { if (e.getGameState() == GameState.LOGGING_IN) { @@ -120,8 +133,7 @@ public class QuestListPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!event.getEventName().equals("questProgressUpdated")) { @@ -170,8 +182,7 @@ public class QuestListPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged varbitChanged) + private void onVarbitChanged(VarbitChanged varbitChanged) { if (isChatboxOpen() && isNotOnQuestTab()) { @@ -179,8 +190,7 @@ public class QuestListPlugin extends Plugin } } - @Subscribe - public void onVarClientIntChanged(VarClientIntChanged varClientIntChanged) + private void onVarClientIntChanged(VarClientIntChanged varClientIntChanged) { if (varClientIntChanged.getIndex() == VarClientInt.INVENTORY_TAB.getIndex() && isChatboxOpen() && isNotOnQuestTab()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 4866d91b1a..5b8081236d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -75,7 +75,7 @@ import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; @@ -195,6 +195,9 @@ public class RaidsPlugin extends Plugin @Getter(AccessLevel.NONE) @Inject private ItemManager itemManager; + @Getter(AccessLevel.NONE) + @Inject + private EventBus eventBus; private boolean raidStarted; private boolean inRaidChambers; private boolean enhanceScouterTitle; @@ -266,6 +269,7 @@ public class RaidsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(pointsOverlay); @@ -291,6 +295,8 @@ public class RaidsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(pointsOverlay); clientToolbar.removeNavigation(navButton); @@ -307,8 +313,17 @@ public class RaidsPlugin extends Plugin reset(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ClientTick.class, this, this::onClientTick); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("raids")) { @@ -339,8 +354,7 @@ public class RaidsPlugin extends Plugin clientThread.invokeLater(() -> checkRaidPresence(true)); } - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + private void onWidgetHiddenChanged(WidgetHiddenChanged event) { if (!inRaidChambers || event.isHidden()) { @@ -355,8 +369,7 @@ public class RaidsPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { checkRaidPresence(false); if (this.partyDisplay) @@ -365,8 +378,7 @@ public class RaidsPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (inRaidChambers && event.getType() == ChatMessageType.FRIENDSCHATNOTIFICATION) { @@ -498,8 +510,7 @@ public class RaidsPlugin extends Plugin } } - @Subscribe - public void onClientTick(ClientTick event) + private void onClientTick(ClientTick event) { if (!this.raidsTimer || !client.getGameState().equals(GameState.LOGGED_IN) @@ -515,8 +526,7 @@ public class RaidsPlugin extends Plugin } } - @Subscribe - public void onOverlayMenuClicked(OverlayMenuClicked event) + private void onOverlayMenuClicked(OverlayMenuClicked event) { OverlayMenuEntry entry = event.getEntry(); if (entry.getMenuAction() == MenuAction.RUNELITE_OVERLAY && diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java index b8bb023e98..8cba543dc3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java @@ -16,7 +16,7 @@ import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -39,6 +39,8 @@ public class ShortcutPlugin extends Plugin private ShortcutOverlay overlay; @Inject private ShortcutConfig config; + @Inject + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private boolean highlightShortcuts; @@ -57,6 +59,8 @@ public class ShortcutPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + this.highlightShortcuts = config.highlightShortcuts(); overlayManager.add(overlay); } @@ -64,11 +68,19 @@ public class ShortcutPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); overlayManager.remove(overlay); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameObjectSpawned(GameObjectSpawned event) { WorldPoint worldPoint = WorldPoint.fromLocalInstance(client, event.getGameObject().getLocalLocation()); if (worldPoint == null) @@ -81,20 +93,17 @@ public class ShortcutPlugin extends Plugin } } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { shortcut.remove(event.getGameObject()); } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { shortcut.removeIf(object -> object.getCanvasLocation() == null); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("shortcut")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java index 5df929535f..5a4f16fdb7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.events.GraphicsObjectCreated; import net.runelite.api.events.VarbitChanged; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -81,6 +81,9 @@ public class RaidsThievingPlugin extends Plugin @Inject private RaidsThievingConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Map chests = new HashMap<>(); @@ -115,6 +118,7 @@ public class RaidsThievingPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlay.updateConfig(); @@ -124,14 +128,22 @@ public class RaidsThievingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); lastActionTime = Instant.ofEpochMilli(0); chests.clear(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GraphicsObjectCreated.class, this, this::onGraphicsObjectCreated); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { GameObject obj = event.getGameObject(); WorldPoint loc = obj.getWorldLocation(); @@ -203,9 +215,7 @@ public class RaidsThievingPlugin extends Plugin } } - - @Subscribe - public void onGraphicsObjectCreated(GraphicsObjectCreated event) + private void onGraphicsObjectCreated(GraphicsObjectCreated event) { GraphicsObject obj = event.getGraphicsObject(); if (obj.getId() == 184) @@ -222,8 +232,7 @@ public class RaidsThievingPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { boolean setting = client.getVar(Varbits.IN_RAID) == 1; @@ -235,8 +244,7 @@ public class RaidsThievingPlugin extends Plugin } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("raidsthievingplugin")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java index deec5d3ec6..09baf49c33 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java @@ -48,7 +48,7 @@ import static net.runelite.api.widgets.WidgetConfig.DRAG_ON; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; import net.runelite.client.plugins.Plugin; @@ -181,6 +181,9 @@ public class ReorderPrayersPlugin extends Plugin @Inject private MenuManager menuManager; + @Inject + private EventBus eventBus; + private Prayer[] prayerOrder; static String prayerOrderToString(Prayer[] prayerOrder) @@ -221,6 +224,8 @@ public class ReorderPrayersPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + refreshPrayerTabOption(); prayerOrder = stringToPrayerOrder(config.prayerOrder()); reorderPrayers(); @@ -229,13 +234,23 @@ public class ReorderPrayersPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + clearPrayerTabMenus(); prayerOrder = Prayer.values(); reorderPrayers(false); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(DraggingWidgetChanged.class, this, this::onDraggingWidgetChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -243,8 +258,7 @@ public class ReorderPrayersPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals(CONFIG_GROUP_KEY)) { @@ -260,8 +274,7 @@ public class ReorderPrayersPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID) { @@ -269,8 +282,7 @@ public class ReorderPrayersPlugin extends Plugin } } - @Subscribe - public void onDraggingWidgetChanged(DraggingWidgetChanged event) + private void onDraggingWidgetChanged(DraggingWidgetChanged event) { // is dragging widget and mouse button released if (event.isDraggingWidget() && client.getMouseCurrentButton() == 0) @@ -301,8 +313,7 @@ public class ReorderPrayersPlugin extends Plugin } } - @Subscribe - public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) + private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) { if (event.getWidget() == WidgetInfo.FIXED_VIEWPORT_PRAYER_TAB || event.getWidget() == WidgetInfo.RESIZABLE_VIEWPORT_PRAYER_TAB diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java index 8a0f91e692..f8d0888375 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -76,6 +76,9 @@ public class ReportButtonPlugin extends Plugin @Inject private ReportButtonConfig config; + @Inject + private EventBus eventBus; + private TimeStyle timeStyle; @Provides @@ -87,6 +90,8 @@ public class ReportButtonPlugin extends Plugin @Override public void startUp() { + addSubscriptions(); + this.timeStyle = config.time(); clientThread.invoke(this::updateReportButtonTime); } @@ -94,6 +99,8 @@ public class ReportButtonPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + clientThread.invoke(() -> { Widget reportButton = client.getWidget(WidgetInfo.CHATBOX_REPORT_TEXT); @@ -104,8 +111,13 @@ public class ReportButtonPlugin extends Plugin }); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onGameStateChanged(GameStateChanged event) { GameState state = event.getGameState(); @@ -205,8 +217,7 @@ public class ReportButtonPlugin extends Plugin return DATE_FORMAT.format(new Date()); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("regenmeter")) { 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 163682223b..469a1ff4cd 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 @@ -45,7 +45,7 @@ import net.runelite.api.events.GroundObjectChanged; import net.runelite.api.events.GroundObjectDespawned; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.ItemContainerChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -76,23 +76,41 @@ public class RoguesDenPlugin extends Plugin @Inject private RoguesDenOverlay overlay; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { + addSubscriptions(); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); obstaclesHull.clear(); obstaclesTile.clear(); hasGem = false; } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(GroundObjectChanged.class, this, this::onGroundObjectChanged); + eventBus.subscribe(GroundObjectDespawned.class, this, this::onGroundObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)) { @@ -111,44 +129,37 @@ public class RoguesDenPlugin extends Plugin hasGem = false; } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { onTileObject(event.getTile(), null, event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { onTileObject(event.getTile(), event.getGameObject(), null); } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { onTileObject(event.getTile(), null, event.getGroundObject()); } - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) + private void onGroundObjectChanged(GroundObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) + private void onGroundObjectDespawned(GroundObjectDespawned event) { onTileObject(event.getTile(), event.getGroundObject(), null); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { 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 29f3ae2523..d80e22b592 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 @@ -56,7 +56,7 @@ import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -115,6 +115,9 @@ public class RunecraftPlugin extends Plugin @Inject private MenuManager menuManager; + @Inject + private EventBus eventBus; + private boolean Lavas; @Getter(AccessLevel.PACKAGE) private boolean essPouch; @@ -162,6 +165,7 @@ public class RunecraftPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(abyssOverlay); abyssOverlay.updateConfig(); @@ -172,6 +176,8 @@ public class RunecraftPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(abyssOverlay); abyssObjects.clear(); darkMage = null; @@ -180,8 +186,20 @@ public class RunecraftPlugin extends Plugin removeSwaps(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(DecorativeObjectSpawned.class, this, this::onDecorativeObjectSpawned); + eventBus.subscribe(DecorativeObjectDespawned.class, this, this::onDecorativeObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("runecraft")) { @@ -198,8 +216,7 @@ public class RunecraftPlugin extends Plugin abyssOverlay.updateConfig(); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE) { @@ -212,8 +229,7 @@ public class RunecraftPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded entry) + private void onMenuEntryAdded(MenuEntryAdded entry) { if (wearingCape || wearingTiara) { @@ -287,9 +303,7 @@ public class RunecraftPlugin extends Plugin return -1; } - - @Subscribe - public void onDecorativeObjectSpawned(DecorativeObjectSpawned event) + private void onDecorativeObjectSpawned(DecorativeObjectSpawned event) { DecorativeObject decorativeObject = event.getDecorativeObject(); if (AbyssRifts.getRift(decorativeObject.getId()) != null) @@ -298,15 +312,13 @@ public class RunecraftPlugin extends Plugin } } - @Subscribe - public void onDecorativeObjectDespawned(DecorativeObjectDespawned event) + private void onDecorativeObjectDespawned(DecorativeObjectDespawned event) { DecorativeObject decorativeObject = event.getDecorativeObject(); abyssObjects.remove(decorativeObject); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { GameState gameState = event.getGameState(); switch (gameState) @@ -322,8 +334,7 @@ public class RunecraftPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (event.getItemContainer() == client.getItemContainer(InventoryID.INVENTORY)) { @@ -339,8 +350,7 @@ public class RunecraftPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { final NPC npc = event.getNpc(); if (npc.getId() == NpcID.DARK_MAGE) @@ -349,8 +359,7 @@ public class RunecraftPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { final NPC npc = event.getNpc(); if (npc != null && npc.equals(darkMage)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java index 3fa8214b50..e06e11d5e8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java @@ -33,7 +33,7 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -60,6 +60,9 @@ public class RunedokuPlugin extends Plugin @Inject private RunedokuConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Color mindRuneColor; @Getter(AccessLevel.PACKAGE) @@ -91,17 +94,21 @@ public class RunedokuPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(runedokuOverlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(runedokuOverlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("runedoku")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java index 88a897d9ef..b3dbdc6b18 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java @@ -32,7 +32,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.runepouch.config.RunePouchOverlayMode; @@ -55,6 +55,9 @@ public class RunepouchPlugin extends Plugin @Inject private RunepouchConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Color fontColor; @Getter(AccessLevel.PACKAGE) @@ -72,17 +75,21 @@ public class RunepouchPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("runepouch")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/safespot/SafeSpotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/safespot/SafeSpotPlugin.java index bc2ea6d984..168fbcde35 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/safespot/SafeSpotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/safespot/SafeSpotPlugin.java @@ -30,7 +30,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -55,6 +55,9 @@ public class SafeSpotPlugin extends Plugin @Inject private SafeSpotConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private List safeSpotList; @@ -79,6 +82,7 @@ public class SafeSpotPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); safeSpotOverlay = new SafeSpotOverlay(client, this); overlayManager.add(safeSpotOverlay); @@ -87,10 +91,18 @@ public class SafeSpotPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(safeSpotOverlay); } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + private void onInteractingChanged(InteractingChanged event) { if (event.getSource() != client.getLocalPlayer()) @@ -103,8 +115,7 @@ public class SafeSpotPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (client.getLocalPlayer().getInteracting() != null) { @@ -185,8 +196,7 @@ public class SafeSpotPlugin extends Plugin return safeSpotList; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("safespot")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java index ce6a8d67fa..e45bf34e0e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java @@ -44,7 +44,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.MouseManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -87,6 +87,9 @@ public class ScreenMarkerPlugin extends Plugin @Inject private ScreenMarkerCreationOverlay overlay; + @Inject + private EventBus eventBus; + private ScreenMarkerMouseListener mouseListener; private ScreenMarkerPluginPanel pluginPanel; private NavigationButton navigationButton; @@ -101,6 +104,8 @@ public class ScreenMarkerPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); loadConfig(configManager.getConfiguration(CONFIG_GROUP, CONFIG_KEY)).forEach(screenMarkers::add); screenMarkers.forEach(overlayManager::add); @@ -125,6 +130,8 @@ public class ScreenMarkerPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.removeIf(ScreenMarkerOverlay.class::isInstance); screenMarkers.clear(); @@ -138,8 +145,7 @@ public class ScreenMarkerPlugin extends Plugin navigationButton = null; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (screenMarkers.isEmpty() && event.getGroup().equals(CONFIG_GROUP) && event.getKey().equals(CONFIG_KEY)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index df1ece5714..c932e4772b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -58,7 +58,6 @@ import javax.imageio.ImageIO; import javax.inject.Inject; import javax.inject.Singleton; import javax.swing.SwingUtilities; - import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; @@ -91,7 +90,7 @@ import net.runelite.client.Notifier; import static net.runelite.client.RuneLite.SCREENSHOT_DIR; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.game.SpriteManager; import net.runelite.client.input.KeyManager; @@ -196,6 +195,9 @@ public class ScreenshotPlugin extends Plugin @Inject private SpriteManager spriteManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private BufferedImage reportButton; @@ -244,6 +246,7 @@ public class ScreenshotPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(screenshotOverlay); SCREENSHOT_DIR.mkdirs(); @@ -278,13 +281,25 @@ public class ScreenshotPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(screenshotOverlay); clientToolbar.removeNavigation(titleBarButton); keyManager.unregisterKeyListener(hotkeyListener); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(PlayerLootReceived.class, this, this::onPlayerLootReceived); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN && reportButton == null) @@ -293,8 +308,7 @@ public class ScreenshotPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (this.screenshotFriendDeath) { @@ -342,8 +356,7 @@ public class ScreenshotPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged e) + private void onAnimationChanged(AnimationChanged e) { //this got refactored somewhere, but some things were missing if (!this.screenshotFriendDeath || !this.screenshotPlayerDeath) @@ -383,8 +396,7 @@ public class ScreenshotPlugin extends Plugin } } - @Subscribe - public void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) + private void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) { if (this.screenshotKills) { @@ -395,8 +407,7 @@ public class ScreenshotPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM && event.getType() != ChatMessageType.TRADE) { @@ -509,8 +520,7 @@ public class ScreenshotPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { String fileName; int groupId = event.getGroupId(); @@ -894,8 +904,7 @@ public class ScreenshotPlugin extends Plugin return theatreOfBloodNumber; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("screenshot")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/shayzieninfirmary/ShayzienInfirmaryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/shayzieninfirmary/ShayzienInfirmaryPlugin.java index e74b268575..7280e59e8c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/shayzieninfirmary/ShayzienInfirmaryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/shayzieninfirmary/ShayzienInfirmaryPlugin.java @@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.NPC; import net.runelite.api.events.GameTick; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -60,18 +60,25 @@ public class ShayzienInfirmaryPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Inject private ShayzienInfirmaryOverlay overlay; @Override protected void startUp() throws Exception { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + loadPlugin(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + unloadPlugin(); } @@ -85,8 +92,7 @@ public class ShayzienInfirmaryPlugin extends Plugin overlayManager.remove(overlay); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (isNotAtInfirmary()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java index d9464b1dd6..d0e2eb02e9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Singleton; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; @@ -65,6 +65,9 @@ public class ShiftWalkerPlugin extends Plugin @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + private boolean shiftWalk; private boolean shiftLoot; @@ -80,17 +83,26 @@ public class ShiftWalkerPlugin extends Plugin this.shiftWalk = config.shiftWalk(); this.shiftLoot = config.shiftLoot(); + addSubscriptions(); + keyManager.registerKeyListener(inputListener); } @Override public void shutDown() { + eventBus.unregister(this); + keyManager.unregisterKeyListener(inputListener); } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + + private void onFocusChanged(FocusChanged event) { if (!event.isFocused()) { @@ -117,8 +129,7 @@ public class ShiftWalkerPlugin extends Plugin menuManager.removePriorityEntry(WALK_HERE); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("shiftwalkhere")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java index 147420e7b1..44797f4968 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SpriteManager; @@ -81,6 +81,9 @@ public class SkillCalculatorPlugin extends Plugin @Inject private SkillCalculatorConfig skillCalculatorConfig; + @Inject + private EventBus eventBus; + private NavigationButton uiNavigationButton; private NavigationButton bankedUiNavigationButton; @@ -96,6 +99,8 @@ public class SkillCalculatorPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "calc.png"); final SkillCalculatorPanel uiPanel = new SkillCalculatorPanel(skillIconManager, client, spriteManager, itemManager); @@ -114,6 +119,7 @@ public class SkillCalculatorPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); clientToolbar.removeNavigation(uiNavigationButton); if (bankedUiNavigationButton != null) { @@ -121,8 +127,13 @@ public class SkillCalculatorPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("skillCalculator") && event.getKey().equals("enabledBankedXp")) { @@ -130,7 +141,6 @@ public class SkillCalculatorPlugin extends Plugin } } - @Subscribe public void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!event.getEventName().equals("setBankTitle") || !skillCalculatorConfig.showBankedXp()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java index d91597749b..7a0c11bf33 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skybox/SkyboxPlugin.java @@ -33,7 +33,7 @@ import net.runelite.api.Player; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -49,21 +49,34 @@ public class SkyboxPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + private Skybox skybox; @Override public void startUp() throws IOException { + addSubscriptions(); + skybox = new Skybox(SkyboxPlugin.class.getResourceAsStream("skybox.txt"), "skybox.txt"); } @Override public void shutDown() { + eventBus.unregister(this); + client.setSkyboxColor(0); skybox = null; } + private void addSubscriptions() + { + eventBus.subscribe(BeforeRender.class, this, this::onBeforeRender); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + private int mapChunk(int cx, int cy, int plane) { cx -= client.getBaseX() / 8; @@ -79,8 +92,7 @@ public class SkyboxPlugin extends Plugin return instanceTemplateChunks[cx][cy]; } - @Subscribe - public void onBeforeRender(BeforeRender r) + private void onBeforeRender(BeforeRender r) { if (skybox == null || client.getGameState() != GameState.LOGGED_IN) { @@ -124,8 +136,7 @@ public class SkyboxPlugin extends Plugin )); } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index eee2b5beeb..1cbfc23116 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -82,7 +82,7 @@ import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.ChatInput; import net.runelite.client.game.AsyncBufferedImage; import net.runelite.client.game.ItemManager; @@ -219,6 +219,9 @@ public class SlayerPlugin extends Plugin @Inject private ChatClient chatClient; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Set highlightedTargets = new HashSet<>(); @@ -291,6 +294,7 @@ public class SlayerPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(targetClickboxOverlay); @@ -326,6 +330,8 @@ public class SlayerPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(targetClickboxOverlay); overlayManager.remove(targetWeaknessOverlay); @@ -338,14 +344,27 @@ public class SlayerPlugin extends Plugin clientToolbar.removeNavigation(navButton); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDefinitionChanged.class, this, this::onNpcDefinitionChanged); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(InteractingChanged.class, this, this::onInteractingChanged); + } + @Provides SlayerConfig getConfig(ConfigManager configManager) { return configManager.getConfig(SlayerConfig.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -387,8 +406,7 @@ public class SlayerPlugin extends Plugin config.streak(streak); } - @Subscribe - public void onNpcSpawned(NpcSpawned npcSpawned) + private void onNpcSpawned(NpcSpawned npcSpawned) { NPC npc = npcSpawned.getNpc(); if (isTarget(npc, targetNames)) @@ -397,8 +415,7 @@ public class SlayerPlugin extends Plugin } } - @Subscribe - public void onNpcDefinitionChanged(NpcDefinitionChanged event) + private void onNpcDefinitionChanged(NpcDefinitionChanged event) { NPC npc = event.getNpc(); @@ -408,8 +425,7 @@ public class SlayerPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { NPC npc = npcDespawned.getNpc(); boolean contained = highlightedTargets.remove(npc); @@ -420,8 +436,7 @@ public class SlayerPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (client.getVar(Varbits.SLAYER_REWARD_POINTS) == cachedPoints) { @@ -528,8 +543,7 @@ public class SlayerPlugin extends Plugin private static final int FORCED_WAIT = 2; private int forcedWait = -1; - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { loginTick = false; @@ -610,8 +624,7 @@ public class SlayerPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM) { @@ -696,8 +709,7 @@ public class SlayerPlugin extends Plugin } } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { if (event.getSkill() != SLAYER) { @@ -735,8 +747,7 @@ public class SlayerPlugin extends Plugin cachedXp = slayerExp; } - @Subscribe - public void onInteractingChanged(InteractingChanged event) + private void onInteractingChanged(InteractingChanged event) { if (client.getLocalPlayer() == null) { @@ -767,7 +778,6 @@ public class SlayerPlugin extends Plugin return SUPERIOR_SLAYER_MONSTERS.contains(name.toLowerCase()); } - @Subscribe private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("slayer")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java index 682f39ba2f..5753e46f39 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayermusiq/SlayermusiqPlugin.java @@ -63,7 +63,7 @@ import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.chat.ChatMessageManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -96,20 +96,23 @@ public class SlayermusiqPlugin extends Plugin @Inject private ChatMessageManager chatMessageManager; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { - // + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); } @Override protected void shutDown() throws Exception { - // + eventBus.unregister(this); } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { int widgetID = event.getActionParam1(); if (Ints.contains(QUESTLIST_WIDGET_IDS, widgetID) && "Read Journal:".equals(event.getOption())) @@ -124,7 +127,6 @@ public class SlayermusiqPlugin extends Plugin } } - @Subscribe private void onMenuOptionClicked(MenuOptionClicked ev) { if (ev.getMenuAction() == MenuAction.RUNELITE && ev.getOption().equals(MENUOP_SLAYERMUSIQ)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java index 9d821ad6ab..f76f4df431 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java @@ -36,7 +36,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -61,6 +61,9 @@ public class SmeltingPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private SmeltingSession session; @@ -75,6 +78,8 @@ public class SmeltingPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + this.statTimeout = config.statTimeout(); session = null; overlayManager.add(overlay); @@ -83,12 +88,20 @@ public class SmeltingPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); session = null; } - @Subscribe - public void onChatMessage(ChatMessage event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.SPAM) { @@ -113,8 +126,7 @@ public class SmeltingPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (session != null) { @@ -128,7 +140,6 @@ public class SmeltingPlugin extends Plugin } } - @Subscribe private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("smelting")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java index aa1e66efd0..6fd663ad58 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java @@ -19,7 +19,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -39,6 +39,8 @@ public class SpawnTimerPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private final Set highlightedNpcs = new HashSet<>(); @@ -68,6 +70,8 @@ public class SpawnTimerPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.getNpcToHighlight = config.getNpcToHighlight(); this.getHighlightColor = config.getHighlightColor(); @@ -79,19 +83,28 @@ public class SpawnTimerPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + ticks.clear(); highlightedNpcs.clear(); overlayManager.remove(SpawnTimerOverlay); } - @Subscribe - public void onGameTick(GameTick g) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + } + + private void onGameTick(GameTick g) { currentTick++; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) @@ -101,8 +114,7 @@ public class SpawnTimerPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned n) + private void onNpcSpawned(NpcSpawned n) { if (n.getNpc() != null) { @@ -115,8 +127,7 @@ public class SpawnTimerPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned n) + private void onNpcDespawned(NpcDespawned n) { final NPC npc = n.getNpc(); if (highlightedNpcs.contains(npc)) @@ -140,7 +151,6 @@ public class SpawnTimerPlugin extends Plugin return Text.fromCSV(configNpcs); } - @Subscribe private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("spawntimer")) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specbar/SpecBarPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/specbar/SpecBarPlugin.java index d58467d9f1..ecb7d2832d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specbar/SpecBarPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specbar/SpecBarPlugin.java @@ -28,7 +28,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.events.ScriptCallbackEvent; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -47,18 +47,22 @@ public class SpecBarPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!"drawSpecbarAnyway".equals(event.getEventName())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java index 3f164f87b0..c28057a6b7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -92,21 +92,36 @@ public class SpecialCounterPlugin extends Plugin @Inject private ItemManager itemManager; + @Inject + private EventBus eventBus; + @Override protected void startUp() { + addSubscriptions(); + wsClient.registerMessage(SpecialCounterUpdate.class); } @Override protected void shutDown() { + eventBus.unregister(this); + removeCounters(); wsClient.unregisterMessage(SpecialCounterUpdate.class); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(SpecialCounterUpdate.class, this, this::onSpecialCounterUpdate); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -122,8 +137,7 @@ public class SpecialCounterPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { int specialPercentage = client.getVar(VarPlayer.SPECIAL_ATTACK_PERCENT); @@ -142,7 +156,6 @@ public class SpecialCounterPlugin extends Plugin specialHitpointsExperience = client.getSkillExperience(Skill.HITPOINTS); } - @Subscribe private void onGameTick(GameTick tick) { if (client.getGameState() != GameState.LOGGED_IN) @@ -219,8 +232,7 @@ public class SpecialCounterPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { NPC actor = npcDespawned.getNpc(); @@ -230,8 +242,7 @@ public class SpecialCounterPlugin extends Plugin } } - @Subscribe - public void onSpecialCounterUpdate(SpecialCounterUpdate event) + private void onSpecialCounterUpdate(SpecialCounterUpdate event) { if (party.getLocalMember().getMemberId().equals(event.getMemberId())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java index 0502330b79..3694512f1e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java @@ -53,7 +53,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.MouseManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; @@ -120,6 +120,9 @@ public class SpellbookPlugin extends Plugin @Inject private SpellbookDragOverlay overlay; + @Inject + private EventBus eventBus; + @Getter private boolean dragging; @@ -151,6 +154,7 @@ public class SpellbookPlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); refreshMagicTabOption(); loadFilter(); @@ -160,6 +164,7 @@ public class SpellbookPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); clearMagicTabMenus(); saveSpells(); config.canDrag(false); @@ -168,8 +173,16 @@ public class SpellbookPlugin extends Plugin mouseListener = null; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -177,8 +190,7 @@ public class SpellbookPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"spellbook".equals(event.getGroup())) { @@ -198,7 +210,6 @@ public class SpellbookPlugin extends Plugin refreshMagicTabOption(); } - @Subscribe public void onVarbitChanged(VarbitChanged event) { if (client.getGameState() != GameState.LOGGED_IN) @@ -252,9 +263,7 @@ public class SpellbookPlugin extends Plugin return false; } - - @Subscribe - public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) + private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event) { if (event.getWidget() != WidgetInfo.FIXED_VIEWPORT_MAGIC_TAB && event.getWidget() != WidgetInfo.RESIZABLE_VIEWPORT_MAGIC_TAB @@ -318,8 +327,7 @@ public class SpellbookPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (client.getVar(Varbits.FILTER_SPELLBOOK) != 0 || !this.enableMobile diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java index 1936f87664..3b7e8eecdb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.NPCDefinition; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -94,6 +94,9 @@ public class StatusBarsPlugin extends Plugin @Inject private StatusBarsConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Instant lastCombatAction; @@ -114,6 +117,7 @@ public class StatusBarsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); barRenderers.put(BarMode.DISABLED, null); @@ -128,8 +132,7 @@ public class StatusBarsPlugin extends Plugin this.lastCombatAction = Instant.now(); } - @Subscribe - public void onGameTick(GameTick gameTick) + private void onGameTick(GameTick gameTick) { if (!this.toggleRestorationBars) { @@ -167,18 +170,25 @@ public class StatusBarsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); barRenderers.clear(); } + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + @Provides StatusBarsConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(StatusBarsConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"statusbars".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java index 3e3e671f4a..ade1af9e64 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java @@ -52,7 +52,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -102,6 +102,9 @@ public class StatusOrbsPlugin extends Plugin @Inject private Notifier notifier; + @Inject + private EventBus eventBus; + @Getter private double hitpointsPercentage; @@ -152,8 +155,9 @@ public class StatusOrbsPlugin extends Plugin @Override protected void startUp() throws Exception { - migrateConfigs(); updateConfig(); + addSubscriptions(); + overlayManager.add(overlay); if (this.dynamicHpHeart && client.getGameState().equals(GameState.LOGGED_IN)) { @@ -164,6 +168,8 @@ public class StatusOrbsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); localPlayerRunningToDestination = false; prevLocalPlayerLocation = null; @@ -174,8 +180,15 @@ public class StatusOrbsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("statusorbs")) { @@ -202,7 +215,6 @@ public class StatusOrbsPlugin extends Plugin } } - @Subscribe private void onVarbitChanged(VarbitChanged e) { if (this.dynamicHpHeart) @@ -218,7 +230,6 @@ public class StatusOrbsPlugin extends Plugin wasRapidHeal = isRapidHeal; } - @Subscribe private void onGameStateChanged(GameStateChanged ev) { if (ev.getGameState() == GameState.HOPPING || ev.getGameState() == GameState.LOGIN_SCREEN) @@ -229,8 +240,7 @@ public class StatusOrbsPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (client.getVar(VarPlayer.SPECIAL_ATTACK_PERCENT) == 1000) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/StonedLootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/StonedLootTrackerPlugin.java index 6ba61372c2..edae7b42d1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/StonedLootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/StonedLootTrackerPlugin.java @@ -70,7 +70,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.NpcLootReceived; import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.game.ItemManager; @@ -141,6 +141,9 @@ public class StonedLootTrackerPlugin extends Plugin @Inject private LootRecordWriter writer; + @Inject + private EventBus eventBus; + private Multiset inventorySnapshot; @Provides @@ -149,8 +152,7 @@ public class StonedLootTrackerPlugin extends Plugin return configManager.getConfig(StonedLootTrackerConfig.class); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("stonedloottracker")) { @@ -173,6 +175,8 @@ public class StonedLootTrackerPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + panel = new LootTrackerPanel(itemManager, this); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "panel_icon.png"); @@ -224,25 +228,37 @@ public class StonedLootTrackerPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + clientToolbar.removeNavigation(navButton); } - @Subscribe - public void onLootTrackerRecordStored(LootTrackerRecordStored s) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(LootTrackerRecordStored.class, this, this::onLootTrackerRecordStored); + eventBus.subscribe(LootTrackerNameChange.class, this, this::onLootTrackerNameChange); + eventBus.subscribe(NpcLootReceived.class, this, this::onNpcLootReceived); + eventBus.subscribe(PlayerLootReceived.class, this, this::onPlayerLootReceived); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onLootTrackerRecordStored(LootTrackerRecordStored s) { SwingUtilities.invokeLater(() -> panel.addLog(s.getRecord())); } - @Subscribe - public void onLootTrackerNameChange(LootTrackerNameChange c) + private void onLootTrackerNameChange(LootTrackerNameChange c) { refreshData(); SwingUtilities.invokeLater(() -> panel.updateNames()); } - @Subscribe - public void onNpcLootReceived(final NpcLootReceived npcLootReceived) + private void onNpcLootReceived(final NpcLootReceived npcLootReceived) { final NPC npc = npcLootReceived.getNpc(); final Collection items = npcLootReceived.getItems(); @@ -268,8 +284,7 @@ public class StonedLootTrackerPlugin extends Plugin addLog(name, rec); } - @Subscribe - public void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) + private void onPlayerLootReceived(final PlayerLootReceived playerLootReceived) { final Player player = playerLootReceived.getPlayer(); final Collection items = playerLootReceived.getItems(); @@ -281,8 +296,7 @@ public class StonedLootTrackerPlugin extends Plugin addLog(name, rec); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { final ItemContainer container; switch (event.getGroupId()) @@ -350,8 +364,7 @@ public class StonedLootTrackerPlugin extends Plugin writer.addLootTrackerRecord(record); } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM) { @@ -471,8 +484,7 @@ public class StonedLootTrackerPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (eventType != null && (CHEST_EVENT_TYPES.containsValue(eventType) || HERBIBOR_EVENT.equals(eventType))) { @@ -671,8 +683,7 @@ public class StonedLootTrackerPlugin extends Plugin }); } - @Subscribe - public void onGameStateChanged(GameStateChanged c) + private void onGameStateChanged(GameStateChanged c) { if (c.getGameState().equals(GameState.LOGGED_IN)) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/data/LootRecordWriter.java b/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/data/LootRecordWriter.java index d4c340df67..7b9f74b2f7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/data/LootRecordWriter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/stonedloottracker/data/LootRecordWriter.java @@ -41,7 +41,6 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import static net.runelite.client.RuneLite.RUNELITE_DIR; import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.EventBusImplementation; import net.runelite.client.plugins.stonedloottracker.data.events.LootTrackerNameChange; import net.runelite.client.plugins.stonedloottracker.data.events.LootTrackerRecordStored; import net.runelite.http.api.RuneLiteAPI; @@ -56,10 +55,10 @@ public class LootRecordWriter // Data is stored in a folder with the players in-game username private File playerFolder = LOOT_RECORD_DIR; - private final EventBusImplementation bus; + private final EventBus bus; @Inject - public LootRecordWriter(EventBusImplementation bus) + public LootRecordWriter(EventBus bus) { this.bus = bus; playerFolder.mkdir(); @@ -74,7 +73,7 @@ public class LootRecordWriter { playerFolder = new File(LOOT_RECORD_DIR, username); playerFolder.mkdir(); - bus.post(new LootTrackerNameChange()); + bus.post(LootTrackerNameChange.class, new LootTrackerNameChange()); } public Set getKnownFileNames() @@ -141,7 +140,7 @@ public class LootRecordWriter file.append(dataAsString); file.newLine(); file.close(); - bus.post(new LootTrackerRecordStored(rec)); + bus.post(LootTrackerRecordStored.class, new LootTrackerRecordStored(rec)); } catch (IOException ioe) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java index 1d57cdb4ee..2287f7cf2a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java @@ -32,7 +32,7 @@ import net.runelite.api.Client; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ResizeableChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.MouseManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -61,6 +61,9 @@ public class StretchedModePlugin extends Plugin @Inject private TranslateMouseWheelListener mouseWheelListener; + @Inject + private EventBus eventBus; + @Provides StretchedModeConfig provideConfig(ConfigManager configManager) { @@ -70,6 +73,9 @@ public class StretchedModePlugin extends Plugin @Override protected void startUp() { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ResizeableChanged.class, this, this::onResizeableChanged); + mouseManager.registerMouseListener(0, mouseListener); mouseManager.registerMouseWheelListener(0, mouseWheelListener); @@ -80,6 +86,8 @@ public class StretchedModePlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + client.setStretchedEnabled(false); client.invalidateStretching(true); @@ -87,14 +95,12 @@ public class StretchedModePlugin extends Plugin mouseManager.unregisterMouseWheelListener(mouseWheelListener); } - @Subscribe - public void onResizeableChanged(ResizeableChanged event) + private void onResizeableChanged(ResizeableChanged event) { client.invalidateStretching(true); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("stretchedmode")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java index 6b0d864198..27e1afe746 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java @@ -62,7 +62,7 @@ import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.VarbitChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -150,10 +150,14 @@ public class SuppliesTrackerPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; @Override protected void startUp() throws Exception { + addSubscriptions(); + panel = new SuppliesTrackerPanel(itemManager, this); final BufferedImage header = ImageUtil.getResourceStreamFromClass(getClass(), "panel_icon.png"); panel.loadHeaderIcon(header); @@ -172,17 +176,27 @@ public class SuppliesTrackerPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); clientToolbar.removeNavigation(navButton); } + private void addSubscriptions() + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(CannonballFired.class, this, this::onCannonballFired); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + } + @Provides SuppliesTrackerConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(SuppliesTrackerConfig.class); } - @Subscribe - public void onGameTick(GameTick tick) + private void onGameTick(GameTick tick) { Player player = client.getLocalPlayer(); if (player.getAnimation() == BLOWPIPE_ATTACK) @@ -239,8 +253,7 @@ public class SuppliesTrackerPlugin extends Plugin return percent; } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (attackStyleVarbit == -1 || attackStyleVarbit != client.getVar(VarPlayer.ATTACK_STYLE)) { @@ -314,14 +327,12 @@ public class SuppliesTrackerPlugin extends Plugin } } - @Subscribe - public void onCannonballFired(CannonballFired cannonballFired) + private void onCannonballFired(CannonballFired cannonballFired) { buildEntries(CANNONBALL); } - @Subscribe - public void onAnimationChanged(AnimationChanged animationChanged) + private void onAnimationChanged(AnimationChanged animationChanged) { if (animationChanged.getActor() == client.getLocalPlayer()) { @@ -374,8 +385,7 @@ public class SuppliesTrackerPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(ItemContainerChanged itemContainerChanged) + private void onItemContainerChanged(ItemContainerChanged itemContainerChanged) { ItemContainer itemContainer = itemContainerChanged.getItemContainer(); @@ -501,8 +511,7 @@ public class SuppliesTrackerPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(final MenuOptionClicked event) + private void onMenuOptionClicked(final MenuOptionClicked event) { // Uses stacks to push/pop for tick eating // Create pattern to find eat/drink at beginning diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tarnslair/TarnsLairPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tarnslair/TarnsLairPlugin.java index fc2bbff2f7..9bb03bf433 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tarnslair/TarnsLairPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tarnslair/TarnsLairPlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.GroundObjectChanged; import net.runelite.api.events.GroundObjectDespawned; import net.runelite.api.events.GroundObjectSpawned; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -84,6 +84,9 @@ public class TarnsLairPlugin extends Plugin @Inject private TarnsLairOverlay overlay; + @Inject + private EventBus eventBus; + @Override protected void startUp() throws Exception { @@ -93,6 +96,8 @@ public class TarnsLairPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); staircases.clear(); wallTraps.clear(); @@ -100,51 +105,55 @@ public class TarnsLairPlugin extends Plugin inLair = false; } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(GroundObjectChanged.class, this, this::onGroundObjectChanged); + eventBus.subscribe(GroundObjectDespawned.class, this, this::onGroundObjectDespawned); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onGameTick(GameTick event) { int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); inLair = (regionID == TARNS_LAIR_NORTH_REGION || regionID == TARNS_LAIR_SOUTH_REGION); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { onTileObject(event.getTile(), null, event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(GameObjectChanged event) + private void onGameObjectChanged(GameObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); } - @Subscribe - public void onGameObjectDespawned(GameObjectDespawned event) + private void onGameObjectDespawned(GameObjectDespawned event) { onTileObject(event.getTile(), event.getGameObject(), null); } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { onTileObject(event.getTile(), null, event.getGroundObject()); } - @Subscribe - public void onGroundObjectChanged(GroundObjectChanged event) + private void onGroundObjectChanged(GroundObjectChanged event) { onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject()); } - @Subscribe - public void onGroundObjectDespawned(GroundObjectDespawned event) + private void onGroundObjectDespawned(GroundObjectDespawned event) { onTileObject(event.getTile(), event.getGroundObject(), null); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOADING) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixPlugin.java index 56740fdd0a..3897309b2a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.Skill; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -66,6 +66,9 @@ public class TearsOfGuthixPlugin extends Plugin @Inject private TearsOfGuthixExperienceOverlay experienceOverlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Map streams = new HashMap<>(); @@ -75,6 +78,8 @@ public class TearsOfGuthixPlugin extends Plugin @Override protected void startUp() { + addSubscriptions(); + overlayManager.add(overlay); overlayManager.add(experienceOverlay); } @@ -82,14 +87,22 @@ public class TearsOfGuthixPlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(experienceOverlay); streams.clear(); playerLowestSkill = null; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(DecorativeObjectSpawned.class, this, this::onDecorativeObjectSpawned); + eventBus.subscribe(DecorativeObjectDespawned.class, this, this::onDecorativeObjectDespawned); + } + + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -120,8 +133,7 @@ public class TearsOfGuthixPlugin extends Plugin } } - @Subscribe - public void onDecorativeObjectSpawned(DecorativeObjectSpawned event) + private void onDecorativeObjectSpawned(DecorativeObjectSpawned event) { DecorativeObject object = event.getDecorativeObject(); @@ -133,8 +145,7 @@ public class TearsOfGuthixPlugin extends Plugin } } - @Subscribe - public void onDecorativeObjectDespawned(DecorativeObjectDespawned event) + private void onDecorativeObjectDespawned(DecorativeObjectDespawned event) { if (streams.isEmpty()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java index 26238c416b..142d40e982 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.graphics.ModelOutlineRenderer; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -84,6 +84,9 @@ public class TheatrePlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + private Widget widget = null; @Getter(AccessLevel.PUBLIC) @@ -162,6 +165,7 @@ public class TheatrePlugin extends Plugin protected void startUp() { updateConfig(); + addSubscriptions(); room = TheatreRoom.UNKNOWN; @@ -178,6 +182,8 @@ public class TheatrePlugin extends Plugin @Override protected void shutDown() { + eventBus.unregister(this); + maidenHandler.onStop(); maidenHandler = null; @@ -202,8 +208,23 @@ public class TheatrePlugin extends Plugin overlayManager.remove(overlay); } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(NpcDefinitionChanged.class, this, this::onNpcDefinitionChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GroundObjectSpawned.class, this, this::onGroundObjectSpawned); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved); + } + + private void onSpotAnimationChanged(SpotAnimationChanged event) { if (maidenHandler != null) { @@ -211,8 +232,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onNpcDefinitionChanged(NpcDefinitionChanged event) + private void onNpcDefinitionChanged(NpcDefinitionChanged event) { if (maidenHandler != null) { @@ -220,8 +240,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (maidenHandler != null) { @@ -255,8 +274,7 @@ public class TheatrePlugin extends Plugin } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (maidenHandler != null) { @@ -285,8 +303,7 @@ public class TheatrePlugin extends Plugin } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (verzikHandler != null) { @@ -294,8 +311,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (maidenHandler != null) { @@ -303,8 +319,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) + private void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() != WidgetID.PERFORMERS_FOR_THE_THEATRE_GROUPS_GROUP_ID && event.getGroupId() != WidgetID.PERFORMERS_FOR_THE_THEATRE_PLAYERS_GROUP_ID) { @@ -322,8 +337,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (maidenHandler != null) { @@ -445,8 +459,7 @@ public class TheatrePlugin extends Plugin widget = null; } - @Subscribe - public void onGroundObjectSpawned(GroundObjectSpawned event) + private void onGroundObjectSpawned(GroundObjectSpawned event) { if (sotetsegHandler != null) { @@ -459,8 +472,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("Theatre")) { @@ -473,8 +485,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (bloatHandler != null) { @@ -487,8 +498,7 @@ public class TheatrePlugin extends Plugin } } - @Subscribe - public void onProjectileMoved(ProjectileMoved event) + private void onProjectileMoved(ProjectileMoved event) { if (sotetsegHandler != null) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/BloatHandler.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/BloatHandler.java index f7c262c853..dddc77f9ad 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/BloatHandler.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/rooms/BloatHandler.java @@ -16,7 +16,6 @@ import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.VarbitChanged; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.theatre.RoomHandler; import net.runelite.client.plugins.theatre.TheatrePlugin; import net.runelite.client.plugins.theatre.TheatreRoom; @@ -129,7 +128,6 @@ public class BloatHandler extends RoomHandler } } - @Subscribe public void onVarbitChanged(VarbitChanged event) { if (client.getVar(Varbits.BLOAT_DOOR) == 1 && !bloatFlag) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java index fa73e5b00f..c7718bfaa7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -67,6 +67,9 @@ public class ThievingPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private ThievingSession session; @@ -81,6 +84,8 @@ public class ThievingPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.statTimeout = config.statTimeout(); session = null; @@ -90,12 +95,20 @@ public class ThievingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); session = null; } - @Subscribe - public void onGameTick(GameTick gameTick) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onGameTick(GameTick gameTick) { if (session == null || this.statTimeout == 0) { @@ -111,10 +124,8 @@ public class ThievingPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { - if (event.getType() != ChatMessageType.SPAM) { return; @@ -145,8 +156,7 @@ public class ThievingPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"thieving".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java index b801e83a40..066b0163ad 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -76,6 +76,8 @@ public class TickTimersPlugin extends Plugin private TickTimersConfig config; @Inject private NPCManager npcManager; + @Inject + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private Set npcContainer = new HashSet<>(); private boolean validRegion; @@ -105,19 +107,29 @@ public class TickTimersPlugin extends Plugin public void startUp() { updateConfig(); + addSubscriptions(); npcContainer.clear(); } @Override public void shutDown() { + eventBus.unregister(this); npcContainer.clear(); overlayManager.remove(timersOverlay); validRegion = false; } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() != GameState.LOGGED_IN) { @@ -137,8 +149,7 @@ public class TickTimersPlugin extends Plugin npcContainer.clear(); } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { if (!validRegion) { @@ -181,8 +192,7 @@ public class TickTimersPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (!validRegion) { @@ -217,7 +227,6 @@ public class TickTimersPlugin extends Plugin } } - @Subscribe public void onGameTick(GameTick Event) { if (!validRegion) @@ -254,8 +263,7 @@ public class TickTimersPlugin extends Plugin ); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"TickTimers".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java index 9a41a6a35b..c10ae5f23d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java @@ -32,7 +32,7 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -55,6 +55,9 @@ public class TileIndicatorsPlugin extends Plugin @Inject private TileIndicatorsConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private Color highlightDestinationColor; @Getter(AccessLevel.PACKAGE) @@ -78,17 +81,20 @@ public class TileIndicatorsPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!"tileindicators".equals(event.getGroup())) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 36ac85610f..fe4cddd1e2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -72,7 +72,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import static net.runelite.api.widgets.WidgetInfo.PVP_WORLD_SAFE_ZONE; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; @@ -150,6 +150,9 @@ public class TimersPlugin extends Plugin @Inject private InfoBoxManager infoBoxManager; + + @Inject + private EventBus eventBus; private boolean showHomeMinigameTeleports; private boolean showAntiPoison; @@ -181,11 +184,14 @@ public class TimersPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + infoBoxManager.removeIf(t -> t instanceof TimerTimer); lastRaidVarb = -1; lastPoint = null; @@ -198,8 +204,24 @@ public class TimersPlugin extends Plugin imbuedHeartClicked = false; } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(WidgetHiddenChanged.class, this, this::onWidgetHiddenChanged); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(LocalPlayerDeath.class, this, this::onLocalPlayerDeath); + eventBus.subscribe(BoostedLevelChanged.class, this, this::onBoostedLevelChanged); + } + + private void onVarbitChanged(VarbitChanged event) { int raidVarb = client.getVar(Varbits.IN_RAID); int vengCooldownVarb = client.getVar(Varbits.VENGEANCE_COOLDOWN); @@ -286,8 +308,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + private void onWidgetHiddenChanged(WidgetHiddenChanged event) { Widget widget = event.getWidget(); if (WorldType.isPvpWorld(client.getWorldType()) @@ -297,8 +318,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("timers")) { @@ -397,8 +417,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (this.showStamina && event.getOption().contains("Drink") @@ -464,8 +483,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.SPAM && event.getType() != ChatMessageType.GAMEMESSAGE) { @@ -620,8 +638,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { loggedInRace = false; @@ -670,8 +687,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { switch (gameStateChanged.getGameState()) { @@ -685,8 +701,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { Actor actor = event.getActor(); @@ -744,8 +759,7 @@ public class TimersPlugin extends Plugin lastAnimation = client.getLocalPlayer().getAnimation(); } - @Subscribe - public void onSpotAnimationChanged(SpotAnimationChanged event) + private void onSpotAnimationChanged(SpotAnimationChanged event) { Actor actor = event.getActor(); @@ -832,8 +846,7 @@ public class TimersPlugin extends Plugin * * @param itemContainerChanged */ - @Subscribe - public void onItemContainerChanged(ItemContainerChanged itemContainerChanged) + private void onItemContainerChanged(ItemContainerChanged itemContainerChanged) { ItemContainer container = itemContainerChanged.getItemContainer(); if (container == client.getItemContainer(InventoryID.EQUIPMENT)) @@ -868,8 +881,7 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned npcDespawned) + private void onNpcDespawned(NpcDespawned npcDespawned) { NPC npc = npcDespawned.getNpc(); @@ -886,14 +898,12 @@ public class TimersPlugin extends Plugin } } - @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath event) + private void onLocalPlayerDeath(LocalPlayerDeath event) { infoBoxManager.removeIf(t -> t instanceof TimerTimer && ((TimerTimer) t).getTimer().isRemovedOnDeath()); } - @Subscribe - public void onBoostedLevelChanged(BoostedLevelChanged event) + private void onBoostedLevelChanged(BoostedLevelChanged event) { Skill skill = event.getSkill(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java index 516fb5eb94..be05bd32cc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java @@ -41,7 +41,7 @@ import net.runelite.api.Varbits; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.ColorUtil; @@ -61,6 +61,9 @@ public class TimestampPlugin extends Plugin @Inject private TimestampConfig config; + @Inject + private EventBus eventBus; + @Getter private SimpleDateFormat formatter; @@ -73,17 +76,21 @@ public class TimestampPlugin extends Plugin @Override protected void startUp() throws Exception { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + updateFormatter(); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + formatter = null; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("timestamp") && event.getKey().equals("format")) { @@ -91,8 +98,7 @@ public class TimestampPlugin extends Plugin } } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!event.getEventName().equals("addTimestamp")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java index 9279883311..dbd23caabf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.UsernameChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -88,6 +88,9 @@ public class TimeTrackingPlugin extends Plugin @Inject private ScheduledExecutorService executorService; + @Inject + private EventBus eventBus; + private ScheduledFuture panelUpdateFuture; private TimeTrackingPanel panel; @@ -106,6 +109,8 @@ public class TimeTrackingPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + clockManager.loadTimers(); clockManager.loadStopwatches(); birdHouseTracker.loadFromConfig(); @@ -130,6 +135,8 @@ public class TimeTrackingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + lastTickLocation = null; lastTickPostLogin = false; @@ -142,8 +149,14 @@ public class TimeTrackingPlugin extends Plugin clientToolbar.removeNavigation(navButton); } - @Subscribe - public void onConfigChanged(ConfigChanged e) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(UsernameChanged.class, this, this::onUsernameChanged); + } + + private void onConfigChanged(ConfigChanged e) { if (!e.getGroup().equals(CONFIG_GROUP)) { @@ -160,8 +173,7 @@ public class TimeTrackingPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick t) + private void onGameTick(GameTick t) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -200,8 +212,7 @@ public class TimeTrackingPlugin extends Plugin } } - @Subscribe - public void onUsernameChanged(UsernameChanged e) + private void onUsernameChanged(UsernameChanged e) { farmingTracker.loadCompletionTimes(); birdHouseTracker.loadFromConfig(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java index bc69f169fe..c3295578f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; @@ -62,6 +62,9 @@ public class TitheFarmPlugin extends Plugin @Inject private TitheFarmPluginConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private final Set plants = new HashSet<>(); @@ -82,6 +85,8 @@ public class TitheFarmPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + overlayManager.add(titheFarmOverlay); titheFarmOverlay.updateConfig(); } @@ -89,11 +94,19 @@ public class TitheFarmPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(titheFarmOverlay); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("tithefarmplugin")) { @@ -103,14 +116,12 @@ public class TitheFarmPlugin extends Plugin } } - @Subscribe - public void onGameTick(final GameTick event) + private void onGameTick(final GameTick event) { plants.removeIf(plant -> plant.getPlantTimeRelative() == 1); } - @Subscribe - public void onGameObjectSpawned(GameObjectSpawned event) + private void onGameObjectSpawned(GameObjectSpawned event) { GameObject gameObject = event.getGameObject(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java index 133636aa77..1a432301ae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java @@ -35,7 +35,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.kit.KitType; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -57,6 +57,9 @@ public class TMorph extends Plugin @Inject private TMorphConfig config; + @Inject + private EventBus eventBus; + private boolean mageSwap; private boolean rangeSwap; private boolean meleeSwap; @@ -128,10 +131,23 @@ public class TMorph extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("TMorph")) { @@ -139,8 +155,7 @@ public class TMorph extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (this.animationTarget <= 0 && this.animationSwap <= 0 && this.globalAnimSwap > 0) { @@ -158,8 +173,7 @@ public class TMorph extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (client.getGameState() != GameState.LOGGED_IN) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tobdamagecount/DamageCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tobdamagecount/DamageCounterPlugin.java index 842e1cc887..e2c60ac3ca 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tobdamagecount/DamageCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tobdamagecount/DamageCounterPlugin.java @@ -46,12 +46,11 @@ import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; - @PluginDescriptor( name = "ToB Damage Counter", description = "Gives you an estimation damage on a boss and taken after the fight is done" + @@ -105,9 +104,27 @@ public class DamageCounterPlugin extends Plugin private Client client; @Inject private ChatMessageManager chatMessangerManager; + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(LocalPlayerDeath.class, this, this::onLocalPlayerDeath); + } + + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } //every game tick it will go through methods - @Subscribe private void onGameTick(GameTick tick) { if (client.getGameState() != GameState.LOGGED_IN) @@ -140,9 +157,8 @@ public class DamageCounterPlugin extends Plugin } } - @Subscribe //if you hop it will reset the counter - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { if (event.getGameState() == GameState.LOGGED_IN) { @@ -192,7 +208,6 @@ public class DamageCounterPlugin extends Plugin } - @Subscribe //will add the damage that you have taken from the current boss fight private void onHitsplatApplied(HitsplatApplied Hit) { @@ -208,8 +223,7 @@ public class DamageCounterPlugin extends Plugin because every time she phases she "dies" so making sure the counter doesn't print out the damage for phase 1, 2, and 3. */ - @Subscribe - public void onNpcDespawned(NpcDespawned npc) + private void onNpcDespawned(NpcDespawned npc) { NPC actor = npc.getNpc(); double Percent = calculatePercent(WorldPoint.fromLocalInstance(client, @@ -310,7 +324,6 @@ public class DamageCounterPlugin extends Plugin sendChatMessage(MessageTaken); } - @Subscribe //whenever you have died in tob you will get a death message with damage // made sure the message works at ToB area or else it will message every where private void onLocalPlayerDeath(LocalPlayerDeath death) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java index 62923981a9..b409c84217 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java @@ -42,7 +42,7 @@ import net.runelite.client.chat.ChatboxInputListener; import net.runelite.client.chat.CommandManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.ChatboxInput; import net.runelite.client.events.PrivateMessageInput; import net.runelite.client.plugins.Plugin; @@ -72,11 +72,16 @@ public class TwitchPlugin extends Plugin implements TwitchListener, ChatboxInput @Inject private CommandManager commandManager; + @Inject + private EventBus eventBus; + private TwitchIRCClient twitchIRCClient; @Override protected void startUp() { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + connect(); commandManager.register(this); } @@ -84,6 +89,8 @@ public class TwitchPlugin extends Plugin implements TwitchListener, ChatboxInput @Override protected void shutDown() { + eventBus.unregister(this); + if (twitchIRCClient != null) { twitchIRCClient.close(); @@ -149,8 +156,7 @@ public class TwitchPlugin extends Plugin implements TwitchListener, ChatboxInput } } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (!configChanged.getGroup().equals("twitch")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/vetion/VetionPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/vetion/VetionPlugin.java index 9d3179c68c..3207e576bb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/vetion/VetionPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/vetion/VetionPlugin.java @@ -33,7 +33,7 @@ import lombok.Getter; import net.runelite.api.Actor; import net.runelite.api.AnimationID; import net.runelite.api.events.AnimationChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -56,12 +56,17 @@ public class VetionPlugin extends Plugin @Inject private VetionOverlay overlay; + @Inject + private EventBus eventBus; + @Getter private Map vetions; @Override protected void startUp() { + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + vetions = new HashMap<>(); overlayManager.add(overlay); } @@ -73,9 +78,7 @@ public class VetionPlugin extends Plugin vetions = null; } - - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (event.getActor().getAnimation() == AnimationID.VETION_EARTHQUAKE) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java index c9f3bb462f..719b55a6b4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.PluginChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -60,20 +60,33 @@ public class VirtualLevelsPlugin extends Plugin @Inject private ClientThread clientThread; + @Inject + private EventBus eventBus; + @Provides VirtualLevelsConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(VirtualLevelsConfig.class); } + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(PluginChanged.class, this, this::onPluginChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + } + @Override protected void shutDown() { + eventBus.unregister(this); + clientThread.invoke(this::simulateSkillChange); } - @Subscribe - public void onPluginChanged(PluginChanged pluginChanged) + private void onPluginChanged(PluginChanged pluginChanged) { // this is guaranteed to be called after the plugin has been registered by the eventbus. startUp is not. if (pluginChanged.getPlugin() == this) @@ -82,8 +95,7 @@ public class VirtualLevelsPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged configChanged) + private void onConfigChanged(ConfigChanged configChanged) { if (!configChanged.getGroup().equals("virtuallevels")) { @@ -93,8 +105,7 @@ public class VirtualLevelsPlugin extends Plugin clientThread.invoke(this::simulateSkillChange); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent e) + private void onScriptCallbackEvent(ScriptCallbackEvent e) { final String eventName = e.getEventName(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java index 58cefc7efe..2aed82c228 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.ProjectileMoved; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -71,6 +71,9 @@ public class VorkathPlugin extends Plugin @Inject private ZombifiedSpawnOverlay SpawnOverlay; + @Inject + private EventBus eventBus; + @Getter private Vorkath vorkath; @@ -95,8 +98,27 @@ public class VorkathPlugin extends Plugin SPAWN = ImageUtil.getResourceStreamFromClass(VorkathPlugin.class, "ice.png"); } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + @Override + protected void startUp() throws Exception + { + addSubscriptions(); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void addSubscriptions() + { + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onNpcSpawned(NpcSpawned event) { if (isAtVorkath()) { @@ -114,8 +136,7 @@ public class VorkathPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { if (isAtVorkath()) { @@ -133,8 +154,7 @@ public class VorkathPlugin extends Plugin } } - @Subscribe - public void onProjectileMoved(ProjectileMoved event) + private void onProjectileMoved(ProjectileMoved event) { // Only capture initial projectile if (!isAtVorkath() || event.getProjectile().getStartMovementCycle() == lastProjectileCycle) @@ -191,8 +211,7 @@ public class VorkathPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (isAtVorkath() && vorkath != null && event.getActor().equals(vorkath.getVorkath()) && event.getActor().getAnimation() == VorkathAttack.SLASH_ATTACK.getVorkathAnimationID()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java index e3ca95d45a..ca037b8f1e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java @@ -48,7 +48,7 @@ import net.runelite.api.Player; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -80,6 +80,9 @@ public class WarIndicatorPlugin extends Plugin @Inject private Client client; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean highLightCallers; @Getter(AccessLevel.PACKAGE) @@ -111,6 +114,7 @@ public class WarIndicatorPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(warIndicatorOverlay); overlayManager.add(warIndicatorMiniMapOverlay); @@ -119,12 +123,18 @@ public class WarIndicatorPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(warIndicatorOverlay); overlayManager.remove(warIndicatorMiniMapOverlay); } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded onMenuEntryAdded) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + + private void onMenuEntryAdded(MenuEntryAdded onMenuEntryAdded) { int type = onMenuEntryAdded.getType(); @@ -195,8 +205,7 @@ public class WarIndicatorPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("warIndicators")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java index 31878c18ab..e892cd6799 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java @@ -37,7 +37,7 @@ import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.VarbitChanged; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -76,6 +76,8 @@ public class WhaleWatchersPlugin extends Plugin private WhaleWatchersGloryOverlay whaleWatchersGloryOverlay; @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; private int tickCountdown = 0; @Getter(AccessLevel.PACKAGE) private boolean displaySmiteOverlay; @@ -95,8 +97,7 @@ public class WhaleWatchersPlugin extends Plugin return configManager.getConfig(WhaleWatchersConfig.class); } - @Subscribe - public void onOverlayMenuClicked(OverlayMenuClicked event) + private void onOverlayMenuClicked(OverlayMenuClicked event) { if (event.getOverlay().equals(overlay) && event.getEntry().getOption().equals("Reset")) { @@ -108,6 +109,7 @@ public class WhaleWatchersPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(whaleWatchersProtOverlay); @@ -118,6 +120,7 @@ public class WhaleWatchersPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.remove(overlay); overlayManager.remove(whaleWatchersProtOverlay); overlayManager.remove(whaleWatchersSmiteableOverlay); @@ -125,8 +128,18 @@ public class WhaleWatchersPlugin extends Plugin resetDamageCounter(); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + eventBus.subscribe(HitsplatApplied.class, this, this::onHitsplatApplied); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals(CONFIG_GROUP_NAME)) { @@ -149,9 +162,7 @@ public class WhaleWatchersPlugin extends Plugin } } - - @Subscribe - public void onHitsplatApplied(HitsplatApplied event) + private void onHitsplatApplied(HitsplatApplied event) { if (this.showDamageCounter) { @@ -175,9 +186,7 @@ public class WhaleWatchersPlugin extends Plugin } } - - @Subscribe - public void onItemContainerChanged(ItemContainerChanged event) + private void onItemContainerChanged(ItemContainerChanged event) { if (this.gloryWarning && event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT)) { @@ -191,9 +200,7 @@ public class WhaleWatchersPlugin extends Plugin } } - - @Subscribe - public void onMenuOptionClicked(MenuOptionClicked event) + private void onMenuOptionClicked(MenuOptionClicked event) { if (this.showDamageCounter && event.getMenuAction().equals(MenuAction.SPELL_CAST_ON_PLAYER)) { @@ -201,8 +208,7 @@ public class WhaleWatchersPlugin extends Plugin } } - @Subscribe - public void onVarbitChanged(VarbitChanged event) + private void onVarbitChanged(VarbitChanged event) { if (this.showDamageCounter && client.getVar(VarPlayer.ATTACKING_PLAYER) == -1 && inCombat) { @@ -242,8 +248,7 @@ public class WhaleWatchersPlugin extends Plugin } } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (this.showDamageCounter && tickCountdown > 0 && tickCountdown < 11) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java index b07ea0bad0..e0c704aa40 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiPlugin.java @@ -50,7 +50,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.game.chatbox.ChatboxPanelManager; @@ -105,6 +105,9 @@ public class WikiPlugin extends Plugin @Inject private Provider wikiSearchChatboxTextInputProvider; + @Inject + private EventBus eventBus; + private Widget icon; private boolean wikiSelected = false; @@ -112,6 +115,8 @@ public class WikiPlugin extends Plugin @Override public void startUp() { + addSubscriptions(); + spriteManager.addSpriteOverrides(WikiSprite.values()); clientThread.invokeLater(this::addWidgets); } @@ -119,6 +124,8 @@ public class WikiPlugin extends Plugin @Override public void shutDown() { + eventBus.unregister(this); + spriteManager.removeSpriteOverrides(WikiSprite.values()); clientThread.invokeLater(() -> { @@ -139,7 +146,13 @@ public class WikiPlugin extends Plugin }); } - @Subscribe + private void addSubscriptions() + { + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + } + private void onWidgetLoaded(WidgetLoaded l) { if (l.getGroupId() == WidgetID.MINIMAP_GROUP_ID) @@ -195,7 +208,6 @@ public class WikiPlugin extends Plugin } } - @Subscribe private void onMenuOptionClicked(MenuOptionClicked ev) { if (wikiSelected) @@ -322,8 +334,7 @@ public class WikiPlugin extends Plugin .build(); } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { int widgetIndex = event.getActionParam0(); int widgetID = event.getActionParam1(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java index 07e7442638..ac2cc07ca9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java @@ -33,7 +33,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -78,6 +78,9 @@ public class WildernessLocationsPlugin extends Plugin @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + private String oldChat = ""; private int currentCooldown = 0; private WorldPoint worldPoint = null; @@ -105,6 +108,8 @@ public class WildernessLocationsPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + this.drawOverlay = wildyConfig.drawOverlay(); this.keybind = wildyConfig.keybind(); @@ -112,8 +117,14 @@ public class WildernessLocationsPlugin extends Plugin keyManager.registerKeyListener(hotkeyListener); } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarClientStrChanged.class, this, this::onVarClientStrChanged); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("wildernesslocations")) { @@ -127,12 +138,13 @@ public class WildernessLocationsPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); keyManager.unregisterKeyListener(hotkeyListener); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (currentCooldown != 0) { @@ -210,8 +222,7 @@ public class WildernessLocationsPlugin extends Plugin return hashMap; } - @Subscribe - public void onVarClientStrChanged(VarClientStrChanged varClient) + private void onVarClientStrChanged(VarClientStrChanged varClient) { String newChat = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT); if (varClient.getIndex() == VarClientStr.CHATBOX_TYPED_TEXT.getIndex() && !newChat.equals(oldChat)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java index bca3584121..6bdfe862c7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java @@ -54,7 +54,7 @@ import net.runelite.api.events.VarbitChanged; import net.runelite.client.Notifier; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.EventBusImplementation; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.wintertodt.config.WintertodtNotifyMode; @@ -94,7 +94,7 @@ public class WintertodtPlugin extends Plugin private ChatMessageManager chatMessageManager; @Inject - private EventBusImplementation eventbus; + private EventBus eventBus; @Getter(AccessLevel.PACKAGE) private WintertodtActivity currentActivity = WintertodtActivity.IDLE; @@ -143,41 +143,12 @@ public class WintertodtPlugin extends Plugin private void addSubscriptions() { - this.addSubscription( - this.eventbus - .observableOfType(ConfigChanged.class) - .subscribe(this::onConfigChanged) - ); - - this.addSubscription( - this.eventbus - .observableOfType(GameTick.class) - .subscribe(this::onGameTick) - ); - - this.addSubscription( - this.eventbus - .observableOfType(VarbitChanged.class) - .subscribe(this::onVarbitChanged) - ); - - this.addSubscription( - this.eventbus - .observableOfType(ChatMessage.class) - .subscribe(this::onChatMessage) - ); - - this.addSubscription( - this.eventbus - .observableOfType(AnimationChanged.class) - .subscribe(this::onAnimationChanged) - ); - - this.addSubscription( - this.eventbus - .observableOfType(ItemContainerChanged.class) - .subscribe(this::onItemContainerChanged) - ); + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); } private void onConfigChanged(ConfigChanged event) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index 996a13cb30..7bc066283c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -48,7 +48,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -82,6 +82,9 @@ public class WoodcuttingPlugin extends Plugin @Inject private WoodcuttingConfig config; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private WoodcuttingSession session; @@ -108,6 +111,7 @@ public class WoodcuttingPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); overlayManager.add(overlay); overlayManager.add(treesOverlay); @@ -116,6 +120,8 @@ public class WoodcuttingPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); overlayManager.remove(treesOverlay); treeObjects.clear(); @@ -123,8 +129,19 @@ public class WoodcuttingPlugin extends Plugin axe = null; } - @Subscribe - public void onGameTick(GameTick gameTick) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned); + eventBus.subscribe(GameObjectDespawned.class, this, this::onGameObjectDespawned); + eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + } + + private void onGameTick(GameTick gameTick) { if (session == null || session.getLastLogCut() == null) { @@ -141,8 +158,7 @@ public class WoodcuttingPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() == ChatMessageType.SPAM || event.getType() == ChatMessageType.GAMEMESSAGE) { @@ -163,8 +179,7 @@ public class WoodcuttingPlugin extends Plugin } } - @Subscribe - public void onGameObjectSpawned(final GameObjectSpawned event) + private void onGameObjectSpawned(final GameObjectSpawned event) { GameObject gameObject = event.getGameObject(); Tree tree = Tree.findTree(gameObject.getId()); @@ -175,20 +190,17 @@ public class WoodcuttingPlugin extends Plugin } } - @Subscribe - public void onGameObjectDespawned(final GameObjectDespawned event) + private void onGameObjectDespawned(final GameObjectDespawned event) { treeObjects.remove(event.getGameObject()); } - @Subscribe - public void onGameObjectChanged(final GameObjectChanged event) + private void onGameObjectChanged(final GameObjectChanged event) { treeObjects.remove(event.getGameObject()); } - @Subscribe - public void onGameStateChanged(final GameStateChanged event) + private void onGameStateChanged(final GameStateChanged event) { if (event.getGameState() != GameState.LOGGED_IN) { @@ -196,8 +208,7 @@ public class WoodcuttingPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(final AnimationChanged event) + private void onAnimationChanged(final AnimationChanged event) { Player local = client.getLocalPlayer(); @@ -214,8 +225,7 @@ public class WoodcuttingPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("woodcutting")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index 1136fffc31..7613e456ce 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -72,7 +72,7 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -130,6 +130,9 @@ public class WorldHopperPlugin extends Plugin @Inject private WorldHopperConfig config; + @Inject + private EventBus eventBus; + private ScheduledExecutorService hopperExecutorService; private NavigationButton navButton; @@ -183,6 +186,7 @@ public class WorldHopperPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); firstRun = true; @@ -219,6 +223,8 @@ public class WorldHopperPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + pingFuture.cancel(true); pingFuture = null; @@ -236,8 +242,19 @@ public class WorldHopperPlugin extends Plugin hopperExecutorService = null; } - @Subscribe - public void onConfigChanged(final ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); + eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded); + eventBus.subscribe(PlayerMenuOptionClicked.class, this, this::onPlayerMenuOptionClicked); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(WorldListLoad.class, this, this::onWorldListLoad); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + } + + private void onConfigChanged(final ConfigChanged event) { if (event.getGroup().equals(WorldHopperConfig.GROUP)) { @@ -320,8 +337,7 @@ public class WorldHopperPlugin extends Plugin panel.updateFavoriteMenu(world.getId(), false); } - @Subscribe - public void onVarbitChanged(VarbitChanged varbitChanged) + private void onVarbitChanged(VarbitChanged varbitChanged) { int old1 = favoriteWorld1; int old2 = favoriteWorld2; @@ -335,8 +351,7 @@ public class WorldHopperPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void onMenuEntryAdded(MenuEntryAdded event) { if (!config.menuOption()) { @@ -405,8 +420,7 @@ public class WorldHopperPlugin extends Plugin client.setMenuEntries(newMenu); } - @Subscribe - public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) + private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) { if (!event.getMenuOption().equals(HOP_TO)) { @@ -421,8 +435,7 @@ public class WorldHopperPlugin extends Plugin } } - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + private void onGameStateChanged(GameStateChanged gameStateChanged) { // If the player has disabled the side bar plugin panel, do not update the UI if (this.showSidebar && gameStateChanged.getGameState() == GameState.LOGGED_IN) @@ -436,8 +449,7 @@ public class WorldHopperPlugin extends Plugin } } - @Subscribe - public void onWorldListLoad(WorldListLoad worldListLoad) + private void onWorldListLoad(WorldListLoad worldListLoad) { if (!this.showSidebar) { @@ -672,8 +684,7 @@ public class WorldHopperPlugin extends Plugin displaySwitcherAttempts = 0; } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { if (quickHopTargetWorld == null) { @@ -711,8 +722,7 @@ public class WorldHopperPlugin extends Plugin } } - @Subscribe - public void onChatMessage(ChatMessage event) + private void onChatMessage(ChatMessage event) { if (event.getType() != ChatMessageType.GAMEMESSAGE) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java index 7f8a0ec744..9c4f30cc59 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java @@ -41,7 +41,7 @@ import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.WidgetID; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.AgilityShortcut; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -124,6 +124,9 @@ public class WorldMapPlugin extends Plugin @Inject private WorldMapPointManager worldMapPointManager; + @Inject + private EventBus eventBus; + private int agilityLevel = 0; private int woodcuttingLevel = 0; @@ -155,6 +158,8 @@ public class WorldMapPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + agilityLevel = client.getRealSkillLevel(Skill.AGILITY); woodcuttingLevel = client.getRealSkillLevel(Skill.WOODCUTTING); updateShownIcons(); @@ -163,6 +168,8 @@ public class WorldMapPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + worldMapPointManager.removeIf(FairyRingPoint.class::isInstance); worldMapPointManager.removeIf(AgilityShortcutPoint.class::isInstance); worldMapPointManager.removeIf(QuestStartPoint.class::isInstance); @@ -175,8 +182,14 @@ public class WorldMapPlugin extends Plugin woodcuttingLevel = 0; } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + } + + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals(CONFIG_KEY)) { @@ -187,8 +200,7 @@ public class WorldMapPlugin extends Plugin updateShownIcons(); } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { if (event.getSkill() == Skill.AGILITY) { @@ -211,8 +223,7 @@ public class WorldMapPlugin extends Plugin } } - @Subscribe - public void onWidgetLoaded(WidgetLoaded widgetLoaded) + private void onWidgetLoaded(WidgetLoaded widgetLoaded) { if (widgetLoaded.getGroupId() == WidgetID.WORLD_MAP_GROUP_ID) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java index 591543e137..e9b8345dfd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -79,6 +79,9 @@ public class XpGlobesPlugin extends Plugin @Inject private XpGlobesOverlay overlay; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private boolean enableTooltips; private boolean hideMaxed; @@ -108,17 +111,27 @@ public class XpGlobesPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); + overlayManager.add(overlay); } @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(overlay); } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + private void onExperienceChanged(ExperienceChanged event) { Skill skill = event.getSkill(); int currentXp = client.getSkillExperience(skill); @@ -197,8 +210,7 @@ public class XpGlobesPlugin extends Plugin globeCache = new XpGlobe[Skill.values().length - 1]; } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void onGameStateChanged(GameStateChanged event) { switch (event.getGameState()) { @@ -209,10 +221,7 @@ public class XpGlobesPlugin extends Plugin } } - - - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("xpglobes")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index f592cdc166..f926248040 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -53,7 +53,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.NPCManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.plugins.Plugin; @@ -105,6 +105,9 @@ public class XpTrackerPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private EventBus eventBus; + private NavigationButton navButton; private XpPanel xpPanel; private XpWorldType lastWorldType; @@ -143,6 +146,7 @@ public class XpTrackerPlugin extends Plugin protected void startUp() throws Exception { updateConfig(); + addSubscriptions(); xpPanel = new XpPanel(this, client, skillIconManager); @@ -161,13 +165,22 @@ public class XpTrackerPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); overlayManager.removeIf(e -> e instanceof XpInfoBoxOverlay); xpState.reset(); clientToolbar.removeNavigation(navButton); } - @Subscribe - public void onGameStateChanged(GameStateChanged event) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + eventBus.subscribe(ExperienceChanged.class, this, this::onExperienceChanged); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + eventBus.subscribe(GameTick.class, this, this::onGameTick); + } + + private void onGameStateChanged(GameStateChanged event) { GameState state = event.getGameState(); if (state == GameState.LOGGED_IN) @@ -318,8 +331,7 @@ public class XpTrackerPlugin extends Plugin } } - @Subscribe - public void onExperienceChanged(ExperienceChanged event) + private void onExperienceChanged(ExperienceChanged event) { final Skill skill = event.getSkill(); final int currentXp = client.getSkillExperience(skill); @@ -361,8 +373,7 @@ public class XpTrackerPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { final NPC npc = event.getNpc(); @@ -381,8 +392,7 @@ public class XpTrackerPlugin extends Plugin xpPanel.updateTotal(xpState.getTotalSnapshot()); } - @Subscribe - public void onGameTick(GameTick event) + private void onGameTick(GameTick event) { rebuildSkills(); if (fetchXp) @@ -579,8 +589,7 @@ public class XpTrackerPlugin extends Plugin } } - @Subscribe - public void onConfigChanged(ConfigChanged event) + private void onConfigChanged(ConfigChanged event) { if (!event.getGroup().equals("xpTracker")) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java index e8e31dd0f2..a9a95ab724 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -31,7 +31,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.http.api.xtea.XteaClient; @@ -52,8 +52,22 @@ public class XteaPlugin extends Plugin @Inject private Client client; - @Subscribe - public void onGameStateChanged(GameStateChanged gameStateChanged) + @Inject + private EventBus eventBus; + + @Override + protected void startUp() throws Exception + { + eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); + } + + @Override + protected void shutDown() throws Exception + { + eventBus.unregister(this); + } + + private void onGameStateChanged(GameStateChanged gameStateChanged) { if (gameStateChanged.getGameState() != GameState.LOGGED_IN) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java index 634c9fe06a..5e66dc6cd0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.events.FocusChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; @@ -71,14 +71,16 @@ public class ZoomPlugin extends Plugin implements KeyListener @Inject private KeyManager keyManager; + @Inject + private EventBus eventBus; + @Provides ZoomConfig getConfig(ConfigManager configManager) { return configManager.getConfig(ZoomConfig.class); } - @Subscribe - public void onScriptCallbackEvent(ScriptCallbackEvent event) + private void onScriptCallbackEvent(ScriptCallbackEvent event) { if (client.getIndexScripts().isOverlayOutdated()) { @@ -140,8 +142,7 @@ public class ZoomPlugin extends Plugin implements KeyListener } } - @Subscribe - public void onFocusChanged(FocusChanged event) + private void onFocusChanged(FocusChanged event) { if (!event.isFocused()) { @@ -152,6 +153,8 @@ public class ZoomPlugin extends Plugin implements KeyListener @Override protected void startUp() { + addSubscriptions(); + client.setCameraPitchRelaxerEnabled(zoomConfig.relaxCameraPitch()); keyManager.registerKeyListener(this); } @@ -159,13 +162,21 @@ public class ZoomPlugin extends Plugin implements KeyListener @Override protected void shutDown() { + eventBus.unregister(this); + client.setCameraPitchRelaxerEnabled(false); keyManager.unregisterKeyListener(this); controlDown = false; } - @Subscribe - public void onConfigChanged(ConfigChanged ev) + private void addSubscriptions() + { + eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); + eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent); + eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged); + } + + private void onConfigChanged(ConfigChanged ev) { client.setCameraPitchRelaxerEnabled(zoomConfig.relaxCameraPitch()); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java index 82deb0d766..18ee33b51f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zulrah/ZulrahPlugin.java @@ -44,7 +44,7 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.game.Sound; import net.runelite.client.game.SoundManager; import net.runelite.client.plugins.Plugin; @@ -98,6 +98,8 @@ public class ZulrahPlugin extends Plugin private ZulrahPrayerOverlay zulrahPrayerOverlay; @Inject private ZulrahOverlay zulrahOverlay; + @Inject + private EventBus eventBus; private ZulrahInstance instance; @Provides @@ -109,6 +111,8 @@ public class ZulrahPlugin extends Plugin @Override protected void startUp() throws Exception { + addSubscriptions(); + overlayManager.add(currentPhaseOverlay); overlayManager.add(nextPhaseOverlay); overlayManager.add(zulrahPrayerOverlay); @@ -118,6 +122,8 @@ public class ZulrahPlugin extends Plugin @Override protected void shutDown() throws Exception { + eventBus.unregister(this); + overlayManager.remove(currentPhaseOverlay); overlayManager.remove(nextPhaseOverlay); overlayManager.remove(zulrahPrayerOverlay); @@ -126,8 +132,15 @@ public class ZulrahPlugin extends Plugin instance = null; } - @Subscribe - public void onGameTick(GameTick event) + private void addSubscriptions() + { + eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(NpcSpawned.class, this, this::onNpcSpawned); + eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); + } + + private void onGameTick(GameTick event) { if (client.getGameState() != GameState.LOGGED_IN) { @@ -196,8 +209,7 @@ public class ZulrahPlugin extends Plugin } } - @Subscribe - public void onAnimationChanged(AnimationChanged event) + private void onAnimationChanged(AnimationChanged event) { if (instance == null) { @@ -231,8 +243,7 @@ public class ZulrahPlugin extends Plugin } } - @Subscribe - public void onNpcSpawned(NpcSpawned event) + private void onNpcSpawned(NpcSpawned event) { NPC npc = event.getNpc(); if (npc != null && npc.getName() != null && @@ -242,8 +253,7 @@ public class ZulrahPlugin extends Plugin } } - @Subscribe - public void onNpcDespawned(NpcDespawned event) + private void onNpcDespawned(NpcDespawned event) { NPC npc = event.getNpc(); if (npc != null && npc.getName() != null &&