diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 13d30d85f0..2121c44b48 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -27,7 +27,6 @@ package net.runelite.client; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import com.google.common.annotations.VisibleForTesting; -import com.google.common.eventbus.EventBus; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; @@ -45,6 +44,7 @@ import joptsimple.util.EnumConverter; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.events.EventBus; import net.runelite.client.account.SessionManager; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.CommandManager; diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java index ed2e7ac7dc..1b4fce3b38 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java @@ -24,8 +24,6 @@ */ package net.runelite.client; -import com.google.common.eventbus.EventBus; -import com.google.common.eventbus.SubscriberExceptionContext; import com.google.inject.AbstractModule; import com.google.inject.Provides; import com.google.inject.name.Names; @@ -36,6 +34,7 @@ import javax.annotation.Nullable; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.events.EventBus; import net.runelite.api.hooks.Callbacks; import net.runelite.client.account.SessionManager; import net.runelite.client.callback.Hooks; @@ -87,6 +86,9 @@ public class RuneLiteModule extends AbstractModule bind(Callbacks.class).to(Hooks.class); + bind(EventBus.class) + .toInstance(new EventBus()); + bind(EventBus.class) .annotatedWith(Names.named("Deferred EventBus")) .to(DeferredEventBus.class); @@ -123,16 +125,4 @@ public class RuneLiteModule extends AbstractModule { return configManager.getConfig(ChatColorConfig.class); } - - @Provides - @Singleton - EventBus provideEventBus() - { - return new EventBus(RuneLiteModule::eventExceptionHandler); - } - - private static void eventExceptionHandler(Throwable exception, SubscriberExceptionContext context) - { - log.warn("uncaught exception in event subscriber", exception); - } } diff --git a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java index 5a17b54b79..3d76589810 100644 --- a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java @@ -24,7 +24,6 @@ */ package net.runelite.client.account; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.gson.Gson; import java.io.File; @@ -38,6 +37,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.events.EventBus; import net.runelite.api.events.SessionClose; import net.runelite.api.events.SessionOpen; import net.runelite.client.RuneLite; diff --git a/runelite-client/src/main/java/net/runelite/client/account/WSClient.java b/runelite-client/src/main/java/net/runelite/client/account/WSClient.java index 4df3d3aca0..fb1e44178b 100644 --- a/runelite-client/src/main/java/net/runelite/client/account/WSClient.java +++ b/runelite-client/src/main/java/net/runelite/client/account/WSClient.java @@ -24,7 +24,6 @@ */ package net.runelite.client.account; -import com.google.common.eventbus.EventBus; import com.google.gson.Gson; import java.time.Duration; import java.time.Instant; @@ -32,6 +31,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.events.EventBus; import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.ws.WebsocketGsonFactory; import net.runelite.http.api.ws.WebsocketMessage; diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index 766e6acd24..20c75583c4 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -24,7 +24,6 @@ */ package net.runelite.client.callback; -import com.google.common.eventbus.EventBus; import com.google.inject.Injector; import java.awt.Color; import java.awt.Dimension; @@ -47,6 +46,7 @@ import net.runelite.api.MainBufferProvider; import net.runelite.api.RenderOverview; import net.runelite.api.Renderable; import net.runelite.api.WorldMapManager; +import net.runelite.api.events.EventBus; import net.runelite.api.events.GameTick; import net.runelite.api.hooks.Callbacks; import net.runelite.api.hooks.DrawCallbacks; diff --git a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java index 4812370f06..1b087fe71e 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java @@ -25,7 +25,6 @@ */ package net.runelite.client.chat; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import java.util.ArrayList; import java.util.Arrays; @@ -37,6 +36,7 @@ import net.runelite.api.Client; import net.runelite.api.ScriptID; import net.runelite.api.VarClientStr; import net.runelite.api.events.CommandExecuted; +import net.runelite.api.events.EventBus; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.events.ChatboxInput; diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index d85139cfdb..ad5314557d 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -27,7 +27,6 @@ package net.runelite.client.config; import com.google.common.base.Strings; import com.google.common.collect.ComparisonChain; import com.google.common.collect.ImmutableMap; -import com.google.common.eventbus.EventBus; import java.awt.Color; import java.awt.Dimension; import java.awt.Point; @@ -56,6 +55,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.events.ConfigChanged; +import net.runelite.api.events.EventBus; import net.runelite.client.RuneLite; import net.runelite.client.account.AccountSession; import net.runelite.http.api.config.ConfigClient; diff --git a/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java b/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java index ecb337780f..90ac759f00 100644 --- a/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java +++ b/runelite-client/src/main/java/net/runelite/client/discord/DiscordService.java @@ -25,12 +25,12 @@ package net.runelite.client.discord; import com.google.common.base.Strings; -import com.google.common.eventbus.EventBus; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.events.EventBus; import net.runelite.client.RuneLiteProperties; import net.runelite.client.discord.events.DiscordDisconnected; import net.runelite.client.discord.events.DiscordErrored; diff --git a/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java b/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java index 8614109385..921f9cc376 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java @@ -24,7 +24,6 @@ */ package net.runelite.client.game; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -32,6 +31,7 @@ import java.util.function.Consumer; import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.ScriptID; +import net.runelite.api.events.EventBus; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; diff --git a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java index 371fa8744f..14fa3e0596 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java @@ -27,7 +27,6 @@ package net.runelite.client.game; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ListMultimap; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import java.util.ArrayList; import java.util.Collection; @@ -49,6 +48,7 @@ import net.runelite.api.Tile; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; +import net.runelite.api.events.EventBus; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemDespawned; import net.runelite.api.events.ItemQuantityChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java index 954a83b08c..659b66ab93 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java @@ -24,7 +24,6 @@ */ package net.runelite.client.game.chatbox; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; import com.google.inject.Provider; @@ -35,6 +34,7 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.ScriptID; import net.runelite.api.VarClientInt; +import net.runelite.api.events.EventBus; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.vars.InputType; diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java index e5b3278f27..6d24dd3033 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java @@ -27,7 +27,6 @@ package net.runelite.client.menus; import com.google.common.base.Preconditions; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import java.util.Arrays; import java.util.Collection; @@ -43,6 +42,7 @@ import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.NPCComposition; +import net.runelite.api.events.EventBus; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcActionChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java index 5dc44b1264..b6839ce188 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.common.graph.Graph; import com.google.common.graph.GraphBuilder; @@ -59,6 +58,7 @@ import javax.inject.Singleton; import javax.swing.SwingUtilities; import lombok.Setter; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.events.EventBus; import net.runelite.api.events.SessionClose; import net.runelite.api.events.SessionOpen; import net.runelite.client.RuneLite; @@ -337,7 +337,7 @@ public class PluginManager schedule(plugin); eventBus.post(new PluginChanged(plugin, true)); } - catch (InterruptedException | InvocationTargetException ex) + catch (InterruptedException | InvocationTargetException | IllegalArgumentException ex) { throw new PluginInstantiationException(ex); } 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 0994745b42..088918ff47 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 @@ -27,7 +27,6 @@ package net.runelite.client.plugins.devtools; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import com.google.common.collect.ImmutableList; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Provides; import java.awt.image.BufferedImage; @@ -45,6 +44,7 @@ import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.CommandExecuted; +import net.runelite.api.events.EventBus; import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.VarbitChanged; 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 4295012d54..d86c6c179c 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 @@ -24,7 +24,6 @@ */ package net.runelite.client.plugins.devtools; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; import java.awt.BorderLayout; @@ -52,6 +51,7 @@ import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; +import net.runelite.api.events.EventBus; import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.events.VarbitChanged; 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 e4f1f79632..29a743a75a 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 @@ -26,7 +26,6 @@ */ package net.runelite.client.plugins.devtools; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; import java.awt.BorderLayout; @@ -50,6 +49,7 @@ import javax.swing.tree.DefaultTreeModel; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.events.ConfigChanged; +import net.runelite.api.events.EventBus; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPanel.java index 45a4df8625..bffba2f44a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/info/InfoPanel.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.info; import com.google.common.base.MoreObjects; -import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Inject; import java.awt.BorderLayout; @@ -46,6 +45,7 @@ import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.event.HyperlinkEvent; import net.runelite.api.Client; +import net.runelite.api.events.EventBus; import net.runelite.api.events.SessionClose; import net.runelite.api.events.SessionOpen; import net.runelite.client.RuneLiteProperties; 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 ad93152fcf..c42c845e86 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 @@ -24,12 +24,12 @@ */ package net.runelite.client.plugins.mta; -import com.google.common.eventbus.EventBus; import com.google.inject.Provides; import javax.inject.Inject; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; +import net.runelite.api.events.EventBus; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientToolbar.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientToolbar.java index 781751961c..8306df1596 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientToolbar.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientToolbar.java @@ -24,11 +24,11 @@ */ package net.runelite.client.ui; -import com.google.common.eventbus.EventBus; import java.util.HashSet; import java.util.Set; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.api.events.EventBus; import net.runelite.client.events.NavigationButtonAdded; import net.runelite.client.events.NavigationButtonRemoved; diff --git a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java index 8890c65871..fb3166a783 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java +++ b/runelite-client/src/main/java/net/runelite/client/util/DeferredEventBus.java @@ -24,11 +24,11 @@ */ package net.runelite.client.util; -import com.google.common.eventbus.EventBus; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.api.events.EventBus; @Singleton public class DeferredEventBus extends EventBus diff --git a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java index 88e69d8d78..44c09276e4 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java +++ b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java @@ -24,7 +24,6 @@ */ package net.runelite.client.util; -import com.google.common.eventbus.EventBus; import java.util.Arrays; import java.util.Objects; import java.util.Optional; @@ -43,6 +42,7 @@ import net.runelite.api.Player; import net.runelite.api.Scene; import net.runelite.api.Tile; import net.runelite.api.events.DecorativeObjectSpawned; +import net.runelite.api.events.EventBus; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.ItemContainerChanged; diff --git a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java index b5f520ee2a..ad8ca4f2ea 100644 --- a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java @@ -24,7 +24,6 @@ */ package net.runelite.client.config; -import com.google.common.eventbus.EventBus; import com.google.inject.Guice; import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.BoundFieldModule; @@ -33,6 +32,7 @@ import java.time.Instant; import java.util.UUID; import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; +import net.runelite.api.events.EventBus; import net.runelite.client.account.AccountSession; import org.junit.Assert; import org.junit.Before;