Merge pull request #998 from Owain94/rx

eventbus: use RxJava instead of Guava
This commit is contained in:
Tyler Bochard
2019-07-17 16:54:54 -04:00
committed by GitHub
248 changed files with 4191 additions and 2543 deletions

View File

@@ -41,14 +41,14 @@ public interface Callbacks
* *
* @param event the event * @param event the event
*/ */
void post(Object event); <T> void post(Class<T> eventClass, Object event);
/** /**
* Post a deferred event, which gets delayed until the next cycle. * Post a deferred event, which gets delayed until the next cycle.
* *
* @param event the event * @param event the event
*/ */
void postDeferred(Object event); <T> void postDeferred(Class<T> eventClass, Object event);
/** /**
* Called each client cycle. * Called each client cycle.

View File

@@ -300,6 +300,16 @@
<artifactId>httpmime</artifactId> <artifactId>httpmime</artifactId>
<version>4.5.9</version> <version>4.5.9</version>
</dependency> </dependency>
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.2.10</version>
</dependency>
<dependency>
<groupId>com.jakewharton.rxrelay2</groupId>
<artifactId>rxrelay</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@@ -48,16 +48,9 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.client.account.SessionManager; import net.runelite.client.account.SessionManager;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.CommandManager;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.discord.DiscordService; import net.runelite.client.discord.DiscordService;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.game.ClanManager;
import net.runelite.client.game.ItemManager;
import net.runelite.client.game.LootManager;
import net.runelite.client.game.chatbox.ChatboxPanelManager;
import net.runelite.client.graphics.ModelOutlineRenderer; import net.runelite.client.graphics.ModelOutlineRenderer;
import net.runelite.client.menus.MenuManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginInstantiationException; import net.runelite.client.plugins.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager; import net.runelite.client.plugins.PluginManager;
@@ -65,18 +58,14 @@ import net.runelite.client.rs.ClientLoader;
import net.runelite.client.rs.ClientUpdateCheckMode; import net.runelite.client.rs.ClientUpdateCheckMode;
import net.runelite.client.task.Scheduler; import net.runelite.client.task.Scheduler;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.DrawManager;
import net.runelite.client.ui.RuneLiteSplashScreen; import net.runelite.client.ui.RuneLiteSplashScreen;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.OverlayRenderer;
import net.runelite.client.ui.overlay.WidgetOverlay; import net.runelite.client.ui.overlay.WidgetOverlay;
import net.runelite.client.ui.overlay.arrow.ArrowMinimapOverlay; import net.runelite.client.ui.overlay.arrow.ArrowMinimapOverlay;
import net.runelite.client.ui.overlay.arrow.ArrowWorldOverlay; import net.runelite.client.ui.overlay.arrow.ArrowWorldOverlay;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
import net.runelite.client.ws.PartyService;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@Singleton @Singleton
@@ -97,15 +86,9 @@ public class RuneLite
@Inject @Inject
private PluginManager pluginManager; private PluginManager pluginManager;
@Inject
private EventBus eventBus;
@Inject @Inject
private ConfigManager configManager; private ConfigManager configManager;
@Inject
private DrawManager drawManager;
@Inject @Inject
private SessionManager sessionManager; private SessionManager sessionManager;
@@ -118,33 +101,12 @@ public class RuneLite
@Inject @Inject
private ClientUI clientUI; private ClientUI clientUI;
@Inject
private InfoBoxManager infoBoxManager;
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@Inject
private PartyService partyService;
@Inject
private Provider<ItemManager> itemManager;
@Inject
private Provider<OverlayRenderer> overlayRenderer;
@Inject
private Provider<ClanManager> clanManager;
@Inject @Inject
private Provider<ChatMessageManager> chatMessageManager; private Provider<ChatMessageManager> chatMessageManager;
@Inject
private Provider<MenuManager> menuManager;
@Inject
private Provider<CommandManager> commandManager;
@Inject @Inject
private Provider<InfoBoxOverlay> infoBoxOverlay; private Provider<InfoBoxOverlay> infoBoxOverlay;
@@ -160,12 +122,6 @@ public class RuneLite
@Inject @Inject
private Provider<ArrowMinimapOverlay> arrowMinimapOverlay; private Provider<ArrowMinimapOverlay> arrowMinimapOverlay;
@Inject
private Provider<LootManager> lootManager;
@Inject
private Provider<ChatboxPanelManager> chatboxPanelManager;
@Inject @Inject
@Nullable @Nullable
private Client client; private Client client;
@@ -351,28 +307,11 @@ public class RuneLite
// Close the splash screen // Close the splash screen
splashScreen.close(); splashScreen.close();
// Register event listeners
eventBus.register(clientUI);
eventBus.register(pluginManager);
eventBus.register(overlayManager);
eventBus.register(drawManager);
eventBus.register(infoBoxManager);
eventBus.register(partyService);
if (!isOutdated) if (!isOutdated)
{ {
// Initialize chat colors // Initialize chat colors
chatMessageManager.get().loadColors(); chatMessageManager.get().loadColors();
eventBus.register(overlayRenderer.get());
eventBus.register(clanManager.get());
eventBus.register(itemManager.get());
eventBus.register(menuManager.get());
eventBus.register(chatMessageManager.get());
eventBus.register(commandManager.get());
eventBus.register(lootManager.get());
eventBus.register(chatboxPanelManager.get());
// Add core overlays // Add core overlays
WidgetOverlay.createOverlays(client).forEach(overlayManager::add); WidgetOverlay.createOverlays(client).forEach(overlayManager::add);
overlayManager.add(infoBoxOverlay.get()); overlayManager.add(infoBoxOverlay.get());

View File

@@ -39,7 +39,6 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.client.RuneLite; import net.runelite.client.RuneLite;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen; import net.runelite.client.events.SessionOpen;
import net.runelite.client.util.LinkBrowser; import net.runelite.client.util.LinkBrowser;
@@ -67,7 +66,8 @@ public class SessionManager
this.configManager = configManager; this.configManager = configManager;
this.eventBus = eventBus; this.eventBus = eventBus;
this.wsClient = wsClient; this.wsClient = wsClient;
eventBus.register(this);
this.eventBus.subscribe(LoginResponse.class, this, this::onLoginResponse);
} }
public void loadSession() public void loadSession()
@@ -150,7 +150,7 @@ public class SessionManager
configManager.switchSession(); configManager.switchSession();
} }
eventBus.post(new SessionOpen()); eventBus.post(SessionOpen.class, new SessionOpen());
} }
private void closeSession() private void closeSession()
@@ -179,7 +179,7 @@ public class SessionManager
// Restore config // Restore config
configManager.switchSession(); configManager.switchSession();
eventBus.post(new SessionClose()); eventBus.post(SessionClose.class, new SessionClose());
} }
public void login() public void login()
@@ -207,8 +207,7 @@ public class SessionManager
LinkBrowser.browse(login.getOauthUrl()); LinkBrowser.browse(login.getOauthUrl());
} }
@Subscribe private void onLoginResponse(LoginResponse loginResponse)
public void onLoginResponse(LoginResponse loginResponse)
{ {
log.debug("Now logged in as {}", loginResponse.getUsername()); log.debug("Now logged in as {}", loginResponse.getUsername());

View File

@@ -128,15 +128,15 @@ public class Hooks implements Callbacks
private boolean shouldProcessGameTick; private boolean shouldProcessGameTick;
@Override @Override
public void post(Object event) public <T> void post(Class<T> eventClass, Object event)
{ {
eventBus.post(event); eventBus.post(eventClass, event);
} }
@Override @Override
public void postDeferred(Object event) public <T> void postDeferred(Class<T> eventClass, Object event)
{ {
deferredEventBus.post(event); deferredEventBus.post(eventClass, event);
} }
@Override @Override
@@ -148,13 +148,13 @@ public class Hooks implements Callbacks
deferredEventBus.replay(); deferredEventBus.replay();
eventBus.post(GameTick.INSTANCE); eventBus.post(GameTick.class, GameTick.INSTANCE);
int tick = client.getTickCount(); int tick = client.getTickCount();
client.setTickCount(tick + 1); client.setTickCount(tick + 1);
} }
eventBus.post(BeforeRender.INSTANCE); eventBus.post(BeforeRender.class, BeforeRender.INSTANCE);
clientThread.invoke(); clientThread.invoke();
@@ -509,7 +509,7 @@ public class Hooks implements Callbacks
public static boolean drawMenu() public static boolean drawMenu()
{ {
BeforeMenuRender event = new BeforeMenuRender(); BeforeMenuRender event = new BeforeMenuRender();
client.getCallbacks().post(event); client.getCallbacks().post(BeforeMenuRender.class, event);
return event.isConsumed(); return event.isConsumed();
} }
} }

View File

@@ -35,7 +35,6 @@ import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ChatInput; import net.runelite.client.events.ChatInput;
import net.runelite.client.events.ChatboxInput; import net.runelite.client.events.ChatboxInput;
import net.runelite.client.events.PrivateMessageInput; import net.runelite.client.events.PrivateMessageInput;
@@ -53,8 +52,10 @@ public class ChatCommandManager implements ChatboxInputListener
{ {
this.client = client; this.client = client;
this.scheduledExecutorService = scheduledExecutorService; this.scheduledExecutorService = scheduledExecutorService;
eventBus.register(this); // eventBus.register(this);
commandManager.register(this); commandManager.register(this);
eventBus.subscribe(ChatMessage.class, this, this::onChatMessage);
} }
public void registerCommand(String command, BiConsumer<ChatMessage, String> execute) public void registerCommand(String command, BiConsumer<ChatMessage, String> execute)
@@ -82,8 +83,7 @@ public class ChatCommandManager implements ChatboxInputListener
commands.remove(command.toLowerCase()); commands.remove(command.toLowerCase());
} }
@Subscribe private void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{ {

View File

@@ -52,7 +52,7 @@ import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.ChatColorConfig;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.ui.JagexColors; import net.runelite.client.ui.JagexColors;
import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ColorUtil;
@@ -70,17 +70,23 @@ public class ChatMessageManager
@Inject @Inject
private ChatMessageManager( private ChatMessageManager(
Client client, final Client client,
ChatColorConfig chatColorConfig, final ChatColorConfig chatColorConfig,
ClientThread clientThread) final ClientThread clientThread,
final EventBus eventbus)
{ {
this.client = client; this.client = client;
this.chatColorConfig = chatColorConfig; this.chatColorConfig = chatColorConfig;
this.clientThread = clientThread; this.clientThread = clientThread;
eventbus.subscribe(VarbitChanged.class, this, this::onVarbitChanged);
eventbus.subscribe(ResizeableChanged.class, this, this::onResizeableChanged);
eventbus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventbus.subscribe(ChatMessage.class, this, this::onChatMessage);
eventbus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent);
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
int setting = client.getVar(Varbits.TRANSPARENT_CHATBOX); int setting = client.getVar(Varbits.TRANSPARENT_CHATBOX);
@@ -91,14 +97,12 @@ public class ChatMessageManager
} }
} }
@Subscribe private void onResizeableChanged(ResizeableChanged event)
public void onResizeableChanged(ResizeableChanged event)
{ {
refreshAll(); refreshAll();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("textrecolor")) if (event.getGroup().equals("textrecolor"))
{ {
@@ -107,8 +111,7 @@ public class ChatMessageManager
} }
} }
@Subscribe private void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
MessageNode messageNode = chatMessage.getMessageNode(); MessageNode messageNode = chatMessage.getMessageNode();
ChatMessageType chatMessageType = chatMessage.getType(); ChatMessageType chatMessageType = chatMessage.getType();
@@ -173,8 +176,7 @@ public class ChatMessageManager
} }
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
{ {
final String eventName = scriptCallbackEvent.getEventName(); final String eventName = scriptCallbackEvent.getEventName();

View File

@@ -38,7 +38,6 @@ import net.runelite.api.events.CommandExecuted;
import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ChatboxInput; import net.runelite.client.events.ChatboxInput;
import net.runelite.client.events.PrivateMessageInput; import net.runelite.client.events.PrivateMessageInput;
@@ -58,11 +57,17 @@ public class CommandManager
private final List<ChatboxInputListener> chatboxInputListenerList = new ArrayList<>(); private final List<ChatboxInputListener> chatboxInputListenerList = new ArrayList<>();
@Inject @Inject
private CommandManager(Client client, EventBus eventBus, ClientThread clientThread) private CommandManager(
final Client client,
final EventBus eventBus,
final ClientThread clientThread
)
{ {
this.client = client; this.client = client;
this.eventBus = eventBus; this.eventBus = eventBus;
this.clientThread = clientThread; this.clientThread = clientThread;
eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent);
} }
public void register(ChatboxInputListener chatboxInputListener) public void register(ChatboxInputListener chatboxInputListener)
@@ -75,7 +80,6 @@ public class CommandManager
chatboxInputListenerList.remove(chatboxInputListener); chatboxInputListenerList.remove(chatboxInputListener);
} }
@Subscribe
private void onScriptCallbackEvent(ScriptCallbackEvent event) private void onScriptCallbackEvent(ScriptCallbackEvent event)
{ {
if (sending) if (sending)
@@ -115,7 +119,7 @@ public class CommandManager
String[] args = Arrays.copyOfRange(split, 1, split.length); String[] args = Arrays.copyOfRange(split, 1, split.length);
CommandExecuted commandExecuted = new CommandExecuted(command, args); CommandExecuted commandExecuted = new CommandExecuted(command, args);
eventBus.post(commandExecuted); eventBus.post(CommandExecuted.class, commandExecuted);
} }
private void handleInput(ScriptCallbackEvent event) private void handleInput(ScriptCallbackEvent event)

View File

@@ -66,8 +66,8 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.client.RuneLite; import net.runelite.client.RuneLite;
import static net.runelite.client.RuneLite.PROFILES_DIR; import static net.runelite.client.RuneLite.PROFILES_DIR;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.util.ColorUtil;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.util.ColorUtil;
@Singleton @Singleton
@Slf4j @Slf4j
@@ -89,7 +89,6 @@ public class ConfigManager
@Inject @Inject
public ConfigManager(ScheduledExecutorService scheduledExecutorService) public ConfigManager(ScheduledExecutorService scheduledExecutorService)
{ {
scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS); scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS);
} }
@@ -194,7 +193,7 @@ public class ConfigManager
configChanged.setKey(key); configChanged.setKey(key);
configChanged.setOldValue(null); configChanged.setOldValue(null);
configChanged.setNewValue(value); configChanged.setNewValue(value);
eventBus.post(configChanged); eventBus.post(ConfigChanged.class, configChanged);
}); });
} }
catch (Exception ex) catch (Exception ex)
@@ -233,7 +232,7 @@ public class ConfigManager
private void postConfigChanged(ConfigChanged configChanged) private void postConfigChanged(ConfigChanged configChanged)
{ {
configObjectCache.remove(configChanged.getGroup() + "." + configChanged.getKey()); configObjectCache.remove(configChanged.getGroup() + "." + configChanged.getKey());
eventBus.post(configChanged); eventBus.post(ConfigChanged.class, configChanged);
} }
public <T> T getConfig(Class<T> clazz) public <T> T getConfig(Class<T> clazz)
@@ -332,7 +331,7 @@ public class ConfigManager
configChanged.setKey(key); configChanged.setKey(key);
configChanged.setOldValue(oldValue); configChanged.setOldValue(oldValue);
eventBus.post(configChanged); eventBus.post(ConfigChanged.class, configChanged);
} }
public ConfigDescriptor getConfigDescriptor(Object configurationProxy) public ConfigDescriptor getConfigDescriptor(Object configurationProxy)

View File

@@ -198,7 +198,7 @@ public class DiscordService implements AutoCloseable
{ {
log.info("Discord RPC service is ready with user {}.", user.username); log.info("Discord RPC service is ready with user {}.", user.username);
currentUser = user; currentUser = user;
eventBus.post(new DiscordReady( eventBus.post(DiscordReady.class, new DiscordReady(
user.userId, user.userId,
user.username, user.username,
user.discriminator, user.discriminator,
@@ -207,28 +207,28 @@ public class DiscordService implements AutoCloseable
private void disconnected(int errorCode, String message) private void disconnected(int errorCode, String message)
{ {
eventBus.post(new DiscordDisconnected(errorCode, message)); eventBus.post(DiscordDisconnected.class, new DiscordDisconnected(errorCode, message));
} }
private void errored(int errorCode, String message) private void errored(int errorCode, String message)
{ {
log.warn("Discord error: {} - {}", errorCode, message); log.warn("Discord error: {} - {}", errorCode, message);
eventBus.post(new DiscordErrored(errorCode, message)); eventBus.post(DiscordErrored.class, new DiscordErrored(errorCode, message));
} }
private void joinGame(String joinSecret) private void joinGame(String joinSecret)
{ {
eventBus.post(new DiscordJoinGame(joinSecret)); eventBus.post(DiscordJoinGame.class, new DiscordJoinGame(joinSecret));
} }
private void spectateGame(String spectateSecret) private void spectateGame(String spectateSecret)
{ {
eventBus.post(new DiscordSpectateGame(spectateSecret)); eventBus.post(DiscordSpectateGame.class, new DiscordSpectateGame(spectateSecret));
} }
private void joinRequest(DiscordUser user) private void joinRequest(DiscordUser user)
{ {
eventBus.post(new DiscordJoinRequest( eventBus.post(DiscordJoinRequest.class, new DiscordJoinRequest(
user.userId, user.userId,
user.username, user.username,
user.discriminator, user.discriminator,

View File

@@ -1,249 +1,72 @@
/*
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
* Copyright (c) 2018, Abex
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.eventbus; package net.runelite.client.eventbus;
import com.google.common.base.Preconditions; import com.jakewharton.rxrelay2.PublishRelay;
import com.google.common.collect.HashMultimap; import com.jakewharton.rxrelay2.Relay;
import com.google.common.collect.ImmutableMultimap; import io.reactivex.annotations.NonNull;
import com.google.common.collect.Multimap; import io.reactivex.disposables.CompositeDisposable;
import java.lang.invoke.CallSite; import io.reactivex.disposables.Disposable;
import java.lang.invoke.LambdaMetafactory; import io.reactivex.functions.Consumer;
import java.lang.invoke.MethodHandle; import java.util.HashMap;
import java.lang.invoke.MethodHandles; import java.util.Map;
import java.lang.invoke.MethodType; import java.util.Objects;
import java.lang.reflect.Field; import javax.inject.Singleton;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.function.Consumer;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
import lombok.EqualsAndHashCode;
import lombok.RequiredArgsConstructor;
import lombok.Value;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@RequiredArgsConstructor @Singleton
@ThreadSafe public class EventBus implements EventBusInterface
public class EventBus
{ {
@FunctionalInterface private Map<Class<?>, Relay<Object>> subjectList = new HashMap<>();
public interface SubscriberMethod private Map<Object, CompositeDisposable> subscriptionsMap = new HashMap<>();
@NonNull
private <T> Relay<Object> getSubject(Class<T> eventClass)
{ {
void invoke(Object event); return subjectList.computeIfAbsent(eventClass, k -> PublishRelay.create().toSerialized());
} }
@Value @NonNull
private static class Subscriber private CompositeDisposable getCompositeDisposable(@NonNull Object object)
{ {
private final Object object; CompositeDisposable compositeDisposable = subscriptionsMap.get(object);
private final Method method; if (compositeDisposable == null)
@EqualsAndHashCode.Exclude
private final SubscriberMethod lamda;
void invoke(final Object arg) throws Exception
{ {
if (lamda != null) compositeDisposable = new CompositeDisposable();
subscriptionsMap.put(object, compositeDisposable);
}
return compositeDisposable;
}
@Override
// Subscribe on lifecycle (for example from plugin startUp -> shutdown)
public <T> void subscribe(Class<T> eventClass, @NonNull Object lifecycle, @NonNull Consumer<T> action)
{
Disposable disposable = getSubject(eventClass)
.filter(Objects::nonNull) // Filter out null objects, better safe than sorry
.cast(eventClass) // Cast it for easier usage
.subscribe(action, error ->
{ {
lamda.invoke(arg); log.error("Error in eventbus: {}", error.getMessage());
} });
else
{ getCompositeDisposable(lifecycle).add(disposable);
method.invoke(object, arg); }
}
@Override
public void unregister(@NonNull Object lifecycle)
{
//We have to remove the composition from the map, because once you dispose it can't be used anymore
CompositeDisposable compositeDisposable = subscriptionsMap.remove(lifecycle);
if (compositeDisposable != null)
{
compositeDisposable.dispose();
} }
} }
private final Consumer<Throwable> exceptionHandler; @Override
private ImmutableMultimap<Class, Subscriber> subscribers = ImmutableMultimap.of(); public <T> void post(Class<T> eventClass, @NonNull Object event)
/**
* Instantiates EventBus with default exception handler
*/
public EventBus()
{ {
this((e) -> log.warn("Uncaught exception in event subscriber", e)); getSubject(eventClass).accept(event);
}
/**
* Registers subscriber to EventBus. All methods in subscriber and it's parent classes are checked for
* {@link Subscribe} annotation and then added to map of subscriptions.
*
* @param object subscriber to register
* @throws IllegalArgumentException in case subscriber method name is wrong (correct format is 'on' + EventName
*/
public synchronized void register(@Nonnull final Object object)
{
final ImmutableMultimap.Builder<Class, Subscriber> builder = ImmutableMultimap.builder();
if (subscribers != null)
{
builder.putAll(subscribers);
}
for (Class<?> clazz = object.getClass(); clazz != null; clazz = clazz.getSuperclass())
{
for (final Method method : clazz.getDeclaredMethods())
{
final Subscribe sub = method.getAnnotation(Subscribe.class);
if (sub == null)
{
continue;
}
Preconditions.checkArgument(method.getReturnType() == Void.TYPE, "@Subscribed method \"" + method + "\" cannot return a value");
Preconditions.checkArgument(method.getParameterCount() == 1, "@Subscribed method \"" + method + "\" must take exactly 1 argument");
Preconditions.checkArgument(!Modifier.isStatic(method.getModifiers()), "@Subscribed method \"" + method + "\" cannot be static");
final Class<?> parameterClazz = method.getParameterTypes()[0];
Preconditions.checkArgument(!parameterClazz.isPrimitive(), "@Subscribed method \"" + method + "\" cannot subscribe to primitives");
Preconditions.checkArgument((parameterClazz.getModifiers() & (Modifier.ABSTRACT | Modifier.INTERFACE)) == 0, "@Subscribed method \"" + method + "\" cannot subscribe to polymorphic classes");
for (Class<?> psc = parameterClazz.getSuperclass(); psc != null; psc = psc.getSuperclass())
{
if (subscribers.containsKey(psc))
{
throw new IllegalArgumentException("@Subscribed method \"" + method + "\" cannot subscribe to class which inherits from subscribed class \"" + psc + "\"");
}
}
final String preferredName = "on" + parameterClazz.getSimpleName();
Preconditions.checkArgument(method.getName().equals(preferredName), "Subscribed method " + method + " should be named " + preferredName);
method.setAccessible(true);
SubscriberMethod lambda = null;
try
{
final MethodHandles.Lookup caller = privateLookupIn(clazz);
final MethodType subscription = MethodType.methodType(void.class, parameterClazz);
final MethodHandle target = caller.findVirtual(clazz, method.getName(), subscription);
final CallSite site = LambdaMetafactory.metafactory(
caller,
"invoke",
MethodType.methodType(SubscriberMethod.class, clazz),
subscription.changeParameterType(0, Object.class),
target,
subscription);
final MethodHandle factory = site.getTarget();
lambda = (SubscriberMethod) factory.bindTo(object).invokeExact();
}
catch (Throwable e)
{
log.warn("Unable to create lambda for method {}", method, e);
}
final Subscriber subscriber = new Subscriber(object, method, lambda);
builder.put(parameterClazz, subscriber);
log.debug("Registering {} - {}", parameterClazz, subscriber);
}
}
subscribers = builder.build();
}
/**
* Unregisters all subscribed methods from provided subscriber object.
*
* @param object object to unsubscribe from
*/
public synchronized void unregister(@Nonnull final Object object)
{
if (subscribers == null)
{
return;
}
final Multimap<Class, Subscriber> map = HashMultimap.create();
map.putAll(subscribers);
for (Class<?> clazz = object.getClass(); clazz != null; clazz = clazz.getSuperclass())
{
for (final Method method : clazz.getDeclaredMethods())
{
final Subscribe sub = method.getAnnotation(Subscribe.class);
if (sub == null)
{
continue;
}
final Class<?> parameterClazz = method.getParameterTypes()[0];
map.remove(parameterClazz, new Subscriber(object, method, null));
}
}
subscribers = ImmutableMultimap.copyOf(map);
}
/**
* Posts provided event to all registered subscribers. Subscriber calls are invoked immediately and in order
* in which subscribers were registered.
*
* @param event event to post
*/
public void post(@Nonnull final Object event)
{
for (final Subscriber subscriber : subscribers.get(event.getClass()))
{
try
{
subscriber.invoke(event);
}
catch (Exception e)
{
exceptionHandler.accept(e);
}
}
}
private static MethodHandles.Lookup privateLookupIn(Class clazz) throws IllegalAccessException, NoSuchFieldException, InvocationTargetException
{
try
{
// Java 9+ has privateLookupIn method on MethodHandles, but since we are shipping and using Java 8
// we need to access it via reflection. This is preferred way because it's Java 9+ public api and is
// likely to not change
final Method privateLookupIn = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class);
return (MethodHandles.Lookup) privateLookupIn.invoke(null, clazz, MethodHandles.lookup());
}
catch (NoSuchMethodException e)
{
// In Java 8 we first do standard lookupIn class
final MethodHandles.Lookup lookupIn = MethodHandles.lookup().in(clazz);
// and then we mark it as trusted for private lookup via reflection on private field
final Field modes = MethodHandles.Lookup.class.getDeclaredField("allowedModes");
modes.setAccessible(true);
modes.setInt(lookupIn, -1); // -1 == TRUSTED
return lookupIn;
}
} }
} }

View File

@@ -0,0 +1,13 @@
package net.runelite.client.eventbus;
import io.reactivex.annotations.NonNull;
import io.reactivex.functions.Consumer;
public interface EventBusInterface
{
<T> void subscribe(Class<T> eventClass, @NonNull Object lifecycle, @NonNull Consumer<T> action);
void unregister(@NonNull Object lifecycle);
<T> void post(Class<T> eventClass, @NonNull Object event);
}

View File

@@ -1,41 +0,0 @@
/*
* Copyright (c) 2018, Abex
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.eventbus;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Marks a method as an event subscriber.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface Subscribe
{
}

View File

@@ -44,7 +44,7 @@ import net.runelite.api.IndexedSprite;
import net.runelite.api.SpriteID; import net.runelite.api.SpriteID;
import net.runelite.api.events.ClanChanged; import net.runelite.api.events.ClanChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -97,10 +97,17 @@ public class ClanManager
private int modIconsLength; private int modIconsLength;
@Inject @Inject
private ClanManager(Client client, SpriteManager spriteManager) private ClanManager(
final Client client,
final SpriteManager spriteManager,
final EventBus eventbus
)
{ {
this.client = client; this.client = client;
this.spriteManager = spriteManager; this.spriteManager = spriteManager;
eventbus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
eventbus.subscribe(ClanChanged.class, this, this::onClanChanged);
} }
public ClanMemberRank getRank(String playerName) public ClanMemberRank getRank(String playerName)
@@ -123,8 +130,7 @@ public class ClanManager
return modIconsLength - CLANCHAT_IMAGES.length + clanMemberRank.ordinal() - 1; return modIconsLength - CLANCHAT_IMAGES.length + clanMemberRank.ordinal() - 1;
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() == GameState.LOGGED_IN if (gameStateChanged.getGameState() == GameState.LOGGED_IN
&& modIconsLength == 0) && modIconsLength == 0)
@@ -133,8 +139,7 @@ public class ClanManager
} }
} }
@Subscribe private void onClanChanged(ClanChanged clanChanged)
public void onClanChanged(ClanChanged clanChanged)
{ {
clanRanksCache.invalidateAll(); clanRanksCache.invalidateAll();
} }

View File

@@ -60,7 +60,7 @@ import net.runelite.api.Sprite;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.PostItemDefinition; import net.runelite.api.events.PostItemDefinition;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.EventBus;
import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemClient;
import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemPrice;
import net.runelite.http.api.item.ItemStats; import net.runelite.http.api.item.ItemStats;
@@ -143,7 +143,12 @@ public class ItemManager
private Map<Integer, ItemPrice> itemPrices = Collections.emptyMap(); private Map<Integer, ItemPrice> itemPrices = Collections.emptyMap();
private Map<Integer, ItemStats> itemStats = Collections.emptyMap(); private Map<Integer, ItemStats> itemStats = Collections.emptyMap();
@Inject @Inject
public ItemManager(Client client, ScheduledExecutorService executor, ClientThread clientThread) public ItemManager(
Client client,
ScheduledExecutorService executor,
ClientThread clientThread,
EventBus eventbus
)
{ {
this.client = client; this.client = client;
this.scheduledExecutorService = executor; this.scheduledExecutorService = executor;
@@ -197,6 +202,9 @@ public class ItemManager
final InputStream statsFile = getClass().getResourceAsStream("/item_stats.json"); final InputStream statsFile = getClass().getResourceAsStream("/item_stats.json");
final Map<Integer, ItemStats> stats = gson.fromJson(new InputStreamReader(statsFile), typeToken); final Map<Integer, ItemStats> stats = gson.fromJson(new InputStreamReader(statsFile), typeToken);
itemStatMap = ImmutableMap.copyOf(stats); itemStatMap = ImmutableMap.copyOf(stats);
eventbus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
eventbus.subscribe(PostItemDefinition.class, this, this::onPostItemDefinition);
} }
private void loadPrices() private void loadPrices()
@@ -240,8 +248,7 @@ public class ItemManager
} }
} }
@Subscribe private void onGameStateChanged(final GameStateChanged event)
public void onGameStateChanged(final GameStateChanged event)
{ {
if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN) if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN)
{ {
@@ -249,8 +256,7 @@ public class ItemManager
} }
} }
@Subscribe private void onPostItemDefinition(PostItemDefinition event)
public void onPostItemDefinition(PostItemDefinition event)
{ {
itemDefinitions.put(event.getItemDefinition().getId(), event.getItemDefinition()); itemDefinitions.put(event.getItemDefinition().getId(), event.getItemDefinition());
} }

View File

@@ -54,7 +54,6 @@ import net.runelite.api.events.ItemSpawned;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerDespawned;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.NpcLootReceived; import net.runelite.client.events.NpcLootReceived;
import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.events.PlayerLootReceived;
@@ -74,14 +73,24 @@ public class LootManager
private WorldPoint krakenPlayerLocation; private WorldPoint krakenPlayerLocation;
@Inject @Inject
private LootManager(EventBus eventBus, Client client) private LootManager(
final EventBus eventBus,
final Client client
)
{ {
this.eventBus = eventBus; this.eventBus = eventBus;
this.client = client; this.client = client;
eventBus.subscribe(GameTick.class, this, this::onGameTick);
eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned);
eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned);
eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned);
eventBus.subscribe(ItemDespawned.class, this, this::onItemDespawned);
eventBus.subscribe(ItemQuantityChanged.class, this, this::onItemQuantityChanged);
eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged);
} }
@Subscribe private void onNpcDespawned(NpcDespawned npcDespawned)
public void onNpcDespawned(NpcDespawned npcDespawned)
{ {
final NPC npc = npcDespawned.getNpc(); final NPC npc = npcDespawned.getNpc();
if (!npc.isDead()) if (!npc.isDead())
@@ -123,8 +132,7 @@ public class LootManager
processNpcLoot(npc); processNpcLoot(npc);
} }
@Subscribe private void onPlayerDespawned(PlayerDespawned playerDespawned)
public void onPlayerDespawned(PlayerDespawned playerDespawned)
{ {
final Player player = playerDespawned.getPlayer(); final Player player = playerDespawned.getPlayer();
// Only care about dead Players // Only care about dead Players
@@ -150,11 +158,10 @@ public class LootManager
} }
killPoints.add(location); killPoints.add(location);
eventBus.post(new PlayerLootReceived(player, items)); eventBus.post(PlayerLootReceived.class, new PlayerLootReceived(player, items));
} }
@Subscribe private void onItemSpawned(ItemSpawned itemSpawned)
public void onItemSpawned(ItemSpawned itemSpawned)
{ {
final Item item = itemSpawned.getItem(); final Item item = itemSpawned.getItem();
final Tile tile = itemSpawned.getTile(); final Tile tile = itemSpawned.getTile();
@@ -164,16 +171,14 @@ public class LootManager
log.debug("Item spawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location); log.debug("Item spawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location);
} }
@Subscribe private void onItemDespawned(ItemDespawned itemDespawned)
public void onItemDespawned(ItemDespawned itemDespawned)
{ {
final Item item = itemDespawned.getItem(); final Item item = itemDespawned.getItem();
final LocalPoint location = itemDespawned.getTile().getLocalLocation(); final LocalPoint location = itemDespawned.getTile().getLocalLocation();
log.debug("Item despawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location); log.debug("Item despawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location);
} }
@Subscribe private void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
{ {
final Item item = itemQuantityChanged.getItem(); final Item item = itemQuantityChanged.getItem();
final Tile tile = itemQuantityChanged.getTile(); final Tile tile = itemQuantityChanged.getTile();
@@ -189,8 +194,7 @@ public class LootManager
itemSpawns.put(packed, new ItemStack(item.getId(), diff, location)); itemSpawns.put(packed, new ItemStack(item.getId(), diff, location));
} }
@Subscribe private void onAnimationChanged(AnimationChanged e)
public void onAnimationChanged(AnimationChanged e)
{ {
if (!(e.getActor() instanceof NPC)) if (!(e.getActor() instanceof NPC))
{ {
@@ -219,8 +223,7 @@ public class LootManager
} }
} }
@Subscribe private void onGameTick(GameTick gameTick)
public void onGameTick(GameTick gameTick)
{ {
playerLocationLastTick = client.getLocalPlayer().getWorldLocation(); playerLocationLastTick = client.getLocalPlayer().getWorldLocation();
itemSpawns.clear(); itemSpawns.clear();
@@ -257,7 +260,7 @@ public class LootManager
} }
killPoints.add(location); killPoints.add(location);
eventBus.post(new NpcLootReceived(npc, allItems)); eventBus.post(NpcLootReceived.class, new NpcLootReceived(npc, allItems));
} }
private WorldPoint getDropLocation(NPC npc, WorldPoint worldLocation) private WorldPoint getDropLocation(NPC npc, WorldPoint worldLocation)

View File

@@ -41,7 +41,6 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyListener;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
import net.runelite.client.input.MouseListener; import net.runelite.client.input.MouseListener;
@@ -79,6 +78,10 @@ public class ChatboxPanelManager
this.chatboxTextMenuInputProvider = chatboxTextMenuInputProvider; this.chatboxTextMenuInputProvider = chatboxTextMenuInputProvider;
this.chatboxTextInputProvider = chatboxTextInputProvider; this.chatboxTextInputProvider = chatboxTextInputProvider;
eventBus.subscribe(ScriptCallbackEvent.class, this, this::onScriptCallbackEvent);
eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
} }
public void close() public void close()
@@ -103,7 +106,7 @@ public class ChatboxPanelManager
{ {
client.runScript(ScriptID.CLEAR_CHATBOX_PANEL); client.runScript(ScriptID.CLEAR_CHATBOX_PANEL);
eventBus.register(input); // eventBus.register(input);
if (input instanceof KeyListener) if (input instanceof KeyListener)
{ {
keyManager.registerKeyListener((KeyListener) input); keyManager.registerKeyListener((KeyListener) input);
@@ -150,8 +153,7 @@ public class ChatboxPanelManager
.prompt(prompt); .prompt(prompt);
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent ev)
public void onScriptCallbackEvent(ScriptCallbackEvent ev)
{ {
if (currentInput != null && "resetChatboxInput".equals(ev.getEventName())) if (currentInput != null && "resetChatboxInput".equals(ev.getEventName()))
{ {
@@ -159,7 +161,6 @@ public class ChatboxPanelManager
} }
} }
@Subscribe
private void onGameStateChanged(GameStateChanged ev) private void onGameStateChanged(GameStateChanged ev)
{ {
if (currentInput != null && ev.getGameState() == GameState.LOGIN_SCREEN) if (currentInput != null && ev.getGameState() == GameState.LOGIN_SCREEN)

View File

@@ -66,7 +66,6 @@ import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.events.WidgetPressed; import net.runelite.api.events.WidgetPressed;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@Singleton @Singleton
@@ -106,6 +105,15 @@ public class MenuManager
{ {
this.client = client; this.client = client;
this.eventBus = eventBus; this.eventBus = eventBus;
eventBus.subscribe(MenuOpened.class, this, this::onMenuOpened);
eventBus.subscribe(MenuEntryAdded.class, this, this::onMenuEntryAdded);
eventBus.subscribe(BeforeRender.class, this, this::onBeforeRender);
eventBus.subscribe(PlayerMenuOptionsChanged.class, this, this::onPlayerMenuOptionsChanged);
eventBus.subscribe(NpcActionChanged.class, this, this::onNpcActionChanged);
eventBus.subscribe(WidgetPressed.class, this, this::onWidgetPressed);
eventBus.subscribe(MenuOptionClicked.class, this, this::onMenuOptionClicked);
} }
/** /**
@@ -145,8 +153,7 @@ public class MenuManager
return false; return false;
} }
@Subscribe private void onMenuOpened(MenuOpened event)
public void onMenuOpened(MenuOpened event)
{ {
currentPriorityEntries.clear(); currentPriorityEntries.clear();
@@ -256,8 +263,7 @@ public class MenuManager
client.setMenuEntries(arrayEntries); client.setMenuEntries(arrayEntries);
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
int widgetId = event.getActionParam1(); int widgetId = event.getActionParam1();
Collection<WidgetMenuOption> options = managedMenuOptions.get(widgetId); Collection<WidgetMenuOption> options = managedMenuOptions.get(widgetId);
@@ -280,8 +286,7 @@ public class MenuManager
} }
} }
@Subscribe private void onBeforeRender(BeforeRender event)
public void onBeforeRender(BeforeRender event)
{ {
rebuildLeftClickMenu(); rebuildLeftClickMenu();
} }
@@ -364,8 +369,7 @@ public class MenuManager
} }
} }
@Subscribe private void onPlayerMenuOptionsChanged(PlayerMenuOptionsChanged event)
public void onPlayerMenuOptionsChanged(PlayerMenuOptionsChanged event)
{ {
int idx = event.getIndex(); int idx = event.getIndex();
@@ -389,8 +393,7 @@ public class MenuManager
addPlayerMenuItem(newIdx, menuText); addPlayerMenuItem(newIdx, menuText);
} }
@Subscribe private void onNpcActionChanged(NpcActionChanged event)
public void onNpcActionChanged(NpcActionChanged event)
{ {
NPCDefinition composition = event.getNpcDefinition(); NPCDefinition composition = event.getNpcDefinition();
for (String npcOption : npcMenuOptions) for (String npcOption : npcMenuOptions)
@@ -439,14 +442,12 @@ public class MenuManager
} }
} }
@Subscribe private void onWidgetPressed(WidgetPressed event)
public void onWidgetPressed(WidgetPressed event)
{ {
leftClickEntry = rebuildLeftClickMenu(); leftClickEntry = rebuildLeftClickMenu();
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (!client.isMenuOpen() && event.isAuthentic()) if (!client.isMenuOpen() && event.isAuthentic())
{ {
@@ -481,7 +482,7 @@ public class MenuManager
customMenu.setMenuOption(event.getOption()); customMenu.setMenuOption(event.getOption());
customMenu.setMenuTarget(event.getTarget()); customMenu.setMenuTarget(event.getTarget());
customMenu.setWidget(curMenuOption.getWidget()); customMenu.setWidget(curMenuOption.getWidget());
eventBus.post(customMenu); eventBus.post(WidgetMenuOptionClicked.class, customMenu);
return; // don't continue because it's not a player option return; // don't continue because it's not a player option
} }
} }
@@ -496,7 +497,7 @@ public class MenuManager
playerMenuOptionClicked.setMenuOption(event.getOption()); playerMenuOptionClicked.setMenuOption(event.getOption());
playerMenuOptionClicked.setMenuTarget(username); playerMenuOptionClicked.setMenuTarget(username);
eventBus.post(playerMenuOptionClicked); eventBus.post(PlayerMenuOptionClicked.class, playerMenuOptionClicked);
} }
private void addPlayerMenuItem(int playerOptionIndex, String menuText) private void addPlayerMenuItem(int playerOptionIndex, String menuText)

View File

@@ -68,7 +68,6 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.PluginChanged; import net.runelite.client.events.PluginChanged;
import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen; import net.runelite.client.events.SessionOpen;
@@ -126,14 +125,12 @@ public class PluginManager
pluginWatcher.start(); pluginWatcher.start();
} }
@Subscribe private void onSessionOpen(SessionOpen event)
public void onSessionOpen(SessionOpen event)
{ {
refreshPlugins(); refreshPlugins();
} }
@Subscribe private void onSessionClose(SessionClose event)
public void onSessionClose(SessionClose event)
{ {
refreshPlugins(); refreshPlugins();
} }
@@ -368,9 +365,9 @@ public class PluginManager
} }
} }
eventBus.register(plugin); // eventBus.register(plugin);
schedule(plugin); schedule(plugin);
eventBus.post(new PluginChanged(plugin, true)); eventBus.post(PluginChanged.class, new PluginChanged(plugin, true));
} }
catch (InterruptedException | InvocationTargetException | IllegalArgumentException ex) catch (InterruptedException | InvocationTargetException | IllegalArgumentException ex)
{ {
@@ -392,7 +389,6 @@ public class PluginManager
try try
{ {
unschedule(plugin); unschedule(plugin);
eventBus.unregister(plugin);
// plugins always stop in the event thread // plugins always stop in the event thread
SwingUtilities.invokeAndWait(() -> SwingUtilities.invokeAndWait(() ->
@@ -408,7 +404,7 @@ public class PluginManager
}); });
log.debug("Plugin {} is now stopped", plugin.getClass().getSimpleName()); log.debug("Plugin {} is now stopped", plugin.getClass().getSimpleName());
eventBus.post(new PluginChanged(plugin, false)); eventBus.post(PluginChanged.class, new PluginChanged(plugin, false));
} }
catch (InterruptedException | InvocationTargetException ex) catch (InterruptedException | InvocationTargetException ex)

View File

@@ -32,7 +32,7 @@ import javax.swing.JOptionPane;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.client.account.AccountSession; import net.runelite.client.account.AccountSession;
import net.runelite.client.account.SessionManager; 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.SessionClose;
import net.runelite.client.events.SessionOpen; import net.runelite.client.events.SessionOpen;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -60,6 +60,9 @@ public class AccountPlugin extends Plugin
@Inject @Inject
private ScheduledExecutorService executor; private ScheduledExecutorService executor;
@Inject
private EventBus eventBus;
private NavigationButton loginButton; private NavigationButton loginButton;
private NavigationButton logoutButton; private NavigationButton logoutButton;
@@ -74,6 +77,8 @@ public class AccountPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
loginButton = NavigationButton.builder() loginButton = NavigationButton.builder()
.tab(false) .tab(false)
.icon(LOGIN_IMAGE) .icon(LOGIN_IMAGE)
@@ -103,10 +108,18 @@ public class AccountPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
clientToolbar.removeNavigation(loginButton); clientToolbar.removeNavigation(loginButton);
clientToolbar.removeNavigation(logoutButton); clientToolbar.removeNavigation(logoutButton);
} }
private void addSubscriptions()
{
eventBus.subscribe(SessionClose.class, this, this::onSessionClose);
eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen);
}
private void loginClick() private void loginClick()
{ {
executor.execute(sessionManager::login); executor.execute(sessionManager::login);
@@ -122,14 +135,12 @@ public class AccountPlugin extends Plugin
} }
} }
@Subscribe private void onSessionClose(SessionClose e)
public void onSessionClose(SessionClose e)
{ {
addAndRemoveButtons(); addAndRemoveButtons();
} }
@Subscribe private void onSessionOpen(SessionOpen sessionOpen)
public void onSessionOpen(SessionOpen sessionOpen)
{ {
AccountSession session = sessionManager.getAccountSession(); AccountSession session = sessionManager.getAccountSession();

View File

@@ -44,7 +44,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.achievementdiary.diaries.ArdougneDiaryRequirement; import net.runelite.client.plugins.achievementdiary.diaries.ArdougneDiaryRequirement;
@@ -79,8 +79,22 @@ public class DiaryRequirementsPlugin extends Plugin
@Inject @Inject
private ClientThread clientThread; private ClientThread clientThread;
@Subscribe @Inject
public void onWidgetLoaded(final WidgetLoaded event) 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) if (event.getGroupId() == WidgetID.DIARY_QUEST_GROUP_ID)
{ {

View File

@@ -70,7 +70,7 @@ import net.runelite.api.events.WallObjectDespawned;
import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.events.WallObjectSpawned;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.AgilityShortcut;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -120,6 +120,9 @@ public class AgilityPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private AgilitySession session; private AgilitySession session;
@@ -166,6 +169,7 @@ public class AgilityPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(agilityOverlay); overlayManager.add(agilityOverlay);
overlayManager.add(lapCounterOverlay); overlayManager.add(lapCounterOverlay);
@@ -175,6 +179,8 @@ public class AgilityPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(agilityOverlay); overlayManager.remove(agilityOverlay);
overlayManager.remove(lapCounterOverlay); overlayManager.remove(lapCounterOverlay);
marksOfGrace.clear(); marksOfGrace.clear();
@@ -183,8 +189,31 @@ public class AgilityPlugin extends Plugin
agilityLevel = 0; agilityLevel = 0;
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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()) switch (event.getGameState())
{ {
@@ -208,8 +237,7 @@ public class AgilityPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("agility")) if (!event.getGroup().equals("agility"))
{ {
@@ -242,8 +270,7 @@ public class AgilityPlugin extends Plugin
this.showShortcutLevel = config.showShortcutLevel(); this.showShortcutLevel = config.showShortcutLevel();
} }
@Subscribe private void onExperienceChanged(ExperienceChanged event)
public void onExperienceChanged(ExperienceChanged event)
{ {
if (event.getSkill() != AGILITY || !this.showLapCount) if (event.getSkill() != AGILITY || !this.showLapCount)
{ {
@@ -278,9 +305,7 @@ public class AgilityPlugin extends Plugin
} }
} }
private void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged)
@Subscribe
public void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged)
{ {
Skill skill = boostedLevelChanged.getSkill(); Skill skill = boostedLevelChanged.getSkill();
if (skill == AGILITY) if (skill == AGILITY)
@@ -289,8 +314,7 @@ public class AgilityPlugin extends Plugin
} }
} }
@Subscribe private void onItemSpawned(ItemSpawned itemSpawned)
public void onItemSpawned(ItemSpawned itemSpawned)
{ {
if (obstacles.isEmpty()) if (obstacles.isEmpty())
{ {
@@ -306,15 +330,13 @@ public class AgilityPlugin extends Plugin
} }
} }
@Subscribe private void onItemDespawned(ItemDespawned itemDespawned)
public void onItemDespawned(ItemDespawned itemDespawned)
{ {
final Tile tile = itemDespawned.getTile(); final Tile tile = itemDespawned.getTile();
marksOfGrace.remove(tile); marksOfGrace.remove(tile);
} }
@Subscribe private void onGameTick(GameTick tick)
public void onGameTick(GameTick tick)
{ {
if (isInAgilityArena()) if (isInAgilityArena())
{ {
@@ -365,74 +387,62 @@ public class AgilityPlugin extends Plugin
infoBoxManager.addInfoBox(new AgilityArenaTimer(this, itemManager.getImage(AGILITY_ARENA_TICKET))); infoBoxManager.addInfoBox(new AgilityArenaTimer(this, itemManager.getImage(AGILITY_ARENA_TICKET)));
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
onTileObject(event.getTile(), null, event.getGameObject()); onTileObject(event.getTile(), null, event.getGameObject());
} }
@Subscribe private void onGameObjectChanged(GameObjectChanged event)
public void onGameObjectChanged(GameObjectChanged event)
{ {
onTileObject(event.getTile(), event.getPrevious(), event.getGameObject()); onTileObject(event.getTile(), event.getPrevious(), event.getGameObject());
} }
@Subscribe private void onGameObjectDespawned(GameObjectDespawned event)
public void onGameObjectDespawned(GameObjectDespawned event)
{ {
onTileObject(event.getTile(), event.getGameObject(), null); onTileObject(event.getTile(), event.getGameObject(), null);
} }
@Subscribe private void onGroundObjectSpawned(GroundObjectSpawned event)
public void onGroundObjectSpawned(GroundObjectSpawned event)
{ {
onTileObject(event.getTile(), null, event.getGroundObject()); onTileObject(event.getTile(), null, event.getGroundObject());
} }
@Subscribe private void onGroundObjectChanged(GroundObjectChanged event)
public void onGroundObjectChanged(GroundObjectChanged event)
{ {
onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject()); onTileObject(event.getTile(), event.getPrevious(), event.getGroundObject());
} }
@Subscribe private void onGroundObjectDespawned(GroundObjectDespawned event)
public void onGroundObjectDespawned(GroundObjectDespawned event)
{ {
onTileObject(event.getTile(), event.getGroundObject(), null); onTileObject(event.getTile(), event.getGroundObject(), null);
} }
@Subscribe private void onWallObjectSpawned(WallObjectSpawned event)
public void onWallObjectSpawned(WallObjectSpawned event)
{ {
onTileObject(event.getTile(), null, event.getWallObject()); onTileObject(event.getTile(), null, event.getWallObject());
} }
@Subscribe private void onWallObjectChanged(WallObjectChanged event)
public void onWallObjectChanged(WallObjectChanged event)
{ {
onTileObject(event.getTile(), event.getPrevious(), event.getWallObject()); onTileObject(event.getTile(), event.getPrevious(), event.getWallObject());
} }
@Subscribe private void onWallObjectDespawned(WallObjectDespawned event)
public void onWallObjectDespawned(WallObjectDespawned event)
{ {
onTileObject(event.getTile(), event.getWallObject(), null); onTileObject(event.getTile(), event.getWallObject(), null);
} }
@Subscribe private void onDecorativeObjectSpawned(DecorativeObjectSpawned event)
public void onDecorativeObjectSpawned(DecorativeObjectSpawned event)
{ {
onTileObject(event.getTile(), null, event.getDecorativeObject()); onTileObject(event.getTile(), null, event.getDecorativeObject());
} }
@Subscribe private void onDecorativeObjectChanged(DecorativeObjectChanged event)
public void onDecorativeObjectChanged(DecorativeObjectChanged event)
{ {
onTileObject(event.getTile(), event.getPrevious(), event.getDecorativeObject()); onTileObject(event.getTile(), event.getPrevious(), event.getDecorativeObject());
} }
@Subscribe private void onDecorativeObjectDespawned(DecorativeObjectDespawned event)
public void onDecorativeObjectDespawned(DecorativeObjectDespawned event)
{ {
onTileObject(event.getTile(), event.getDecorativeObject(), null); onTileObject(event.getTile(), event.getDecorativeObject(), null);
} }
@@ -484,8 +494,7 @@ public class AgilityPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (!this.showShortcutLevel) if (!this.showShortcutLevel)
{ {

View File

@@ -46,7 +46,7 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.api.events.ProjectileMoved; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -89,9 +89,14 @@ public class HydraPlugin extends Plugin
@Inject @Inject
private HydraSceneOverlay poisonOverlay; private HydraSceneOverlay poisonOverlay;
@Inject
private EventBus eventBus;
@Override @Override
protected void startUp() protected void startUp()
{ {
addSubscriptions();
inHydraInstance = checkArea(); inHydraInstance = checkArea();
lastAttackTick = -1; lastAttackTick = -1;
poisonProjectiles.clear(); poisonProjectiles.clear();
@@ -100,6 +105,8 @@ public class HydraPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
inHydraInstance = false; inHydraInstance = false;
hydra = null; hydra = null;
poisonProjectiles.clear(); poisonProjectiles.clear();
@@ -107,7 +114,15 @@ public class HydraPlugin extends Plugin
lastAttackTick = -1; 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) private void onGameStateChanged(GameStateChanged state)
{ {
if (state.getGameState() != GameState.LOGGED_IN) if (state.getGameState() != GameState.LOGGED_IN)
@@ -140,7 +155,6 @@ public class HydraPlugin extends Plugin
addOverlays(); addOverlays();
} }
@Subscribe
private void onNpcSpawned(NpcSpawned event) private void onNpcSpawned(NpcSpawned event)
{ {
if (!inHydraInstance || event.getNpc().getId() != NpcID.ALCHEMICAL_HYDRA) if (!inHydraInstance || event.getNpc().getId() != NpcID.ALCHEMICAL_HYDRA)
@@ -152,8 +166,7 @@ public class HydraPlugin extends Plugin
addOverlays(); addOverlays();
} }
@Subscribe private void onAnimationChanged(AnimationChanged animationChanged)
public void onAnimationChanged(AnimationChanged animationChanged)
{ {
Actor actor = animationChanged.getActor(); Actor actor = animationChanged.getActor();
@@ -215,8 +228,7 @@ public class HydraPlugin extends Plugin
} }
} }
@Subscribe private void onProjectileMoved(ProjectileMoved event)
public void onProjectileMoved(ProjectileMoved event)
{ {
if (!inHydraInstance || hydra == null if (!inHydraInstance || hydra == null
|| client.getGameCycle() >= event.getProjectile().getStartMovementCycle()) || client.getGameCycle() >= event.getProjectile().getStartMovementCycle())
@@ -245,8 +257,7 @@ public class HydraPlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (!event.getMessage().equals("The chemicals neutralise the Alchemical Hydra's defences!")) if (!event.getMessage().equals("The chemicals neutralise the Alchemical Hydra's defences!"))
{ {

View File

@@ -35,7 +35,7 @@ import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.ItemContainerChanged;
import net.runelite.client.callback.ClientThread; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -61,11 +61,16 @@ public class AmmoPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private EventBus eventBus;
private AmmoCounter counterBox; private AmmoCounter counterBox;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged);
clientThread.invokeLater(() -> clientThread.invokeLater(() ->
{ {
final ItemContainer container = client.getItemContainer(InventoryID.EQUIPMENT); final ItemContainer container = client.getItemContainer(InventoryID.EQUIPMENT);
@@ -80,12 +85,13 @@ public class AmmoPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
infoBoxManager.removeInfoBox(counterBox); infoBoxManager.removeInfoBox(counterBox);
counterBox = null; counterBox = null;
} }
@Subscribe private void onItemContainerChanged(ItemContainerChanged event)
public void onItemContainerChanged(ItemContainerChanged event)
{ {
if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT)) if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT))
{ {

View File

@@ -30,7 +30,7 @@ import javax.inject.Singleton;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -51,6 +51,9 @@ public class AnimationSmoothingPlugin extends Plugin
@Inject @Inject
private AnimationSmoothingConfig config; private AnimationSmoothingConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
AnimationSmoothingConfig getConfig(ConfigManager configManager) AnimationSmoothingConfig getConfig(ConfigManager configManager)
{ {
@@ -60,20 +63,23 @@ public class AnimationSmoothingPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
update(); update();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
client.setInterpolatePlayerAnimations(false); client.setInterpolatePlayerAnimations(false);
client.setInterpolateNpcAnimations(false); client.setInterpolateNpcAnimations(false);
client.setInterpolateObjectAnimations(false); client.setInterpolateObjectAnimations(false);
client.setInterpolateWidgetAnimations(false); client.setInterpolateWidgetAnimations(false);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals(CONFIG_GROUP)) if (event.getGroup().equals(CONFIG_GROUP))
{ {

View File

@@ -36,7 +36,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged; import net.runelite.api.events.FocusChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.config.Keybind; 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.input.KeyManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -81,6 +81,9 @@ public class AntiDragPlugin extends Plugin
@Inject @Inject
private KeyManager keyManager; private KeyManager keyManager;
@Inject
private EventBus eventBus;
@Provides @Provides
AntiDragConfig getConfig(ConfigManager configManager) AntiDragConfig getConfig(ConfigManager configManager)
{ {
@@ -102,25 +105,34 @@ public class AntiDragPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
updateConfig();
if (this.keybind) if (this.keybind)
{ {
keyManager.registerKeyListener(hotkeyListener); keyManager.registerKeyListener(hotkeyListener);
} }
updateConfig();
client.setInventoryDragDelay(this.alwaysOn ? this.dragDelay : DEFAULT_DELAY); client.setInventoryDragDelay(this.alwaysOn ? this.dragDelay : DEFAULT_DELAY);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
client.setInventoryDragDelay(DEFAULT_DELAY); client.setInventoryDragDelay(DEFAULT_DELAY);
keyManager.unregisterKeyListener(hotkeyListener); keyManager.unregisterKeyListener(hotkeyListener);
toggleDrag = false; toggleDrag = false;
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged);
}
private void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("antiDrag")) if (event.getGroup().equals("antiDrag"))
{ {
@@ -161,8 +173,7 @@ public class AntiDragPlugin extends Plugin
this.selectedCursor = config.selectedCursor(); this.selectedCursor = config.selectedCursor();
} }
@Subscribe private void onFocusChanged(FocusChanged focusChanged)
public void onFocusChanged(FocusChanged focusChanged)
{ {
if (!this.alwaysOn && !focusChanged.isFocused() && this.reqfocus) if (!this.alwaysOn && !focusChanged.isFocused() && this.reqfocus)
{ {

View File

@@ -59,7 +59,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.ProjectileMoved; import net.runelite.api.events.ProjectileMoved;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -92,6 +92,8 @@ public class AoeWarningPlugin extends Plugin
private BombOverlay bombOverlay; private BombOverlay bombOverlay;
@Inject @Inject
private Client client; private Client client;
@Inject
private EventBus eventbus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private List<WorldPoint> LightningTrail = new ArrayList<>(); private List<WorldPoint> LightningTrail = new ArrayList<>();
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -170,6 +172,7 @@ public class AoeWarningPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(coreOverlay); overlayManager.add(coreOverlay);
overlayManager.add(bombOverlay); overlayManager.add(bombOverlay);
@@ -179,13 +182,24 @@ public class AoeWarningPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventbus.unregister(this);
overlayManager.remove(coreOverlay); overlayManager.remove(coreOverlay);
overlayManager.remove(bombOverlay); overlayManager.remove(bombOverlay);
reset(); reset();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
eventbus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventbus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved);
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);
}
private void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("aoe")) if (!event.getGroup().equals("aoe"))
{ {
@@ -195,8 +209,7 @@ public class AoeWarningPlugin extends Plugin
updateConfig(); updateConfig();
} }
@Subscribe private void onProjectileMoved(ProjectileMoved event)
public void onProjectileMoved(ProjectileMoved event)
{ {
Projectile projectile = event.getProjectile(); Projectile projectile = event.getProjectile();
@@ -223,8 +236,7 @@ public class AoeWarningPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
final GameObject gameObject = event.getGameObject(); final GameObject gameObject = event.getGameObject();
final WorldPoint wp = gameObject.getWorldLocation(); final WorldPoint wp = gameObject.getWorldLocation();
@@ -260,8 +272,7 @@ public class AoeWarningPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectDespawned(GameObjectDespawned event)
public void onGameObjectDespawned(GameObjectDespawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
WorldPoint wp = gameObject.getWorldLocation(); WorldPoint wp = gameObject.getWorldLocation();
@@ -286,8 +297,7 @@ public class AoeWarningPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged delta)
public void onGameStateChanged(GameStateChanged delta)
{ {
if (client.getGameState() == GameState.LOGGED_IN) if (client.getGameState() == GameState.LOGGED_IN)
{ {
@@ -295,8 +305,7 @@ public class AoeWarningPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (this.configLightningTrail) if (this.configLightningTrail)
{ {

View File

@@ -50,7 +50,7 @@ import net.runelite.api.widgets.WidgetInfo;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING; import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING;
@@ -89,6 +89,9 @@ public class AttackStylesPlugin extends Plugin
@Inject @Inject
private AttackStylesOverlay overlay; private AttackStylesOverlay overlay;
@Inject
private EventBus eventBus;
@Provides @Provides
AttackStylesConfig provideConfig(ConfigManager configManager) AttackStylesConfig provideConfig(ConfigManager configManager)
{ {
@@ -110,6 +113,7 @@ public class AttackStylesPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
@@ -140,12 +144,23 @@ public class AttackStylesPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
hideWarnedStyles(false); hideWarnedStyles(false);
processWidgets(); processWidgets();
hideWidget(client.getWidget(WidgetInfo.COMBAT_AUTO_RETALIATE), false); 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() public AttackStyle getAttackStyle()
{ {
return attackStyle; return attackStyle;
@@ -156,8 +171,7 @@ public class AttackStylesPlugin extends Plugin
return warnedSkillSelected; return warnedSkillSelected;
} }
@Subscribe private void onWidgetHiddenChanged(WidgetHiddenChanged event)
public void onWidgetHiddenChanged(WidgetHiddenChanged event)
{ {
if (event.getWidget().isSelfHidden() || TO_GROUP(event.getWidget().getId()) != COMBAT_GROUP_ID) if (event.getWidget().isSelfHidden() || TO_GROUP(event.getWidget().getId()) != COMBAT_GROUP_ID)
{ {
@@ -167,8 +181,7 @@ public class AttackStylesPlugin extends Plugin
processWidgets(); processWidgets();
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() != COMBAT_GROUP_ID) if (event.getGroupId() != COMBAT_GROUP_ID)
{ {
@@ -195,8 +208,7 @@ public class AttackStylesPlugin extends Plugin
hideWidget(client.getWidget(WidgetInfo.COMBAT_AUTO_RETALIATE), this.hideAutoRetaliate); hideWidget(client.getWidget(WidgetInfo.COMBAT_AUTO_RETALIATE), this.hideAutoRetaliate);
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOGGED_IN) if (event.getGameState() == GameState.LOGGED_IN)
{ {
@@ -208,8 +220,7 @@ public class AttackStylesPlugin extends Plugin
} }
} }
@Subscribe void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
if (attackStyleVarbit == -1 || attackStyleVarbit != client.getVar(VarPlayer.ATTACK_STYLE)) if (attackStyleVarbit == -1 || attackStyleVarbit != client.getVar(VarPlayer.ATTACK_STYLE))
{ {
@@ -236,8 +247,7 @@ public class AttackStylesPlugin extends Plugin
} }
} }
@Subscribe void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("attackIndicator")) if (event.getGroup().equals("attackIndicator"))
{ {

View File

@@ -39,7 +39,7 @@ import net.runelite.api.events.MenuShouldLeftClick;
import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.banktags.tabs.BankSearch; import net.runelite.client.plugins.banktags.tabs.BankSearch;
@@ -72,6 +72,9 @@ public class BankPlugin extends Plugin
@Inject @Inject
private BankSearch bankSearch; private BankSearch bankSearch;
@Inject
private EventBus eventBus;
private boolean forceRightClickFlag; private boolean forceRightClickFlag;
@Provides @Provides
@@ -93,17 +96,26 @@ public class BankPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
clientThread.invokeLater(() -> bankSearch.reset(false)); clientThread.invokeLater(() -> bankSearch.reset(false));
forceRightClickFlag = false; forceRightClickFlag = false;
} }
@Subscribe private void addSubscriptions()
public void onMenuShouldLeftClick(MenuShouldLeftClick event) {
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) if (!forceRightClickFlag)
{ {
@@ -124,8 +136,7 @@ public class BankPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if ((event.getOption().equals(DEPOSIT_WORN) && this.rightClickBankEquip) if ((event.getOption().equals(DEPOSIT_WORN) && this.rightClickBankEquip)
|| (event.getOption().equals(DEPOSIT_INVENTORY) && this.rightClickBankInventory) || (event.getOption().equals(DEPOSIT_INVENTORY) && this.rightClickBankInventory)
@@ -135,8 +146,7 @@ public class BankPlugin extends Plugin
} }
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent event)
public void onScriptCallbackEvent(ScriptCallbackEvent event)
{ {
if (!event.getEventName().equals("setBankTitle")) if (!event.getEventName().equals("setBankTitle"))
{ {
@@ -192,8 +202,7 @@ public class BankPlugin extends Plugin
stringStack[stringStackSize - 1] += strCurrentTab; stringStack[stringStackSize - 1] += strCurrentTab;
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("bank")) if (!event.getGroup().equals("bank"))
{ {

View File

@@ -60,7 +60,7 @@ import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxPanelManager;
@@ -132,6 +132,9 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
@Inject @Inject
private SpriteManager spriteManager; private SpriteManager spriteManager;
@Inject
private EventBus eventBus;
private boolean shiftPressed = false; private boolean shiftPressed = false;
private int nextRowIndex = 0; private int nextRowIndex = 0;
@@ -144,6 +147,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
@Override @Override
public void startUp() public void startUp()
{ {
addSubscriptions();
keyManager.registerKeyListener(this); keyManager.registerKeyListener(this);
mouseManager.registerMouseWheelListener(this); mouseManager.registerMouseWheelListener(this);
clientThread.invokeLater(tabInterface::init); clientThread.invokeLater(tabInterface::init);
@@ -153,6 +158,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
keyManager.unregisterKeyListener(this); keyManager.unregisterKeyListener(this);
mouseManager.unregisterMouseWheelListener(this); mouseManager.unregisterMouseWheelListener(this);
clientThread.invokeLater(tabInterface::destroy); clientThread.invokeLater(tabInterface::destroy);
@@ -161,6 +168,18 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
shiftPressed = false; 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() private boolean isSearching()
{ {
return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType() 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); && client.getVar(VarClientStr.INPUT_TEXT) != null && client.getVar(VarClientStr.INPUT_TEXT).length() > 0);
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent event)
public void onScriptCallbackEvent(ScriptCallbackEvent event)
{ {
String eventName = event.getEventName(); String eventName = event.getEventName();
@@ -284,8 +302,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
MenuEntry[] entries = client.getMenuEntries(); MenuEntry[] entries = client.getMenuEntries();
@@ -318,8 +335,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
tabInterface.handleAdd(event); tabInterface.handleAdd(event);
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId() if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
&& event.getMenuAction() == MenuAction.RUNELITE && event.getMenuAction() == MenuAction.RUNELITE
@@ -393,8 +409,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
if (configChanged.getGroup().equals("banktags") && configChanged.getKey().equals("useTabs")) if (configChanged.getGroup().equals("banktags") && configChanged.getKey().equals("useTabs"))
{ {
@@ -409,20 +424,17 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
tabInterface.update(); tabInterface.update();
} }
@Subscribe private void onDraggingWidgetChanged(DraggingWidgetChanged event)
public void onDraggingWidgetChanged(DraggingWidgetChanged event)
{ {
tabInterface.handleDrag(event.isDraggingWidget(), shiftPressed); tabInterface.handleDrag(event.isDraggingWidget(), shiftPressed);
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() == WidgetID.BANK_GROUP_ID) if (event.getGroupId() == WidgetID.BANK_GROUP_ID)
{ {
@@ -430,8 +442,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
} }
} }
@Subscribe private void onFocusChanged(FocusChanged event)
public void onFocusChanged(FocusChanged event)
{ {
if (!event.isFocused()) if (!event.isFocused())
{ {

View File

@@ -56,7 +56,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -91,6 +91,8 @@ public class BanListPlugin extends Plugin
private BanListConfig config; private BanListConfig config;
@Inject @Inject
private ChatMessageManager chatMessageManager; private ChatMessageManager chatMessageManager;
@Inject
private EventBus eventBus;
private String tobNames = ""; private String tobNames = "";
private boolean enableWDRScam; private boolean enableWDRScam;
private boolean enableWDRToxic; private boolean enableWDRToxic;
@@ -108,6 +110,7 @@ public class BanListPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
List<String> bannedPlayers = Splitter List<String> bannedPlayers = Splitter
.on(",") .on(",")
.trimResults() .trimResults()
@@ -120,14 +123,24 @@ public class BanListPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
wdrScamSet.clear(); wdrScamSet.clear();
wdrToxicSet.clear(); wdrToxicSet.clear();
runeWatchSet.clear(); runeWatchSet.clear();
manualBans.clear(); manualBans.clear();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) 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 * Event to keep making sure player names are highlighted red in clan chat, since the red name goes away frequently
*/ */
@Subscribe private void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged)
public void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged)
{ {
if (client.getGameState() != GameState.LOGGED_IN if (client.getGameState() != GameState.LOGGED_IN
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null || client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null
@@ -180,9 +192,7 @@ public class BanListPlugin extends Plugin
}); });
} }
private void onClanMemberJoined(ClanMemberJoined event)
@Subscribe
public void onClanMemberJoined(ClanMemberJoined event)
{ {
ClanMember member = event.getMember(); ClanMember member = event.getMember();
String memberUsername = Text.standardize(member.getUsername().toLowerCase()); 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" * If a trade window is opened and the person trading us is on the list, modify "trading with"
*/ */
@Subscribe private void onWidgetLoaded(WidgetLoaded widgetLoaded)
public void onWidgetLoaded(WidgetLoaded widgetLoaded)
{ {
if (this.highlightInTrade && widgetLoaded.getGroupId() == TRADING_SCREEN) if (this.highlightInTrade && widgetLoaded.getGroupId() == TRADING_SCREEN)
{ //if trading window was loaded { //if trading window was loaded
@@ -233,9 +242,7 @@ public class BanListPlugin extends Plugin
} }
} }
private void onGameTick(GameTick event)
@Subscribe
public void onGameTick(GameTick event)
{ {
if (client.getWidget(WidgetInfo.THEATRE_OF_BLOOD_RAIDING_PARTY) == null) if (client.getWidget(WidgetInfo.THEATRE_OF_BLOOD_RAIDING_PARTY) == null)

View File

@@ -82,7 +82,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyListener;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
@@ -155,6 +155,9 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
@Inject @Inject
private KeyManager keyManager; private KeyManager keyManager;
@Inject
private EventBus eventBus;
@Getter @Getter
private boolean inGame = false; private boolean inGame = false;
@@ -306,6 +309,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
font = FontManager.getRunescapeFont().deriveFont(Font.BOLD, 24); font = FontManager.getRunescapeFont().deriveFont(Font.BOLD, 24);
torsoImage = itemManager.getImage(ItemID.FIGHTER_TORSO); torsoImage = itemManager.getImage(ItemID.FIGHTER_TORSO);
@@ -323,6 +327,8 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(widgetsOverlay); overlayManager.remove(widgetsOverlay);
overlayManager.remove(sceneOverlay); overlayManager.remove(sceneOverlay);
keyManager.unregisterKeyListener(this); keyManager.unregisterKeyListener(this);
@@ -343,6 +349,24 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
menu.clearHiddenMenus(); 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 @Override
public void keyTyped(KeyEvent e) public void keyTyped(KeyEvent e)
{ {
@@ -376,8 +400,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
//not client thread be careful //not client thread be careful
if (!configChanged.getGroup().equals("barbarianAssault")) if (!configChanged.getGroup().equals("barbarianAssault"))
@@ -487,8 +510,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
this.showEggCountOverlay = config.showEggCountOverlay(); this.showEggCountOverlay = config.showEggCountOverlay();
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
switch (event.getGroupId()) switch (event.getGroupId())
{ {
@@ -558,8 +580,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (!chatMessage.getType().equals(ChatMessageType.GAMEMESSAGE)) if (!chatMessage.getType().equals(ChatMessageType.GAMEMESSAGE))
{ {
@@ -578,6 +599,11 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
else if (isInGame()) else if (isInGame())
{ {
if (scorecard != null)
{
scorecard.onChatMessage(chatMessage);
}
if (message.contains("exploded") && wave != null) if (message.contains("exploded") && wave != null)
{ {
wave.setWrongEggs(wave.getWrongEggs() + 1); wave.setWrongEggs(wave.getWrongEggs() + 1);
@@ -637,8 +663,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onItemSpawned(ItemSpawned itemSpawned)
public void onItemSpawned(ItemSpawned itemSpawned)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -657,8 +682,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onItemDespawned(ItemDespawned itemDespawned)
public void onItemDespawned(ItemDespawned itemDespawned)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -708,8 +732,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
// Keep in mind isInGame is delayed by a tick when a wave ends // Keep in mind isInGame is delayed by a tick when a wave ends
if (!isInGame() || getRole() == null) if (!isInGame() || getRole() == null)
@@ -740,8 +763,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -763,8 +785,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (!isInGame()) 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 // 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 // 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. // about the horn of glory breaking anything and everything that should never break.
@Subscribe private void onBeforeRender(BeforeRender event)
public void onBeforeRender(BeforeRender event)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -953,8 +973,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
// onMenuEntryAdded is being used for conditional entry changes that are not // onMenuEntryAdded is being used for conditional entry changes that are not
// easily achievable using MenuManager, all other changes use MenuManager in // easily achievable using MenuManager, all other changes use MenuManager in
// the BarbarianAssaultMenu/Menus classes // the BarbarianAssaultMenu/Menus classes
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -1144,8 +1163,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
client.setMenuEntries(menu.toArray(new MenuEntry[0])); client.setMenuEntries(menu.toArray(new MenuEntry[0]));
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (!isInGame() && getRole() != null) 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 // Interacting changed has a slight delay until after the hitsplat is applied
@Subscribe private void onInteractingChanged(InteractingChanged event)
public void onInteractingChanged(InteractingChanged event)
{ {
if (!isInGame() || getRole() != Role.HEALER) if (!isInGame() || getRole() != Role.HEALER)
{ {
@@ -1213,8 +1230,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
@Subscribe private void onProjectileSpawned(ProjectileSpawned event)
public void onProjectileSpawned(ProjectileSpawned event)
{ {
if (!isInGame()) if (!isInGame())
{ {
@@ -1234,8 +1250,7 @@ public class BarbarianAssaultPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
int newInGameBit = client.getVar(Varbits.IN_GAME_BA); int newInGameBit = client.getVar(Varbits.IN_GAME_BA);

View File

@@ -33,7 +33,6 @@ import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.eventbus.Subscribe;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -65,7 +64,6 @@ public class Scorecard
this.game = game; this.game = game;
} }
@Subscribe
public void onChatMessage(ChatMessage chatMessage) public void onChatMessage(ChatMessage chatMessage)
{ {
if (chatMessage.getMessage().startsWith("---- Points:") && game.getStage() == 1) if (chatMessage.getMessage().startsWith("---- Points:") && game.getStage() == 1)

View File

@@ -63,7 +63,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -141,6 +141,9 @@ public class BarrowsPlugin extends Plugin
@Inject @Inject
private BarrowsConfig config; private BarrowsConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
BarrowsConfig provideConfig(ConfigManager configManager) BarrowsConfig provideConfig(ConfigManager configManager)
{ {
@@ -164,6 +167,8 @@ public class BarrowsPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(barrowsOverlay); overlayManager.add(barrowsOverlay);
overlayManager.add(brotherOverlay); overlayManager.add(brotherOverlay);
} }
@@ -171,6 +176,8 @@ public class BarrowsPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(barrowsOverlay); overlayManager.remove(barrowsOverlay);
overlayManager.remove(brotherOverlay); overlayManager.remove(brotherOverlay);
walls.clear(); walls.clear();
@@ -193,8 +200,20 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (event.getGroup().equals("barrows"))
{ {
@@ -218,8 +237,7 @@ public class BarrowsPlugin extends Plugin
this.showPrayerDrainTimer = config.showPrayerDrainTimer(); this.showPrayerDrainTimer = config.showPrayerDrainTimer();
} }
@Subscribe private void onWallObjectSpawned(WallObjectSpawned event)
public void onWallObjectSpawned(WallObjectSpawned event)
{ {
WallObject wallObject = event.getWallObject(); WallObject wallObject = event.getWallObject();
if (BARROWS_WALLS.contains(wallObject.getId())) if (BARROWS_WALLS.contains(wallObject.getId()))
@@ -228,8 +246,7 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void onWallObjectChanged(WallObjectChanged event)
public void onWallObjectChanged(WallObjectChanged event)
{ {
WallObject previous = event.getPrevious(); WallObject previous = event.getPrevious();
WallObject wallObject = event.getWallObject(); WallObject wallObject = event.getWallObject();
@@ -241,15 +258,13 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void onWallObjectDespawned(WallObjectDespawned event)
public void onWallObjectDespawned(WallObjectDespawned event)
{ {
WallObject wallObject = event.getWallObject(); WallObject wallObject = event.getWallObject();
walls.remove(wallObject); walls.remove(wallObject);
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
if (BARROWS_LADDERS.contains(gameObject.getId())) if (BARROWS_LADDERS.contains(gameObject.getId()))
@@ -258,8 +273,7 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectChanged(GameObjectChanged event)
public void onGameObjectChanged(GameObjectChanged event)
{ {
GameObject previous = event.getPrevious(); GameObject previous = event.getPrevious();
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
@@ -271,15 +285,13 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectDespawned(GameObjectDespawned event)
public void onGameObjectDespawned(GameObjectDespawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
ladders.remove(gameObject); ladders.remove(gameObject);
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOADING) if (event.getGameState() == GameState.LOADING)
{ {
@@ -303,8 +315,7 @@ public class BarrowsPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() == WidgetID.BARROWS_REWARD_GROUP_ID && this.showChestValue) if (event.getGroupId() == WidgetID.BARROWS_REWARD_GROUP_ID && this.showChestValue)
{ {

View File

@@ -38,7 +38,7 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -68,6 +68,8 @@ public class BlackjackPlugin extends Plugin
private Client client; private Client client;
@Inject @Inject
private BlackjackConfig config; private BlackjackConfig config;
@Inject
private EventBus eventBus;
private boolean pickpocketOnAggro; private boolean pickpocketOnAggro;
@@ -80,11 +82,25 @@ public class BlackjackPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
this.pickpocketOnAggro = config.pickpocketOnAggro(); this.pickpocketOnAggro = config.pickpocketOnAggro();
} }
@Subscribe @Override
public void onConfigChanged(ConfigChanged event) 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")) if (event.getGroup().equals("blackjack"))
{ {
@@ -92,8 +108,7 @@ public class BlackjackPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (client.getGameState() != GameState.LOGGED_IN || if (client.getGameState() != GameState.LOGGED_IN ||
client.getVar(Varbits.QUEST_THE_FEUD) < 13 || client.getVar(Varbits.QUEST_THE_FEUD) < 13 ||
@@ -114,8 +129,7 @@ public class BlackjackPlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (event.getType() == ChatMessageType.SPAM && event.getMessage().equals(SUCCESS_BLACKJACK) ^ (event.getMessage().equals(FAILED_BLACKJACK) && this.pickpocketOnAggro)) if (event.getType() == ChatMessageType.SPAM && event.getMessage().equals(SUCCESS_BLACKJACK) ^ (event.getMessage().equals(FAILED_BLACKJACK) && this.pickpocketOnAggro))
{ {

View File

@@ -46,7 +46,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -97,6 +97,9 @@ public class BlastFurnacePlugin extends Plugin
@Inject @Inject
private BlastFurnaceConfig config; private BlastFurnaceConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean showConveyorBelt; private boolean showConveyorBelt;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -106,6 +109,7 @@ public class BlastFurnacePlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(cofferOverlay); overlayManager.add(cofferOverlay);
@@ -115,6 +119,8 @@ public class BlastFurnacePlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
infoBoxManager.removeIf(ForemanTimer.class::isInstance); infoBoxManager.removeIf(ForemanTimer.class::isInstance);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(cofferOverlay); overlayManager.remove(cofferOverlay);
@@ -124,14 +130,22 @@ public class BlastFurnacePlugin extends Plugin
foremanTimer = null; 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 @Provides
BlastFurnaceConfig provideConfig(ConfigManager configManager) BlastFurnaceConfig provideConfig(ConfigManager configManager)
{ {
return configManager.getConfig(BlastFurnaceConfig.class); return configManager.getConfig(BlastFurnaceConfig.class);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("blastfurnace")) if (event.getGroup().equals("blastfurnace"))
{ {
@@ -139,8 +153,7 @@ public class BlastFurnacePlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
@@ -156,8 +169,7 @@ public class BlastFurnacePlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectDespawned(GameObjectDespawned event)
public void onGameObjectDespawned(GameObjectDespawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
@@ -173,8 +185,7 @@ public class BlastFurnacePlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOADING) if (event.getGameState() == GameState.LOADING)
{ {
@@ -183,8 +194,7 @@ public class BlastFurnacePlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
Widget npcDialog = client.getWidget(WidgetInfo.DIALOG_NPC_TEXT); Widget npcDialog = client.getWidget(WidgetInfo.DIALOG_NPC_TEXT);
if (npcDialog == null) if (npcDialog == null)

View File

@@ -42,7 +42,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -73,6 +73,9 @@ public class BlastMinePlugin extends Plugin
@Inject @Inject
private BlastMinePluginConfig config; private BlastMinePluginConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
BlastMinePluginConfig getConfig(ConfigManager configManager) BlastMinePluginConfig getConfig(ConfigManager configManager)
{ {
@@ -96,6 +99,7 @@ public class BlastMinePlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(blastMineRockOverlay); overlayManager.add(blastMineRockOverlay);
overlayManager.add(blastMineOreCountOverlay); overlayManager.add(blastMineOreCountOverlay);
@@ -104,6 +108,8 @@ public class BlastMinePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(blastMineRockOverlay); overlayManager.remove(blastMineRockOverlay);
overlayManager.remove(blastMineOreCountOverlay); overlayManager.remove(blastMineOreCountOverlay);
final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE); final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE);
@@ -114,8 +120,14 @@ public class BlastMinePlugin extends Plugin
} }
} }
@Subscribe private void addSubscriptions()
public void onGameObjectSpawned(GameObjectSpawned event) {
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(); final GameObject gameObject = event.getGameObject();
BlastMineRockType blastMineRockType = BlastMineRockType.getRockType(gameObject.getId()); BlastMineRockType blastMineRockType = BlastMineRockType.getRockType(gameObject.getId());
@@ -133,8 +145,7 @@ public class BlastMinePlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOADING) if (event.getGameState() == GameState.LOADING)
{ {
@@ -142,8 +153,7 @@ public class BlastMinePlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick gameTick)
public void onGameTick(GameTick gameTick)
{ {
if (rocks.isEmpty()) if (rocks.isEmpty())
{ {

View File

@@ -45,7 +45,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.game.SkillIconManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -98,6 +98,8 @@ public class BoostsPlugin extends Plugin
private SkillIconManager skillIconManager; private SkillIconManager skillIconManager;
@Inject @Inject
private CombatIconsOverlay combatIconsOverlay; private CombatIconsOverlay combatIconsOverlay;
@Inject
private EventBus eventBus;
private boolean isChangedDown = false; private boolean isChangedDown = false;
private boolean isChangedUp = false; private boolean isChangedUp = false;
@@ -133,6 +135,7 @@ public class BoostsPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(boostsOverlay); overlayManager.add(boostsOverlay);
overlayManager.add(combatIconsOverlay); overlayManager.add(combatIconsOverlay);
@@ -156,6 +159,7 @@ public class BoostsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(boostsOverlay); overlayManager.remove(boostsOverlay);
overlayManager.remove(combatIconsOverlay); overlayManager.remove(combatIconsOverlay);
infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator); infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator);
@@ -166,8 +170,15 @@ public class BoostsPlugin extends Plugin
isChangedDown = false; isChangedDown = false;
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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()) switch (event.getGameState())
{ {
@@ -179,8 +190,7 @@ public class BoostsPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("boosts")) if (!event.getGroup().equals("boosts"))
{ {
@@ -201,8 +211,7 @@ public class BoostsPlugin extends Plugin
} }
} }
@Subscribe private void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged)
public void onBoostedLevelChanged(BoostedLevelChanged boostedLevelChanged)
{ {
Skill skill = boostedLevelChanged.getSkill(); Skill skill = boostedLevelChanged.getSkill();
@@ -251,8 +260,7 @@ public class BoostsPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
lastTickMillis = System.currentTimeMillis(); lastTickMillis = System.currentTimeMillis();

View File

@@ -30,7 +30,7 @@ import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.events.NpcDespawned; 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.game.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -51,14 +51,23 @@ public class BossTimersPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private EventBus eventBus;
@Override
protected void startUp() throws Exception
{
eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned);
}
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
infoBoxManager.removeIf(t -> t instanceof RespawnTimer); infoBoxManager.removeIf(t -> t instanceof RespawnTimer);
} }
@Subscribe private void onNpcDespawned(NpcDespawned npcDespawned)
public void onNpcDespawned(NpcDespawned npcDespawned)
{ {
NPC npc = npcDespawned.getNpc(); NPC npc = npcDespawned.getNpc();

View File

@@ -56,7 +56,7 @@ import net.runelite.api.events.ProjectileMoved;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -123,6 +123,9 @@ public class CannonPlugin extends Plugin
@Inject @Inject
private ClientThread clientThread; private ClientThread clientThread;
@Inject
private EventBus eventbus;
private boolean lock; private boolean lock;
private boolean showEmptyCannonNotification; private boolean showEmptyCannonNotification;
@@ -146,6 +149,7 @@ public class CannonPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(cannonOverlay); overlayManager.add(cannonOverlay);
overlayManager.add(cannonSpotOverlay); overlayManager.add(cannonSpotOverlay);
@@ -155,6 +159,8 @@ public class CannonPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventbus.unregister(this);
cannonSpotOverlay.setHidden(true); cannonSpotOverlay.setHidden(true);
overlayManager.remove(cannonOverlay); overlayManager.remove(cannonOverlay);
overlayManager.remove(cannonSpotOverlay); overlayManager.remove(cannonSpotOverlay);
@@ -167,8 +173,17 @@ public class CannonPlugin extends Plugin
spotPoints.clear(); spotPoints.clear();
} }
@Subscribe private void addSubscriptions()
public void onItemContainerChanged(ItemContainerChanged event) {
eventbus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventbus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged);
eventbus.subscribe(GameObjectSpawned.class, this, this::onGameObjectSpawned);
eventbus.subscribe(ProjectileMoved.class, this, this::onProjectileMoved);
eventbus.subscribe(ChatMessage.class, this, this::onChatMessage);
eventbus.subscribe(GameTick.class, this, this::onGameTick);
}
private void onItemContainerChanged(ItemContainerChanged event)
{ {
if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)) if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY))
{ {
@@ -178,8 +193,7 @@ public class CannonPlugin extends Plugin
cannonSpotOverlay.setHidden(!ItemUtil.containsAllItemIds(event.getItemContainer().getItems(), CANNON_PARTS)); cannonSpotOverlay.setHidden(!ItemUtil.containsAllItemIds(event.getItemContainer().getItems(), CANNON_PARTS));
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("cannon")) if (event.getGroup().equals("cannon"))
{ {
@@ -223,8 +237,7 @@ public class CannonPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
GameObject gameObject = event.getGameObject(); GameObject gameObject = event.getGameObject();
@@ -238,8 +251,7 @@ public class CannonPlugin extends Plugin
} }
} }
@Subscribe private void onProjectileMoved(ProjectileMoved event)
public void onProjectileMoved(ProjectileMoved event)
{ {
Projectile projectile = event.getProjectile(); Projectile projectile = event.getProjectile();
@@ -261,8 +273,7 @@ public class CannonPlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (event.getType() != ChatMessageType.SPAM && event.getType() != ChatMessageType.GAMEMESSAGE) if (event.getType() != ChatMessageType.SPAM && event.getType() != ChatMessageType.GAMEMESSAGE)
{ {
@@ -345,8 +356,7 @@ public class CannonPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
skipProjectileCheckThisTick = false; skipProjectileCheckThisTick = false;
} }

View File

@@ -37,7 +37,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -59,21 +59,34 @@ public class CerberusPlugin extends Plugin
@Inject @Inject
private CerberusOverlay overlay; private CerberusOverlay overlay;
@Inject
private EventBus eventBus;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
addSubscriptions();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
ghosts.clear(); ghosts.clear();
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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(); GameState gameState = event.getGameState();
if (gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING || gameState == GameState.CONNECTION_LOST) if (gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING || gameState == GameState.CONNECTION_LOST)
@@ -82,21 +95,18 @@ public class CerberusPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(final NpcSpawned event)
public void onNpcSpawned(final NpcSpawned event)
{ {
final NPC npc = event.getNpc(); final NPC npc = event.getNpc();
CerberusGhost.fromNPC(npc).ifPresent(ghost -> ghosts.add(npc)); CerberusGhost.fromNPC(npc).ifPresent(ghost -> ghosts.add(npc));
} }
@Subscribe private void onNpcDespawned(final NpcDespawned event)
public void onNpcDespawned(final NpcDespawned event)
{ {
ghosts.remove(event.getNpc()); ghosts.remove(event.getNpc());
} }
@Subscribe void onGameTick(GameTick gameTick)
public void onGameTick(GameTick gameTick)
{ {
if (ghosts.isEmpty()) if (ghosts.isEmpty())
{ {

View File

@@ -33,7 +33,7 @@ import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetPositionMode;
import net.runelite.api.widgets.WidgetSizeMode; import net.runelite.api.widgets.WidgetSizeMode;
import net.runelite.api.widgets.WidgetType; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -47,8 +47,22 @@ public class ChatboxPerformancePlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Subscribe @Inject
public void onWidgetPositioned(WidgetPositioned event) 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()) if (!areWidgetsFixed())
{ {

View File

@@ -56,7 +56,7 @@ import net.runelite.client.chat.ChatCommandManager;
import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager; 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.events.ChatInput;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
@@ -140,9 +140,14 @@ public class ChatCommandsPlugin extends Plugin
@Inject @Inject
private ChatKeyboardListener chatKeyboardListener; private ChatKeyboardListener chatKeyboardListener;
@Inject
private EventBus eventBus;
@Override @Override
public void startUp() public void startUp()
{ {
addSubscriptions();
keyManager.registerKeyListener(chatKeyboardListener); keyManager.registerKeyListener(chatKeyboardListener);
chatCommandManager.registerCommandAsync(TOTAL_LEVEL_COMMAND_STRING, this::playerSkillLookup); chatCommandManager.registerCommandAsync(TOTAL_LEVEL_COMMAND_STRING, this::playerSkillLookup);
@@ -160,6 +165,8 @@ public class ChatCommandsPlugin extends Plugin
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
lastBossKill = null; lastBossKill = null;
keyManager.unregisterKeyListener(chatKeyboardListener); keyManager.unregisterKeyListener(chatKeyboardListener);
@@ -176,6 +183,14 @@ public class ChatCommandsPlugin extends Plugin
chatCommandManager.unregisterCommand(DUEL_ARENA_COMMAND); 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 @Provides
ChatCommandsConfig provideConfig(ConfigManager configManager) ChatCommandsConfig provideConfig(ConfigManager configManager)
{ {
@@ -208,8 +223,7 @@ public class ChatCommandsPlugin extends Plugin
return personalBest == null ? 0 : personalBest; return personalBest == null ? 0 : personalBest;
} }
@Subscribe void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (chatMessage.getType() != ChatMessageType.TRADE if (chatMessage.getType() != ChatMessageType.TRADE
&& chatMessage.getType() != ChatMessageType.GAMEMESSAGE && chatMessage.getType() != ChatMessageType.GAMEMESSAGE
@@ -324,8 +338,7 @@ public class ChatCommandsPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (!logKills) if (!logKills)
{ {
@@ -361,8 +374,7 @@ public class ChatCommandsPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded widget)
public void onWidgetLoaded(WidgetLoaded widget)
{ {
// don't load kc if in an instance, if the player is in another players poh // don't load kc if in an instance, if the player is in another players poh
// and reading their boss log // and reading their boss log
@@ -374,8 +386,7 @@ public class ChatCommandsPlugin extends Plugin
logKills = true; logKills = true;
} }
@Subscribe private void onVarbitChanged(VarbitChanged varbitChanged)
public void onVarbitChanged(VarbitChanged varbitChanged)
{ {
hiscoreEndpoint = getLocalHiscoreEndpointType(); hiscoreEndpoint = getLocalHiscoreEndpointType();
} }

View File

@@ -45,7 +45,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.OverheadTextChanged; import net.runelite.api.events.OverheadTextChanged;
import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -75,6 +75,9 @@ public class ChatFilterPlugin extends Plugin
@Inject @Inject
private ChatFilterConfig config; private ChatFilterConfig config;
@Inject
private EventBus eventBus;
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
private ChatFilterType filterType; private ChatFilterType filterType;
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
@@ -96,6 +99,8 @@ public class ChatFilterPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
updateFilteredPatterns(); updateFilteredPatterns();
client.refreshChat(); client.refreshChat();
} }
@@ -103,12 +108,20 @@ public class ChatFilterPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
filteredPatterns.clear(); filteredPatterns.clear();
client.refreshChat(); client.refreshChat();
} }
@Subscribe private void addSubscriptions()
public void onScriptCallbackEvent(ScriptCallbackEvent event) {
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())) if (!"chatFilterCheck".equals(event.getEventName()))
{ {
@@ -171,8 +184,7 @@ public class ChatFilterPlugin extends Plugin
} }
} }
@Subscribe private void onOverheadTextChanged(OverheadTextChanged event)
public void onOverheadTextChanged(OverheadTextChanged event)
{ {
if (!(event.getActor() instanceof Player) || event.getActor().getName() == null || !shouldFilterPlayerMessage(event.getActor().getName())) if (!(event.getActor() instanceof Player) || event.getActor().getName() == null || !shouldFilterPlayerMessage(event.getActor().getName()))
{ {
@@ -254,8 +266,7 @@ public class ChatFilterPlugin extends Plugin
.forEach(filteredPatterns::add); .forEach(filteredPatterns::add);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!"chatfilter".equals(event.getGroup())) if (!"chatfilter".equals(event.getGroup()))
{ {

View File

@@ -46,7 +46,7 @@ import net.runelite.client.callback.ClientThread;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.KeyListener;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -85,6 +85,9 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
@Inject @Inject
private ChatMessageManager chatMessageManager; private ChatMessageManager chatMessageManager;
@Inject
private EventBus eventBus;
private boolean retainChatHistory; private boolean retainChatHistory;
private boolean pmTargetCycling; private boolean pmTargetCycling;
@@ -98,6 +101,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
messageQueue = EvictingQueue.create(100); messageQueue = EvictingQueue.create(100);
friends = new ArrayDeque<>(FRIENDS_MAX_SIZE + 1); friends = new ArrayDeque<>(FRIENDS_MAX_SIZE + 1);
@@ -107,6 +111,8 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
messageQueue.clear(); messageQueue.clear();
messageQueue = null; messageQueue = null;
friends.clear(); friends.clear();
@@ -114,8 +120,14 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
keyManager.unregisterKeyListener(this); keyManager.unregisterKeyListener(this);
} }
@Subscribe private void addSubscriptions()
public void onChatMessage(ChatMessage chatMessage) {
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 // Start sending old messages right after the welcome message, as that is most reliable source
// of information that chat history was reset // of information that chat history was reset
@@ -171,8 +183,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
String menuOption = event.getOption(); String menuOption = event.getOption();
@@ -269,8 +280,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
return friends.getLast(); return friends.getLast();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!"chathistory".equals(event.getGroup())) if (!"chathistory".equals(event.getGroup()))
{ {

View File

@@ -47,7 +47,7 @@ import net.runelite.client.RuneLiteProperties;
import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatColorType;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -76,6 +76,9 @@ public class ChatNotificationsPlugin extends Plugin
@Inject @Inject
private RuneLiteProperties runeLiteProperties; private RuneLiteProperties runeLiteProperties;
@Inject
private EventBus eventBus;
//Custom Highlights //Custom Highlights
private Pattern usernameMatcher = null; private Pattern usernameMatcher = null;
private String usernameReplacer = ""; private String usernameReplacer = "";
@@ -102,17 +105,27 @@ public class ChatNotificationsPlugin extends Plugin
public void startUp() public void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
updateHighlights(); updateHighlights();
} }
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
this.privateMessageHashes.clear(); this.privateMessageHashes.clear();
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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()) switch (event.getGameState())
{ {
@@ -123,8 +136,7 @@ public class ChatNotificationsPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("chatnotification")) if (event.getGroup().equals("chatnotification"))
{ {
@@ -150,8 +162,7 @@ public class ChatNotificationsPlugin extends Plugin
} }
} }
@Subscribe void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
MessageNode messageNode = chatMessage.getMessageNode(); MessageNode messageNode = chatMessage.getMessageNode();
boolean update = false; boolean update = false;

View File

@@ -26,7 +26,7 @@ import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager; 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.KeyListener;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
@@ -74,6 +74,9 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
@Inject @Inject
private ChatTranslationConfig config; private ChatTranslationConfig config;
@Inject
private EventBus eventBus;
private boolean translateOptionVisable; private boolean translateOptionVisable;
private boolean publicChat; private boolean publicChat;
private String getPlayerNames; private String getPlayerNames;
@@ -91,6 +94,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
if (client != null && this.translateOptionVisable) if (client != null && this.translateOptionVisable)
{ {
@@ -104,6 +108,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
if (client != null && this.translateOptionVisable) if (client != null && this.translateOptionVisable)
{ {
menuManager.get().removePlayerMenuItem(TRANSLATE); menuManager.get().removePlayerMenuItem(TRANSLATE);
@@ -113,8 +118,15 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
playerNames.clear(); playerNames.clear();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (event.getGroup().equals("chattranslation"))
{ {
@@ -132,8 +144,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (!this.translateOptionVisable) if (!this.translateOptionVisable)
{ {
@@ -165,8 +176,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event)
public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event)
{ {
if (event.getMenuOption().equals(TRANSLATE)) if (event.getMenuOption().equals(TRANSLATE))
{ {
@@ -181,8 +191,7 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener
} }
} }
@Subscribe private void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN)
{ {

View File

@@ -70,7 +70,7 @@ import net.runelite.api.widgets.WidgetType;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.config.ConfigManager; 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.ClanManager;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -114,6 +114,9 @@ public class ClanChatPlugin extends Plugin
@Inject @Inject
private ClientThread clientThread; private ClientThread clientThread;
@Inject
private EventBus eventBus;
private List<String> chats = new ArrayList<>(); private List<String> chats = new ArrayList<>();
public static CopyOnWriteArrayList<Player> getClanMembers() public static CopyOnWriteArrayList<Player> getClanMembers()
@@ -151,19 +154,37 @@ public class ClanChatPlugin extends Plugin
public void startUp() public void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
chats = new ArrayList<>(Text.fromCSV(this.chatsData)); chats = new ArrayList<>(Text.fromCSV(this.chatsData));
} }
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
clanMembers.clear(); clanMembers.clear();
removeClanCounter(); removeClanCounter();
resetClanChats(); resetClanChats();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged configChanged) {
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")) if (configChanged.getGroup().equals("clanchat"))
{ {
@@ -185,8 +206,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onClanMemberJoined(ClanMemberJoined event)
public void onClanMemberJoined(ClanMemberJoined event)
{ {
final ClanMember member = event.getMember(); final ClanMember member = event.getMember();
@@ -231,8 +251,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onClanMemberLeft(ClanMemberLeft event)
public void onClanMemberLeft(ClanMemberLeft event)
{ {
final ClanMember member = event.getMember(); final ClanMember member = event.getMember();
@@ -275,8 +294,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick gameTick)
public void onGameTick(GameTick gameTick)
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{ {
@@ -414,8 +432,7 @@ public class ClanChatPlugin extends Plugin
clanJoinMessages.addLast(clanJoinMessage); clanJoinMessages.addLast(clanJoinMessage);
} }
@Subscribe private void onVarClientStrChanged(VarClientStrChanged strChanged)
public void onVarClientStrChanged(VarClientStrChanged strChanged)
{ {
if (strChanged.getIndex() == VarClientStr.RECENT_CLAN_CHAT.getIndex() && this.recentChats) if (strChanged.getIndex() == VarClientStr.RECENT_CLAN_CHAT.getIndex() && this.recentChats)
{ {
@@ -423,8 +440,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN)
{ {
@@ -465,8 +481,7 @@ public class ClanChatPlugin extends Plugin
insertClanRankIcon(chatMessage); insertClanRankIcon(chatMessage);
} }
@Subscribe private void onGameStateChanged(GameStateChanged state)
public void onGameStateChanged(GameStateChanged state)
{ {
GameState gameState = state.getGameState(); GameState gameState = state.getGameState();
@@ -479,8 +494,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onPlayerSpawned(PlayerSpawned event)
public void onPlayerSpawned(PlayerSpawned event)
{ {
final Player local = client.getLocalPlayer(); final Player local = client.getLocalPlayer();
final Player player = event.getPlayer(); final Player player = event.getPlayer();
@@ -492,8 +506,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onPlayerDespawned(PlayerDespawned event)
public void onPlayerDespawned(PlayerDespawned event)
{ {
if (clanMembers.remove(event.getPlayer()) && clanMembers.isEmpty()) if (clanMembers.remove(event.getPlayer()) && clanMembers.isEmpty())
{ {
@@ -501,8 +514,7 @@ public class ClanChatPlugin extends Plugin
} }
} }
@Subscribe private void onClanChanged(ClanChanged event)
public void onClanChanged(ClanChanged event)
{ {
if (event.isJoined()) if (event.isJoined())
{ {
@@ -517,8 +529,7 @@ public class ClanChatPlugin extends Plugin
activityBuffer.clear(); activityBuffer.clear();
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent)
{ {
if (!scriptCallbackEvent.getEventName().equalsIgnoreCase("clanchatInput")) if (!scriptCallbackEvent.getEventName().equalsIgnoreCase("clanchatInput"))
{ {

View File

@@ -18,7 +18,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -52,6 +52,9 @@ public class ClanManModePlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean highlightAttackable; private boolean highlightAttackable;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -100,6 +103,7 @@ public class ClanManModePlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(ClanManModeOverlay); overlayManager.add(ClanManModeOverlay);
overlayManager.add(ClanManModeTileOverlay); overlayManager.add(ClanManModeTileOverlay);
@@ -109,6 +113,8 @@ public class ClanManModePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(ClanManModeOverlay); overlayManager.remove(ClanManModeOverlay);
overlayManager.remove(ClanManModeTileOverlay); overlayManager.remove(ClanManModeTileOverlay);
overlayManager.remove(ClanManModeMinimapOverlay); overlayManager.remove(ClanManModeMinimapOverlay);
@@ -120,7 +126,13 @@ public class ClanManModePlugin extends Plugin
inwildy = 0; 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) private void onConfigChanged(ConfigChanged event)
{ {
if (!"clanmanmode".equals(event.getGroup())) if (!"clanmanmode".equals(event.getGroup()))
@@ -131,8 +143,7 @@ public class ClanManModePlugin extends Plugin
updateConfig(); updateConfig();
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.HOPPING) if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.HOPPING)
{ {
@@ -140,8 +151,7 @@ public class ClanManModePlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
ticks++; ticks++;
final Player localPlayer = client.getLocalPlayer(); final Player localPlayer = client.getLocalPlayer();

View File

@@ -72,7 +72,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -158,6 +158,9 @@ public class ClueScrollPlugin extends Plugin
@Inject @Inject
private WorldMapPointManager worldMapPointManager; private WorldMapPointManager worldMapPointManager;
@Inject
private EventBus eventBus;
private BufferedImage emoteImage; private BufferedImage emoteImage;
private BufferedImage mapArrow; private BufferedImage mapArrow;
private Integer clueItemId; private Integer clueItemId;
@@ -182,6 +185,8 @@ public class ClueScrollPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
this.displayHintArrows = config.displayHintArrows(); this.displayHintArrows = config.displayHintArrows();
overlayManager.add(clueScrollOverlay); overlayManager.add(clueScrollOverlay);
overlayManager.add(clueScrollEmoteOverlay); overlayManager.add(clueScrollEmoteOverlay);
@@ -192,6 +197,8 @@ public class ClueScrollPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(clueScrollOverlay); overlayManager.remove(clueScrollOverlay);
overlayManager.remove(clueScrollEmoteOverlay); overlayManager.remove(clueScrollEmoteOverlay);
overlayManager.remove(clueScrollWorldOverlay); overlayManager.remove(clueScrollWorldOverlay);
@@ -202,8 +209,20 @@ public class ClueScrollPlugin extends Plugin
resetClue(true); resetClue(true);
} }
@Subscribe private void addSubscriptions()
public void onChatMessage(ChatMessage event) {
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) if (event.getType() != ChatMessageType.GAMEMESSAGE && event.getType() != ChatMessageType.SPAM)
{ {
@@ -224,8 +243,7 @@ public class ClueScrollPlugin extends Plugin
resetClue(true); resetClue(true);
} }
@Subscribe private void onMenuOptionClicked(final MenuOptionClicked event)
public void onMenuOptionClicked(final MenuOptionClicked event)
{ {
if ("read".equalsIgnoreCase(event.getOption())) if ("read".equalsIgnoreCase(event.getOption()))
{ {
@@ -239,8 +257,7 @@ public class ClueScrollPlugin extends Plugin
} }
} }
@Subscribe private void onItemContainerChanged(final ItemContainerChanged event)
public void onItemContainerChanged(final ItemContainerChanged event)
{ {
if (event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT)) if (event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT))
{ {
@@ -280,15 +297,13 @@ public class ClueScrollPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(final NpcSpawned event)
public void onNpcSpawned(final NpcSpawned event)
{ {
final NPC npc = event.getNpc(); final NPC npc = event.getNpc();
checkClueNPCs(clue, npc); checkClueNPCs(clue, npc);
} }
@Subscribe private void onNpcDespawned(final NpcDespawned event)
public void onNpcDespawned(final NpcDespawned event)
{ {
final boolean removed = npcsToMark.remove(event.getNpc()); final boolean removed = npcsToMark.remove(event.getNpc());
@@ -306,8 +321,7 @@ public class ClueScrollPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("cluescroll")) if (event.getGroup().equals("cluescroll"))
{ {
@@ -319,8 +333,7 @@ public class ClueScrollPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(final GameStateChanged event)
public void onGameStateChanged(final GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOGIN_SCREEN) if (event.getGameState() == GameState.LOGIN_SCREEN)
{ {
@@ -328,8 +341,7 @@ public class ClueScrollPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(final GameTick event)
public void onGameTick(final GameTick event)
{ {
objectsToMark.clear(); objectsToMark.clear();
@@ -392,8 +404,7 @@ public class ClueScrollPlugin extends Plugin
updateClue(findClueScroll()); updateClue(findClueScroll());
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() < WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD if (event.getGroupId() < WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD
|| event.getGroupId() > WidgetID.BEGINNER_CLUE_MAP_WIZARDS_TOWER) || event.getGroupId() > WidgetID.BEGINNER_CLUE_MAP_WIZARDS_TOWER)

View File

@@ -56,7 +56,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.HitsplatApplied;
import net.runelite.api.kit.KitType; import net.runelite.api.kit.KitType;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -89,6 +89,9 @@ public class CombatCounter extends Plugin
@Inject @Inject
private CombatCounterConfig config; private CombatCounterConfig config;
@Inject
private EventBus eventBus;
private boolean instanced = false; private boolean instanced = false;
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -236,6 +239,7 @@ public class CombatCounter extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(tickOverlay); overlayManager.add(tickOverlay);
overlayManager.add(damageOverlay); overlayManager.add(damageOverlay);
@@ -249,6 +253,8 @@ public class CombatCounter extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(tickOverlay); overlayManager.remove(tickOverlay);
overlayManager.remove(damageOverlay); overlayManager.remove(damageOverlay);
@@ -258,8 +264,15 @@ public class CombatCounter extends Plugin
this.playerDamage.clear(); this.playerDamage.clear();
} }
@Subscribe private void addSubscriptions()
public void onAnimationChanged(AnimationChanged event) {
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(); Actor actor = event.getActor();
@@ -403,8 +416,7 @@ public class CombatCounter extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (this.resetOnNewInstance) if (this.resetOnNewInstance)
{ {
@@ -554,9 +566,7 @@ public class CombatCounter extends Plugin
} }
} }
private void onHitsplatApplied(HitsplatApplied event)
@Subscribe
public void onHitsplatApplied(HitsplatApplied event)
{ {
Actor actor = event.getActor(); Actor actor = event.getActor();
@@ -644,8 +654,7 @@ public class CombatCounter extends Plugin
return 2 + (int) Math.floor((3d + distance) / 6d); return 2 + (int) Math.floor((3d + distance) / 6d);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("combatcounter")) if (event.getGroup().equals("combatcounter"))
{ {

View File

@@ -45,7 +45,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -84,6 +84,9 @@ public class CombatLevelPlugin extends Plugin
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean showLevelsUntil; private boolean showLevelsUntil;
private boolean wildernessAttackLevelRange; private boolean wildernessAttackLevelRange;
@@ -98,6 +101,7 @@ public class CombatLevelPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
@@ -110,6 +114,8 @@ public class CombatLevelPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
Widget combatLevelWidget = client.getWidget(WidgetInfo.COMBAT_LEVEL); Widget combatLevelWidget = client.getWidget(WidgetInfo.COMBAT_LEVEL);
@@ -126,8 +132,14 @@ public class CombatLevelPlugin extends Plugin
shutDownAttackLevelRange(); shutDownAttackLevelRange();
} }
@Subscribe private void addSubscriptions()
public void onGameTick(GameTick event) {
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) if (client.getGameState() != GameState.LOGGED_IN)
{ {
@@ -153,8 +165,7 @@ public class CombatLevelPlugin extends Plugin
combatLevelWidget.setText("Combat Lvl: " + DECIMAL_FORMAT.format(combatLevelPrecise)); combatLevelWidget.setText("Combat Lvl: " + DECIMAL_FORMAT.format(combatLevelPrecise));
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!CONFIG_GROUP.equals(event.getGroup()) || !ATTACK_RANGE_CONFIG_KEY.equals(event.getKey())) if (!CONFIG_GROUP.equals(event.getGroup()) || !ATTACK_RANGE_CONFIG_KEY.equals(event.getKey()))
{ {
@@ -173,8 +184,7 @@ public class CombatLevelPlugin extends Plugin
} }
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent event)
public void onScriptCallbackEvent(ScriptCallbackEvent event)
{ {
if (this.wildernessAttackLevelRange if (this.wildernessAttackLevelRange
&& "wildernessWidgetTextSet".equals(event.getEventName())) && "wildernessWidgetTextSet".equals(event.getEventName()))

View File

@@ -37,7 +37,7 @@ import net.runelite.client.config.ChatColorConfig;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.config.RuneLitePlusConfig; 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.OverlayMenuClicked;
import net.runelite.client.events.PluginChanged; import net.runelite.client.events.PluginChanged;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -84,12 +84,17 @@ public class ConfigPlugin extends Plugin
@Inject @Inject
private ColorPickerManager colorPickerManager; private ColorPickerManager colorPickerManager;
@Inject
private EventBus eventBus;
private ConfigPanel configPanel; private ConfigPanel configPanel;
private NavigationButton navButton; private NavigationButton navButton;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
configPanel = new ConfigPanel(pluginManager, configManager, executorService, runeLiteConfig, runeLitePlusConfig, chatColorConfig, colorPickerManager); configPanel = new ConfigPanel(pluginManager, configManager, executorService, runeLiteConfig, runeLitePlusConfig, chatColorConfig, colorPickerManager);
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "config_icon.png"); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "config_icon.png");
@@ -107,6 +112,8 @@ public class ConfigPlugin extends Plugin
@Override @Override
public void shutDown() throws Exception public void shutDown() throws Exception
{ {
eventBus.unregister(this);
clientToolbar.removeNavigation(navButton); clientToolbar.removeNavigation(navButton);
RuneLite.getInjector().getInstance(ClientThread.class).invokeLater(() -> RuneLite.getInjector().getInstance(ClientThread.class).invokeLater(() ->
{ {
@@ -126,14 +133,18 @@ public class ConfigPlugin extends Plugin
}); });
} }
@Subscribe private void addSubscriptions()
public void onPluginChanged(PluginChanged event) {
eventBus.subscribe(PluginChanged.class, this, this::onPluginChanged);
eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked);
}
private void onPluginChanged(PluginChanged event)
{ {
SwingUtilities.invokeLater(configPanel::refreshPluginList); SwingUtilities.invokeLater(configPanel::refreshPluginList);
} }
@Subscribe private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked)
public void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked)
{ {
OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry();
if (overlayMenuEntry.getMenuAction() == MenuAction.RUNELITE_OVERLAY_CONFIG) if (overlayMenuEntry.getMenuAction() == MenuAction.RUNELITE_OVERLAY_CONFIG)

View File

@@ -44,7 +44,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.SpotAnimationChanged;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDependency;
@@ -80,6 +80,9 @@ public class CookingPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private CookingSession session; private CookingSession session;
@@ -97,6 +100,8 @@ public class CookingPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
session = null; session = null;
overlayManager.add(overlay); overlayManager.add(overlay);
} }
@@ -104,13 +109,22 @@ public class CookingPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
infoBoxManager.removeIf(FermentTimer.class::isInstance); infoBoxManager.removeIf(FermentTimer.class::isInstance);
overlayManager.remove(overlay); overlayManager.remove(overlay);
session = null; session = null;
} }
@Subscribe private void addSubscriptions()
public void onGameTick(GameTick gameTick) {
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) if (session == null || this.statTimeout == 0)
{ {
@@ -126,8 +140,7 @@ public class CookingPlugin extends Plugin
} }
} }
@Subscribe void onSpotAnimationChanged(SpotAnimationChanged graphicChanged)
public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged)
{ {
Player player = client.getLocalPlayer(); Player player = client.getLocalPlayer();
@@ -156,8 +169,7 @@ public class CookingPlugin extends Plugin
} }
} }
@Subscribe void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (event.getType() != ChatMessageType.SPAM) if (event.getType() != ChatMessageType.SPAM)
{ {
@@ -194,8 +206,7 @@ public class CookingPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
if (configChanged.getGroup().equals("cooking")) if (configChanged.getGroup().equals("cooking"))
{ {

View File

@@ -53,7 +53,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -102,6 +102,9 @@ public class CorpPlugin extends Plugin
@Inject @Inject
private CorpConfig config; private CorpConfig config;
@Inject
private EventBus eventBus;
private boolean leftClickCore; private boolean leftClickCore;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean showDamage; private boolean showDamage;
@@ -116,6 +119,7 @@ public class CorpPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(corpOverlay); overlayManager.add(corpOverlay);
overlayManager.add(coreOverlay); overlayManager.add(coreOverlay);
@@ -124,6 +128,8 @@ public class CorpPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(corpOverlay); overlayManager.remove(corpOverlay);
overlayManager.remove(coreOverlay); overlayManager.remove(coreOverlay);
@@ -133,8 +139,18 @@ public class CorpPlugin extends Plugin
players.clear(); players.clear();
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged gameStateChanged) {
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) if (gameStateChanged.getGameState() == GameState.LOADING)
{ {
@@ -142,8 +158,7 @@ public class CorpPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned npcSpawned)
public void onNpcSpawned(NpcSpawned npcSpawned)
{ {
NPC npc = npcSpawned.getNpc(); NPC npc = npcSpawned.getNpc();
@@ -162,8 +177,7 @@ public class CorpPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned npcDespawned)
public void onNpcDespawned(NpcDespawned npcDespawned)
{ {
NPC npc = npcDespawned.getNpc(); NPC npc = npcDespawned.getNpc();
@@ -199,8 +213,7 @@ public class CorpPlugin extends Plugin
} }
} }
@Subscribe private void onHitsplatApplied(HitsplatApplied hitsplatApplied)
public void onHitsplatApplied(HitsplatApplied hitsplatApplied)
{ {
Actor actor = hitsplatApplied.getActor(); Actor actor = hitsplatApplied.getActor();
@@ -218,8 +231,7 @@ public class CorpPlugin extends Plugin
totalDamage += hitsplatApplied.getHitsplat().getAmount(); totalDamage += hitsplatApplied.getHitsplat().getAmount();
} }
@Subscribe private void onInteractingChanged(InteractingChanged interactingChanged)
public void onInteractingChanged(InteractingChanged interactingChanged)
{ {
Actor source = interactingChanged.getSource(); Actor source = interactingChanged.getSource();
Actor target = interactingChanged.getTarget(); Actor target = interactingChanged.getTarget();
@@ -232,8 +244,7 @@ public class CorpPlugin extends Plugin
players.add(source); players.add(source);
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded menuEntryAdded)
public void onMenuEntryAdded(MenuEntryAdded menuEntryAdded)
{ {
if (menuEntryAdded.getType() != NPC_SECTION_ACTION if (menuEntryAdded.getType() != NPC_SECTION_ACTION
|| !this.leftClickCore || !menuEntryAdded.getOption().equals(ATTACK)) || !this.leftClickCore || !menuEntryAdded.getOption().equals(ATTACK))
@@ -256,8 +267,7 @@ public class CorpPlugin extends Plugin
client.setMenuEntries(menuEntries); client.setMenuEntries(menuEntries);
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
if (configChanged.getGroup().equals("corp")) if (configChanged.getGroup().equals("corp"))
{ {

View File

@@ -63,7 +63,7 @@ import net.runelite.api.events.ProjectileMoved;
import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.SpotAnimationChanged;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -105,6 +105,8 @@ public class CoxPlugin extends Plugin
private CoxConfig config; private CoxConfig config;
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean HandCripple; private boolean HandCripple;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -207,6 +209,7 @@ public class CoxPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(coxOverlay); overlayManager.add(coxOverlay);
overlayManager.add(coxInfoBox); overlayManager.add(coxInfoBox);
@@ -227,12 +230,24 @@ public class CoxPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(coxOverlay); overlayManager.remove(coxOverlay);
overlayManager.remove(coxInfoBox); overlayManager.remove(coxInfoBox);
} }
@Subscribe private void addSubscriptions()
public void onChatMessage(ChatMessage chatMessage) {
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()) if (inRaid())
{ {
@@ -305,8 +320,7 @@ public class CoxPlugin extends Plugin
} }
} }
@Subscribe private void onProjectileMoved(ProjectileMoved event)
public void onProjectileMoved(ProjectileMoved event)
{ {
if (inRaid()) if (inRaid())
{ {
@@ -328,8 +342,7 @@ public class CoxPlugin extends Plugin
} }
} }
@Subscribe private void onSpotAnimationChanged(SpotAnimationChanged graphicChanged)
public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged)
{ {
if (inRaid()) if (inRaid())
{ {
@@ -344,8 +357,7 @@ public class CoxPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned npcSpawned)
public void onNpcSpawned(NpcSpawned npcSpawned)
{ {
if (inRaid()) if (inRaid())
{ {
@@ -384,8 +396,7 @@ public class CoxPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (inRaid()) if (inRaid())
{ {
@@ -429,8 +440,7 @@ public class CoxPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (!inRaid()) if (!inRaid())
{ {
@@ -696,8 +706,7 @@ public class CoxPlugin extends Plugin
return client.getVar(Varbits.IN_RAID) == 1; return client.getVar(Varbits.IN_RAID) == 1;
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
if (configChanged.getGroup().equals("Cox")) if (configChanged.getGroup().equals("Cox"))
{ {

View File

@@ -35,7 +35,7 @@ import net.runelite.api.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.RuneLiteAPI;
@@ -64,12 +64,27 @@ public class CrystalMathLabs extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private EventBus eventBus;
private String lastUsername; private String lastUsername;
private boolean fetchXp; private boolean fetchXp;
private long lastXp; private long lastXp;
@Subscribe @Override
public void onGameStateChanged(GameStateChanged gameStateChanged) 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(); GameState state = gameStateChanged.getGameState();
if (state == GameState.LOGGED_IN) if (state == GameState.LOGGED_IN)
@@ -98,8 +113,7 @@ public class CrystalMathLabs extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick gameTick)
public void onGameTick(GameTick gameTick)
{ {
if (fetchXp) if (fetchXp)
{ {

View File

@@ -29,7 +29,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
@@ -48,6 +48,9 @@ public class CustomCursorPlugin extends Plugin
@Inject @Inject
private CustomCursorConfig config; private CustomCursorConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
CustomCursorConfig provideConfig(ConfigManager configManager) CustomCursorConfig provideConfig(ConfigManager configManager)
{ {
@@ -57,17 +60,19 @@ public class CustomCursorPlugin extends Plugin
@Override @Override
protected void startUp() protected void startUp()
{ {
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
updateCursor(); updateCursor();
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
clientUI.resetCursor(); clientUI.resetCursor();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("customcursor") && event.getKey().equals("cursorStyle")) if (event.getGroup().equals("customcursor") && event.getKey().equals("cursorStyle"))
{ {

View File

@@ -44,7 +44,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -80,6 +80,9 @@ public class DailyTasksPlugin extends Plugin
@Inject @Inject
private ChatMessageManager chatMessageManager; private ChatMessageManager chatMessageManager;
@Inject
private EventBus eventBus;
private long lastReset; private long lastReset;
private boolean loggingIn; private boolean loggingIn;
@@ -103,6 +106,9 @@ public class DailyTasksPlugin extends Plugin
public void startUp() public void startUp()
{ {
updateConfig(); updateConfig();
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
addSubscriptions();
loggingIn = true; loggingIn = true;
} }
@@ -110,11 +116,19 @@ public class DailyTasksPlugin extends Plugin
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
eventBus.unregister(this);
lastReset = 0L; lastReset = 0L;
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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) if (event.getGameState() == GameState.LOGGING_IN)
{ {
@@ -122,8 +136,7 @@ public class DailyTasksPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
boolean dailyReset = !loggingIn && currentTime - lastReset > ONE_DAY; boolean dailyReset = !loggingIn && currentTime - lastReset > ONE_DAY;
@@ -298,8 +311,7 @@ public class DailyTasksPlugin extends Plugin
.build()); .build());
} }
@Subscribe private void onConfigChanged(ConfigChanged configChanged)
public void onConfigChanged(ConfigChanged configChanged)
{ {
if (configChanged.getGroup().equals("dailytaskindicators")) if (configChanged.getGroup().equals("dailytaskindicators"))
{ {

View File

@@ -43,7 +43,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.LocalPlayerDeath; import net.runelite.api.events.LocalPlayerDeath;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -83,6 +83,9 @@ public class DeathIndicatorPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private EventBus eventBus;
private BufferedImage mapArrow; private BufferedImage mapArrow;
private Timer deathTimer; private Timer deathTimer;
@@ -100,6 +103,8 @@ public class DeathIndicatorPlugin extends Plugin
@Override @Override
protected void startUp() protected void startUp()
{ {
addSubscriptions();
if (!hasDied()) if (!hasDied())
{ {
return; return;
@@ -127,6 +132,8 @@ public class DeathIndicatorPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
if (client.hasHintArrow()) if (client.hasHintArrow())
{ {
client.clearHintArrow(); client.clearHintArrow();
@@ -141,8 +148,15 @@ public class DeathIndicatorPlugin extends Plugin
worldMapPointManager.removeIf(DeathWorldMapPoint.class::isInstance); worldMapPointManager.removeIf(DeathWorldMapPoint.class::isInstance);
} }
@Subscribe private void addSubscriptions()
public void onLocalPlayerDeath(LocalPlayerDeath death) {
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()) if (client.isInInstancedRegion())
{ {
@@ -154,8 +168,7 @@ public class DeathIndicatorPlugin extends Plugin
lastDeathTime = Instant.now(); lastDeathTime = Instant.now();
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
// Check if player respawned in a death respawn location // Check if player respawned in a death respawn location
if (lastDeath != null && !client.getLocalPlayer().getWorldLocation().equals(lastDeath)) if (lastDeath != null && !client.getLocalPlayer().getWorldLocation().equals(lastDeath))
@@ -219,8 +232,7 @@ public class DeathIndicatorPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("deathIndicator")) if (event.getGroup().equals("deathIndicator"))
{ {
@@ -251,8 +263,7 @@ public class DeathIndicatorPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (!hasDied()) if (!hasDied())
{ {

View File

@@ -33,7 +33,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; 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.events.SessionOpen;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -57,6 +57,9 @@ public class DefaultWorldPlugin extends Plugin
@Inject @Inject
private DefaultWorldConfig config; private DefaultWorldConfig config;
@Inject
private EventBus eventBus;
private final WorldClient worldClient = new WorldClient(); private final WorldClient worldClient = new WorldClient();
private int worldCache; private int worldCache;
private boolean worldChangeRequired; private boolean worldChangeRequired;
@@ -64,6 +67,8 @@ public class DefaultWorldPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
worldChangeRequired = true; worldChangeRequired = true;
applyWorld(); applyWorld();
} }
@@ -71,25 +76,31 @@ public class DefaultWorldPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
worldChangeRequired = true; worldChangeRequired = true;
changeWorld(worldCache); changeWorld(worldCache);
} }
private void addSubscriptions()
{
eventBus.subscribe(SessionOpen.class, this, this::onSessionOpen);
eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
}
@Provides @Provides
DefaultWorldConfig getConfig(ConfigManager configManager) DefaultWorldConfig getConfig(ConfigManager configManager)
{ {
return configManager.getConfig(DefaultWorldConfig.class); return configManager.getConfig(DefaultWorldConfig.class);
} }
@Subscribe private void onSessionOpen(SessionOpen event)
public void onSessionOpen(SessionOpen event)
{ {
worldChangeRequired = true; worldChangeRequired = true;
applyWorld(); applyWorld();
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
applyWorld(); applyWorld();
} }

View File

@@ -56,7 +56,7 @@ import net.runelite.api.events.PlayerDespawned;
import net.runelite.api.events.PlayerSpawned; import net.runelite.api.events.PlayerSpawned;
import net.runelite.api.events.ProjectileMoved; import net.runelite.api.events.ProjectileMoved;
import net.runelite.client.callback.ClientThread; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -81,6 +81,9 @@ public class DemonicGorillaPlugin extends Plugin
@Inject @Inject
private ClientThread clientThread; private ClientThread clientThread;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private Map<NPC, DemonicGorilla> gorillas; private Map<NPC, DemonicGorilla> gorillas;
@@ -93,6 +96,7 @@ public class DemonicGorillaPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
gorillas = new HashMap<>(); gorillas = new HashMap<>();
recentBoulders = new ArrayList<>(); recentBoulders = new ArrayList<>();
@@ -104,6 +108,7 @@ public class DemonicGorillaPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
gorillas = null; gorillas = null;
recentBoulders = null; recentBoulders = null;
@@ -111,6 +116,18 @@ public class DemonicGorillaPlugin extends Plugin
memorizedPlayers = null; 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() private void clear()
{ {
recentBoulders.clear(); recentBoulders.clear();
@@ -528,8 +545,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onProjectileMoved(ProjectileMoved event)
public void onProjectileMoved(ProjectileMoved event)
{ {
Projectile projectile = event.getProjectile(); Projectile projectile = event.getProjectile();
int projectileId = projectile.getId(); int projectileId = projectile.getId();
@@ -616,8 +632,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onHitsplatApplied(HitsplatApplied event)
public void onHitsplatApplied(HitsplatApplied event)
{ {
if (gorillas.isEmpty()) if (gorillas.isEmpty())
{ {
@@ -645,8 +660,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
GameState gs = event.getGameState(); GameState gs = event.getGameState();
if (gs == GameState.LOGGING_IN || if (gs == GameState.LOGGING_IN ||
@@ -657,8 +671,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onPlayerSpawned(PlayerSpawned event)
public void onPlayerSpawned(PlayerSpawned event)
{ {
if (gorillas.isEmpty()) if (gorillas.isEmpty())
{ {
@@ -669,8 +682,7 @@ public class DemonicGorillaPlugin extends Plugin
memorizedPlayers.put(player, new MemorizedPlayer(player)); memorizedPlayers.put(player, new MemorizedPlayer(player));
} }
@Subscribe private void onPlayerDespawned(PlayerDespawned event)
public void onPlayerDespawned(PlayerDespawned event)
{ {
if (gorillas.isEmpty()) if (gorillas.isEmpty())
{ {
@@ -680,8 +692,7 @@ public class DemonicGorillaPlugin extends Plugin
memorizedPlayers.remove(event.getPlayer()); memorizedPlayers.remove(event.getPlayer());
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
NPC npc = event.getNpc(); NPC npc = event.getNpc();
if (isNpcGorilla(npc.getId())) if (isNpcGorilla(npc.getId()))
@@ -697,8 +708,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (gorillas.remove(event.getNpc()) != null && gorillas.isEmpty()) if (gorillas.remove(event.getNpc()) != null && gorillas.isEmpty())
{ {
@@ -706,8 +716,7 @@ public class DemonicGorillaPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
checkGorillaAttacks(); checkGorillaAttacks();
checkPendingAttacks(); checkPendingAttacks();

View File

@@ -42,15 +42,16 @@ import net.runelite.api.NPC;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.BoostedLevelChanged; import net.runelite.api.events.BoostedLevelChanged;
import net.runelite.api.events.CommandExecuted; import net.runelite.api.events.CommandExecuted;
import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.SoundEffectPlayed;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.api.kit.KitType; import net.runelite.api.kit.KitType;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.ClientToolbar;
@@ -143,6 +144,8 @@ public class DevToolsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
players = new DevToolsButton("Players"); players = new DevToolsButton("Players");
npcs = new DevToolsButton("NPCs"); npcs = new DevToolsButton("NPCs");
@@ -200,14 +203,13 @@ public class DevToolsPlugin extends Plugin
.build(); .build();
clientToolbar.addNavigation(navButton); clientToolbar.addNavigation(navButton);
eventBus.register(soundEffectOverlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(soundEffectOverlay); eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(locationOverlay); overlayManager.remove(locationOverlay);
overlayManager.remove(sceneOverlay); overlayManager.remove(sceneOverlay);
@@ -218,8 +220,15 @@ public class DevToolsPlugin extends Plugin
clientToolbar.removeNavigation(navButton); clientToolbar.removeNavigation(navButton);
} }
@Subscribe private void addSubscriptions()
public void onCommandExecuted(CommandExecuted commandExecuted) {
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(); String[] args = commandExecuted.getArguments();
@@ -260,7 +269,7 @@ public class DevToolsPlugin extends Plugin
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set VarPlayer " + varp + " to " + value, null); client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set VarPlayer " + varp + " to " + value, null);
VarbitChanged varbitChanged = new VarbitChanged(); VarbitChanged varbitChanged = new VarbitChanged();
varbitChanged.setIndex(varp); varbitChanged.setIndex(varp);
eventBus.post(varbitChanged); // fake event eventBus.post(VarbitChanged.class, varbitChanged); // fake event
break; break;
} }
case "getvarb": case "getvarb":
@@ -276,7 +285,7 @@ public class DevToolsPlugin extends Plugin
int value = Integer.parseInt(args[1]); int value = Integer.parseInt(args[1]);
client.setVarbitValue(client.getVarps(), varbit, value); client.setVarbitValue(client.getVarps(), varbit, value);
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", "Set varbit " + varbit + " to " + value, null); 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; break;
} }
case "addxp": case "addxp":
@@ -295,7 +304,7 @@ public class DevToolsPlugin extends Plugin
ExperienceChanged experienceChanged = new ExperienceChanged(); ExperienceChanged experienceChanged = new ExperienceChanged();
experienceChanged.setSkill(skill); experienceChanged.setSkill(skill);
eventBus.post(experienceChanged); eventBus.post(ExperienceChanged.class, experienceChanged);
break; break;
} }
case "setstat": case "setstat":
@@ -314,11 +323,11 @@ public class DevToolsPlugin extends Plugin
ExperienceChanged experienceChanged = new ExperienceChanged(); ExperienceChanged experienceChanged = new ExperienceChanged();
experienceChanged.setSkill(skill); experienceChanged.setSkill(skill);
eventBus.post(experienceChanged); eventBus.post(ExperienceChanged.class, experienceChanged);
BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged(); BoostedLevelChanged boostedLevelChanged = new BoostedLevelChanged();
boostedLevelChanged.setSkill(skill); boostedLevelChanged.setSkill(skill);
eventBus.post(boostedLevelChanged); eventBus.post(BoostedLevelChanged.class, boostedLevelChanged);
break; break;
} }
case "anim": case "anim":
@@ -363,8 +372,7 @@ public class DevToolsPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (!examine.isActive()) if (!examine.isActive())
{ {
@@ -401,4 +409,24 @@ public class DevToolsPlugin extends Plugin
client.setMenuEntries(entries); 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);
}
} }

View File

@@ -33,7 +33,6 @@ import net.runelite.api.Player;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.AreaSoundEffectPlayed; import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.SoundEffectPlayed; 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.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent; import net.runelite.client.ui.overlay.components.LineComponent;
@@ -74,14 +73,8 @@ class SoundEffectOverlay extends Overlay
return panelComponent.render(graphics); return panelComponent.render(graphics);
} }
@Subscribe void onSoundEffectPlayed(SoundEffectPlayed event)
public void onSoundEffectPlayed(SoundEffectPlayed event)
{ {
if (!plugin.getSoundEffects().isActive())
{
return;
}
String text = String text =
"Id: " + event.getSoundId() + "Id: " + event.getSoundId() +
" - D: " + event.getDelay(); " - D: " + event.getDelay();
@@ -94,14 +87,8 @@ class SoundEffectOverlay extends Overlay
checkMaxLines(); checkMaxLines();
} }
@Subscribe void onAreaSoundEffectPlayed(AreaSoundEffectPlayed event)
public void onAreaSoundEffectPlayed(AreaSoundEffectPlayed event)
{ {
if (!plugin.getSoundEffects().isActive())
{
return;
}
Color textColor = COLOR_AREA_SOUND_EFFECT; Color textColor = COLOR_AREA_SOUND_EFFECT;
// Check if the player is within range to hear the sound // Check if the player is within range to hear the sound

View File

@@ -56,7 +56,6 @@ import net.runelite.api.events.VarClientIntChanged;
import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.events.VarClientStrChanged;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout; import net.runelite.client.ui.DynamicGridLayout;
@@ -115,6 +114,7 @@ class VarInspector extends JFrame
@Override @Override
public void windowClosing(WindowEvent e) public void windowClosing(WindowEvent e)
{ {
eventBus.unregister(this);
close(); close();
plugin.getVarInspector().setActive(false); plugin.getVarInspector().setActive(false);
} }
@@ -170,6 +170,7 @@ class VarInspector extends JFrame
add(trackerOpts, BorderLayout.SOUTH); add(trackerOpts, BorderLayout.SOUTH);
pack(); pack();
} }
private void addVarLog(VarType type, String name, int old, int neew) private void addVarLog(VarType type, String name, int old, int neew)
@@ -210,8 +211,7 @@ class VarInspector extends JFrame
}); });
} }
@Subscribe private void onVarbitChanged(VarbitChanged ev)
public void onVarbitChanged(VarbitChanged ev)
{ {
int[] varps = client.getVarps(); int[] varps = client.getVarps();
@@ -274,8 +274,7 @@ class VarInspector extends JFrame
System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length); System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length);
} }
@Subscribe private void onVarClientIntChanged(VarClientIntChanged e)
public void onVarClientIntChanged(VarClientIntChanged e)
{ {
int idx = e.getIndex(); int idx = e.getIndex();
int neew = (Integer) client.getVarcMap().getOrDefault(idx, 0); int neew = (Integer) client.getVarcMap().getOrDefault(idx, 0);
@@ -297,8 +296,7 @@ class VarInspector extends JFrame
} }
} }
@Subscribe private void onVarClientStrChanged(VarClientStrChanged e)
public void onVarClientStrChanged(VarClientStrChanged e)
{ {
int idx = e.getIndex(); int idx = e.getIndex();
String neew = (String) client.getVarcMap().getOrDefault(idx, ""); String neew = (String) client.getVarcMap().getOrDefault(idx, "");
@@ -348,7 +346,11 @@ class VarInspector extends JFrame
System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length); System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length);
varcs = new HashMap<>(client.getVarcMap()); varcs = new HashMap<>(client.getVarcMap());
eventBus.register(this); // eventBus.register(this);
eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged);
eventBus.subscribe(VarClientIntChanged.class, this, this::onVarClientIntChanged);
eventBus.subscribe(VarClientStrChanged.class, this, this::onVarClientStrChanged);
setVisible(true); setVisible(true);
toFront(); toFront();
repaint(); repaint();

View File

@@ -53,7 +53,6 @@ import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetItem; import net.runelite.api.widgets.WidgetItem;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
@Slf4j @Slf4j
@@ -86,7 +85,7 @@ class WidgetInspector extends JFrame
this.config = config; this.config = config;
this.overlay = overlay; this.overlay = overlay;
eventBus.register(this); eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
setTitle("RuneLite Widget Inspector"); setTitle("RuneLite Widget Inspector");
setIconImage(ClientUI.ICON); setIconImage(ClientUI.ICON);
@@ -97,6 +96,7 @@ class WidgetInspector extends JFrame
@Override @Override
public void windowClosing(WindowEvent e) public void windowClosing(WindowEvent e)
{ {
eventBus.unregister(this);
close(); close();
plugin.getWidgetInspector().setActive(false); plugin.getWidgetInspector().setActive(false);
} }
@@ -165,9 +165,9 @@ class WidgetInspector extends JFrame
add(split, BorderLayout.CENTER); add(split, BorderLayout.CENTER);
pack(); pack();
} }
@Subscribe
private void onConfigChanged(ConfigChanged ev) private void onConfigChanged(ConfigChanged ev)
{ {
boolean onTop = config.inspectorAlwaysOnTop(); boolean onTop = config.inspectorAlwaysOnTop();

View File

@@ -56,7 +56,7 @@ import net.runelite.client.discord.DiscordService;
import net.runelite.client.discord.events.DiscordJoinGame; import net.runelite.client.discord.events.DiscordJoinGame;
import net.runelite.client.discord.events.DiscordJoinRequest; import net.runelite.client.discord.events.DiscordJoinRequest;
import net.runelite.client.discord.events.DiscordReady; 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.events.PartyChanged;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -110,6 +110,9 @@ public class DiscordPlugin extends Plugin
@Inject @Inject
private WSClient wsClient; private WSClient wsClient;
@Inject
private EventBus eventBus;
private final Map<Skill, Integer> skillExp = new HashMap<>(); private final Map<Skill, Integer> skillExp = new HashMap<>();
private NavigationButton discordButton; private NavigationButton discordButton;
private boolean loginFlag; private boolean loginFlag;
@@ -137,6 +140,7 @@ public class DiscordPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "discord.png"); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "discord.png");
@@ -162,14 +166,31 @@ public class DiscordPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
clientToolbar.removeNavigation(discordButton); clientToolbar.removeNavigation(discordButton);
discordState.reset(); discordState.reset();
partyService.changeParty(null); partyService.changeParty(null);
wsClient.unregisterMessage(DiscordUserInfo.class); wsClient.unregisterMessage(DiscordUserInfo.class);
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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()) switch (event.getGameState())
{ {
@@ -192,8 +213,7 @@ public class DiscordPlugin extends Plugin
checkForAreaUpdate(); checkForAreaUpdate();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equalsIgnoreCase("discord")) if (event.getGroup().equalsIgnoreCase("discord"))
{ {
@@ -205,8 +225,7 @@ public class DiscordPlugin extends Plugin
} }
} }
@Subscribe private void onExperienceChanged(ExperienceChanged event)
public void onExperienceChanged(ExperienceChanged event)
{ {
final int exp = client.getSkillExperience(event.getSkill()); final int exp = client.getSkillExperience(event.getSkill());
final Integer previous = skillExp.put(event.getSkill(), exp); final Integer previous = skillExp.put(event.getSkill(), exp);
@@ -224,8 +243,7 @@ public class DiscordPlugin extends Plugin
} }
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
if (!this.showRaidingActivity) if (!this.showRaidingActivity)
{ {
@@ -240,14 +258,12 @@ public class DiscordPlugin extends Plugin
} }
} }
@Subscribe private void onDiscordReady(DiscordReady event)
public void onDiscordReady(DiscordReady event)
{ {
partyService.setUsername(event.getUsername() + "#" + event.getDiscriminator()); partyService.setUsername(event.getUsername() + "#" + event.getDiscriminator());
} }
@Subscribe private void onDiscordJoinRequest(DiscordJoinRequest request)
public void onDiscordJoinRequest(DiscordJoinRequest request)
{ {
log.debug("Got discord join request {}", request); log.debug("Got discord join request {}", request);
if (partyService.isOwner() && partyService.getMembers().isEmpty()) if (partyService.isOwner() && partyService.getMembers().isEmpty())
@@ -258,8 +274,7 @@ public class DiscordPlugin extends Plugin
} }
} }
@Subscribe private void onDiscordJoinGame(DiscordJoinGame joinGame)
public void onDiscordJoinGame(DiscordJoinGame joinGame)
{ {
log.debug("Got discord join game {}", joinGame); log.debug("Got discord join game {}", joinGame);
UUID partyId = UUID.fromString(joinGame.getJoinSecret()); UUID partyId = UUID.fromString(joinGame.getJoinSecret());
@@ -267,8 +282,7 @@ public class DiscordPlugin extends Plugin
updatePresence(); updatePresence();
} }
@Subscribe private void onDiscordUserInfo(final DiscordUserInfo event)
public void onDiscordUserInfo(final DiscordUserInfo event)
{ {
final PartyMember memberById = partyService.getMemberById(event.getMemberId()); final PartyMember memberById = partyService.getMemberById(event.getMemberId());
@@ -327,14 +341,12 @@ public class DiscordPlugin extends Plugin
}); });
} }
@Subscribe private void onUserJoin(final UserJoin event)
public void onUserJoin(final UserJoin event)
{ {
updatePresence(); updatePresence();
} }
@Subscribe private void onUserSync(final UserSync event)
public void onUserSync(final UserSync event)
{ {
final PartyMember localMember = partyService.getLocalMember(); final PartyMember localMember = partyService.getLocalMember();
@@ -349,14 +361,12 @@ public class DiscordPlugin extends Plugin
} }
} }
@Subscribe private void onUserPart(final UserPart event)
public void onUserPart(final UserPart event)
{ {
updatePresence(); updatePresence();
} }
@Subscribe private void onPartyChanged(final PartyChanged event)
public void onPartyChanged(final PartyChanged event)
{ {
updatePresence(); updatePresence();
} }

View File

@@ -42,7 +42,7 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.OverheadTextChanged; import net.runelite.api.events.OverheadTextChanged;
import net.runelite.client.chat.ChatMessageManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
@@ -64,16 +64,32 @@ public class EmojiPlugin extends Plugin
@Inject @Inject
private ChatMessageManager chatMessageManager; private ChatMessageManager chatMessageManager;
@Inject
private EventBus eventBus;
private int modIconsStart = -1; private int modIconsStart = -1;
@Override @Override
protected void startUp() protected void startUp()
{ {
loadEmojiIcons(); loadEmojiIcons();
addSubscriptions();
} }
@Subscribe @Override
public void onGameStateChanged(GameStateChanged gameStateChanged) 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);
}
void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() == GameState.LOGGED_IN) if (gameStateChanged.getGameState() == GameState.LOGGED_IN)
{ {
@@ -113,8 +129,7 @@ public class EmojiPlugin extends Plugin
client.setModIcons(newModIcons); client.setModIcons(newModIcons);
} }
@Subscribe void onChatMessage(ChatMessage chatMessage)
public void onChatMessage(ChatMessage chatMessage)
{ {
if (client.getGameState() != GameState.LOGGED_IN || modIconsStart == -1) if (client.getGameState() != GameState.LOGGED_IN || modIconsStart == -1)
{ {
@@ -148,8 +163,7 @@ public class EmojiPlugin extends Plugin
client.refreshChat(); client.refreshChat();
} }
@Subscribe private void onOverheadTextChanged(final OverheadTextChanged event)
public void onOverheadTextChanged(final OverheadTextChanged event)
{ {
if (!(event.getActor() instanceof Player)) if (!(event.getActor() instanceof Player))
{ {

View File

@@ -35,7 +35,7 @@ import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -54,6 +54,9 @@ public class EntityHiderPlugin extends Plugin
@Inject @Inject
private EntityHiderConfig config; private EntityHiderConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
EntityHiderConfig provideConfig(ConfigManager configManager) EntityHiderConfig provideConfig(ConfigManager configManager)
{ {
@@ -64,15 +67,23 @@ public class EntityHiderPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged e)
{ {
updateConfig(); eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
}
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("entityhider"))
{
updateConfig();
}
} }
@Subscribe
public void onGameStateChanged(GameStateChanged event) public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOGGED_IN) if (event.getGameState() == GameState.LOGGED_IN)
@@ -106,6 +117,8 @@ public class EntityHiderPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
client.setIsHidingEntities(false); client.setIsHidingEntities(false);
client.setPlayersHidden(false); client.setPlayersHidden(false);

View File

@@ -52,7 +52,7 @@ import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager; 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.ItemManager;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -94,6 +94,10 @@ public class EquipmentInspectorPlugin extends Plugin
@Inject @Inject
private ClientToolbar pluginToolbar; private ClientToolbar pluginToolbar;
@Inject
private EventBus eventBus;
private NavigationButton navButton; private NavigationButton navButton;
private EquipmentInspectorPanel equipmentInspectorPanel; private EquipmentInspectorPanel equipmentInspectorPanel;
private int TotalPrice = 0; private int TotalPrice = 0;
@@ -116,6 +120,7 @@ public class EquipmentInspectorPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
equipmentInspectorPanel = injector.getInstance(EquipmentInspectorPanel.class); equipmentInspectorPanel = injector.getInstance(EquipmentInspectorPanel.class);
if (client != null) if (client != null)
@@ -140,12 +145,18 @@ public class EquipmentInspectorPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
menuManager.removePlayerMenuItem(INSPECT_EQUIPMENT); menuManager.removePlayerMenuItem(INSPECT_EQUIPMENT);
} }
@Subscribe private void addSubscriptions()
public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event) {
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)) if (event.getMenuOption().equals(INSPECT_EQUIPMENT))
{ {
@@ -297,8 +308,7 @@ public class EquipmentInspectorPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equalsIgnoreCase("equipmentinspector")) if (event.getGroup().equalsIgnoreCase("equipmentinspector"))
{ {

View File

@@ -50,7 +50,7 @@ import net.runelite.client.chat.ChatColorType;
import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage; 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.game.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -96,15 +96,34 @@ public class ExaminePlugin extends Plugin
@Inject @Inject
private ScheduledExecutorService executor; private ScheduledExecutorService executor;
@Inject
private EventBus eventBus;
@Subscribe @Override
public void onGameStateChanged(GameStateChanged event) 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(); pending.clear();
} }
@Subscribe void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (!event.getOption().equals("Examine")) if (!event.getOption().equals("Examine"))
{ {
@@ -161,8 +180,7 @@ public class ExaminePlugin extends Plugin
pending.push(pendingExamine); pending.push(pendingExamine);
} }
@Subscribe void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
ExamineType type; ExamineType type;
switch (event.getType()) switch (event.getType())

View File

@@ -55,7 +55,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.NPCManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -89,6 +89,9 @@ public class XpDropPlugin extends Plugin
@Inject @Inject
private XpDropOverlay overlay; private XpDropOverlay overlay;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private int damage = 0; private int damage = 0;
@@ -126,6 +129,7 @@ public class XpDropPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
damageMode = config.showdamagedrops(); damageMode = config.showdamagedrops();
@@ -138,11 +142,22 @@ public class XpDropPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (!event.getGroup().equals("xpdrop"))
{ {
@@ -171,15 +186,13 @@ public class XpDropPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
damage = 0; damage = 0;
tickShow = 0; tickShow = 0;
} }
@Subscribe private void onWidgetHiddenChanged(WidgetHiddenChanged event)
public void onWidgetHiddenChanged(WidgetHiddenChanged event)
{ {
Widget widget = event.getWidget(); Widget widget = event.getWidget();
@@ -303,8 +316,7 @@ public class XpDropPlugin extends Plugin
return null; return null;
} }
@Subscribe private void onGameTick(GameTick tick)
public void onGameTick(GameTick tick)
{ {
lastOpponent = client.getLocalPlayer().getInteracting(); lastOpponent = client.getLocalPlayer().getInteracting();
@@ -339,8 +351,7 @@ public class XpDropPlugin extends Plugin
client.runScript(XPDROP_DISABLED, lastSkill.ordinal(), previousExpGained); client.runScript(XPDROP_DISABLED, lastSkill.ordinal(), previousExpGained);
} }
@Subscribe private void onExperienceChanged(ExperienceChanged event)
public void onExperienceChanged(ExperienceChanged event)
{ {
final Skill skill = event.getSkill(); final Skill skill = event.getSkill();
final int xp = client.getSkillExperience(skill); final int xp = client.getSkillExperience(skill);
@@ -355,8 +366,7 @@ public class XpDropPlugin extends Plugin
} }
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent e)
public void onScriptCallbackEvent(ScriptCallbackEvent e)
{ {
if (this.showdamagedrops == XpDropConfig.DamageMode.NONE) if (this.showdamagedrops == XpDropConfig.DamageMode.NONE)
{ {

View File

@@ -55,7 +55,7 @@ import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetType; import net.runelite.api.widgets.WidgetType;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.ChatboxPanelManager;
import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.game.chatbox.ChatboxTextInput;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -92,6 +92,9 @@ public class FairyRingPlugin extends Plugin
@Inject @Inject
private ClientThread clientThread; private ClientThread clientThread;
@Inject
private EventBus eventBus;
private ChatboxTextInput searchInput = null; private ChatboxTextInput searchInput = null;
private Widget searchBtn; private Widget searchBtn;
private Collection<CodeWidgets> codes = null; private Collection<CodeWidgets> codes = null;
@@ -115,10 +118,24 @@ public class FairyRingPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
this.autoOpen = config.autoOpen(); this.autoOpen = config.autoOpen();
addSubscriptions();
} }
@Subscribe @Override
public void onConfigChanged(ConfigChanged event) 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")) if (!event.getGroup().equals("fairyrings"))
{ {
@@ -134,14 +151,12 @@ public class FairyRingPlugin extends Plugin
return configManager.getConfig(FairyRingConfig.class); return configManager.getConfig(FairyRingConfig.class);
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
setWidgetTextToDestination(); setWidgetTextToDestination();
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded widgetLoaded)
public void onWidgetLoaded(WidgetLoaded widgetLoaded)
{ {
if (widgetLoaded.getGroupId() == WidgetID.FAIRY_RING_PANEL_GROUP_ID) if (widgetLoaded.getGroupId() == WidgetID.FAIRY_RING_PANEL_GROUP_ID)
{ {
@@ -227,8 +242,7 @@ public class FairyRingPlugin extends Plugin
.build(); .build();
} }
@Subscribe private void onGameTick(GameTick t)
public void onGameTick(GameTick t)
{ {
// This has to happen because the only widget that gets hidden is the tli one // This has to happen because the only widget that gets hidden is the tli one
Widget fairyRingTeleportButton = client.getWidget(WidgetInfo.FAIRY_RING_TELEPORT_BUTTON); Widget fairyRingTeleportButton = client.getWidget(WidgetInfo.FAIRY_RING_TELEPORT_BUTTON);

View File

@@ -37,7 +37,7 @@ import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
@@ -66,6 +66,9 @@ public class FeedPlugin extends Plugin
@Inject @Inject
private ScheduledExecutorService executorService; private ScheduledExecutorService executorService;
@Inject
private EventBus eventBus;
private FeedPanel feedPanel; private FeedPanel feedPanel;
private NavigationButton navButton; private NavigationButton navButton;
@@ -86,6 +89,8 @@ public class FeedPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
feedPanel = new FeedPanel(config, feedSupplier); feedPanel = new FeedPanel(config, feedSupplier);
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "icon.png"); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "icon.png");
@@ -104,6 +109,7 @@ public class FeedPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
clientToolbar.removeNavigation(navButton); clientToolbar.removeNavigation(navButton);
} }
@@ -112,8 +118,7 @@ public class FeedPlugin extends Plugin
feedPanel.rebuildFeed(); feedPanel.rebuildFeed();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("feed")) if (event.getGroup().equals("feed"))
{ {

View File

@@ -52,7 +52,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; 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.NPCManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -130,6 +130,8 @@ public class FightCavePlugin extends Plugin
private FightCaveOverlay fightCaveOverlay; private FightCaveOverlay fightCaveOverlay;
@Inject @Inject
private FightCaveConfig config; private FightCaveConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private Set<FightCaveContainer> fightCaveContainer = new HashSet<>(); private Set<FightCaveContainer> fightCaveContainer = new HashSet<>();
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -170,6 +172,7 @@ public class FightCavePlugin extends Plugin
public void startUp() public void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
if (client.getGameState() == GameState.LOGGED_IN && regionCheck()) if (client.getGameState() == GameState.LOGGED_IN && regionCheck())
{ {
@@ -182,13 +185,24 @@ public class FightCavePlugin extends Plugin
@Override @Override
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(waveOverlay); overlayManager.remove(waveOverlay);
overlayManager.remove(fightCaveOverlay); overlayManager.remove(fightCaveOverlay);
currentWave = -1; currentWave = -1;
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (!event.getGroup().equals("fightcave"))
{ {
@@ -198,8 +212,7 @@ public class FightCavePlugin extends Plugin
updateConfig(); updateConfig();
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (!validRegion) if (!validRegion)
{ {
@@ -216,8 +229,7 @@ public class FightCavePlugin extends Plugin
currentWave = Integer.parseInt(waveMatcher.group(1)); currentWave = Integer.parseInt(waveMatcher.group(1));
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() != GameState.LOGGED_IN) if (event.getGameState() != GameState.LOGGED_IN)
{ {
@@ -240,8 +252,7 @@ public class FightCavePlugin extends Plugin
fightCaveContainer.clear(); fightCaveContainer.clear();
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
if (!validRegion) if (!validRegion)
{ {
@@ -265,8 +276,7 @@ public class FightCavePlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (!validRegion) if (!validRegion)
{ {
@@ -290,8 +300,7 @@ public class FightCavePlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick Event)
public void onGameTick(GameTick Event)
{ {
if (!validRegion) if (!validRegion)
{ {

View File

@@ -64,7 +64,7 @@ import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -131,6 +131,9 @@ public class FishingPlugin extends Plugin
@Inject @Inject
private FishingSpotMinimapOverlay fishingSpotMinimapOverlay; private FishingSpotMinimapOverlay fishingSpotMinimapOverlay;
@Inject
private EventBus eventBus;
private boolean trawlerNotificationSent; private boolean trawlerNotificationSent;
@Provides @Provides
@@ -159,6 +162,7 @@ public class FishingPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(spotOverlay); overlayManager.add(spotOverlay);
@@ -168,6 +172,8 @@ public class FishingPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
spotOverlay.setHidden(true); spotOverlay.setHidden(true);
fishingSpotMinimapOverlay.setHidden(true); fishingSpotMinimapOverlay.setHidden(true);
overlayManager.remove(overlay); overlayManager.remove(overlay);
@@ -180,8 +186,21 @@ public class FishingPlugin extends Plugin
trawlerStartTime = null; trawlerStartTime = null;
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (!event.getGroup().equals("fishing"))
{ {
@@ -191,8 +210,7 @@ public class FishingPlugin extends Plugin
updateConfig(); updateConfig();
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
GameState gameState = gameStateChanged.getGameState(); GameState gameState = gameStateChanged.getGameState();
if (gameState == GameState.CONNECTION_LOST || gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING) if (gameState == GameState.CONNECTION_LOST || gameState == GameState.LOGIN_SCREEN || gameState == GameState.HOPPING)
@@ -202,8 +220,7 @@ public class FishingPlugin extends Plugin
} }
} }
@Subscribe private void onItemContainerChanged(ItemContainerChanged event)
public void onItemContainerChanged(ItemContainerChanged event)
{ {
if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY) if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)
&& event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT)) && event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT))
@@ -224,8 +241,7 @@ public class FishingPlugin extends Plugin
fishingSpotMinimapOverlay.setHidden(!showOverlays); fishingSpotMinimapOverlay.setHidden(!showOverlays);
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (event.getType() != ChatMessageType.SPAM) if (event.getType() != ChatMessageType.SPAM)
{ {
@@ -241,8 +257,7 @@ public class FishingPlugin extends Plugin
} }
} }
@Subscribe private void onInteractingChanged(InteractingChanged event)
public void onInteractingChanged(InteractingChanged event)
{ {
if (event.getSource() != client.getLocalPlayer()) if (event.getSource() != client.getLocalPlayer())
{ {
@@ -277,8 +292,7 @@ public class FishingPlugin extends Plugin
return ItemUtil.containsAnyItemId(itemContainer.getItems(), FISHING_TOOLS); return ItemUtil.containsAnyItemId(itemContainer.getItems(), FISHING_TOOLS);
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
// Reset fishing session // Reset fishing session
if (session.getLastFishCaught() != null) if (session.getLastFishCaught() != null)
@@ -318,8 +332,7 @@ public class FishingPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
final NPC npc = event.getNpc(); final NPC npc = event.getNpc();
@@ -332,8 +345,7 @@ public class FishingPlugin extends Plugin
inverseSortSpotDistanceFromPlayer(); inverseSortSpotDistanceFromPlayer();
} }
@Subscribe private void onNpcDespawned(NpcDespawned npcDespawned)
public void onNpcDespawned(NpcDespawned npcDespawned)
{ {
final NPC npc = npcDespawned.getNpc(); final NPC npc = npcDespawned.getNpc();
@@ -346,8 +358,7 @@ public class FishingPlugin extends Plugin
} }
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
if (!this.trawlerNotification || client.getGameState() != GameState.LOGGED_IN) if (!this.trawlerNotification || client.getGameState() != GameState.LOGGED_IN)
{ {
@@ -371,8 +382,7 @@ public class FishingPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() == WidgetID.FISHING_TRAWLER_GROUP_ID) if (event.getGroupId() == WidgetID.FISHING_TRAWLER_GROUP_ID)
{ {

View File

@@ -51,7 +51,7 @@ import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.BeforeRender; import net.runelite.api.events.BeforeRender;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.client.config.ConfigManager; 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.Flexo;
import net.runelite.client.flexo.FlexoMouse; import net.runelite.client.flexo.FlexoMouse;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -104,6 +104,9 @@ public class FlexoPlugin extends Plugin
@Inject @Inject
private FlexoConfig config; private FlexoConfig config;
@Inject
private EventBus eventBus;
@Provides @Provides
FlexoConfig getConfig(ConfigManager configManager) FlexoConfig getConfig(ConfigManager configManager)
{ {
@@ -138,7 +141,6 @@ public class FlexoPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private List<Point> clickPoints = new ArrayList<>(); private List<Point> clickPoints = new ArrayList<>();
@Subscribe
private void onConfigChanged(ConfigChanged event) private void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("flexo") || (!event.getGroup().equals("stretchedmode")) ) if (!event.getGroup().equals("flexo") || (!event.getGroup().equals("stretchedmode")) )
@@ -150,9 +152,7 @@ public class FlexoPlugin extends Plugin
updateMouseMotionFactory(); updateMouseMotionFactory();
} }
private void onBeforeRender(BeforeRender event)
@Subscribe
public void onBeforeRender(BeforeRender event)
{ {
if (Flexo.client == null) if (Flexo.client == null)
{ {
@@ -293,6 +293,7 @@ public class FlexoPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
Flexo.isStretched = client.isStretchedEnabled(); Flexo.isStretched = client.isStretchedEnabled();
overlayManager.add(overlay); overlayManager.add(overlay);
@@ -302,9 +303,17 @@ public class FlexoPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
private void addSubscriptions()
{
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventBus.subscribe(BeforeRender.class, this, this::onBeforeRender);
}
private void updateConfig() private void updateConfig()
{ {
this.overlayEnabled = config.overlayEnabled(); this.overlayEnabled = config.overlayEnabled();

View File

@@ -38,7 +38,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged; import net.runelite.api.events.FocusChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.DrawManager; import net.runelite.client.ui.DrawManager;
@@ -92,6 +92,9 @@ public class FpsPlugin extends Plugin
@Inject @Inject
private FpsConfig fpsConfig; private FpsConfig fpsConfig;
@Inject
private EventBus eventBus;
private final ScheduledExecutorService pingExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor()); private final ScheduledExecutorService pingExecutorService = new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor());
private boolean loaded = false; private boolean loaded = false;
@@ -113,8 +116,7 @@ public class FpsPlugin extends Plugin
return configManager.getConfig(FpsConfig.class); return configManager.getConfig(FpsConfig.class);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals(CONFIG_GROUP_KEY)) if (event.getGroup().equals(CONFIG_GROUP_KEY))
{ {
@@ -126,15 +128,13 @@ public class FpsPlugin extends Plugin
} }
} }
@Subscribe private void onFocusChanged(FocusChanged event)
public void onFocusChanged(FocusChanged event)
{ {
drawListener.onFocusChanged(event); drawListener.onFocusChanged(event);
overlay.onFocusChanged(event); overlay.onFocusChanged(event);
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
shutdown = event.getGameState() != GameState.LOGGED_IN; shutdown = event.getGameState() != GameState.LOGGED_IN;
} }
@@ -142,6 +142,8 @@ public class FpsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
limitMode = fpsConfig.limitMode(); limitMode = fpsConfig.limitMode();
drawFps = fpsConfig.drawFps(); drawFps = fpsConfig.drawFps();
drawPing = fpsConfig.drawPing(); drawPing = fpsConfig.drawPing();
@@ -160,11 +162,20 @@ public class FpsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
drawManager.unregisterEveryFrameListener(drawListener); drawManager.unregisterEveryFrameListener(drawListener);
shutdown = true; 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() private void getPingToCurrentWorld()
{ {
if (!shutdown && drawPing) if (!shutdown && drawPing)

View File

@@ -37,7 +37,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.SpotAnimationChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -74,6 +74,9 @@ public class FreezeTimersPlugin extends Plugin
@Inject @Inject
private FreezeTimersConfig config; private FreezeTimersConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean showPlayers; private boolean showPlayers;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@@ -96,11 +99,14 @@ public class FreezeTimersPlugin extends Plugin
public void startUp() public void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
} }
public void shutDown() public void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
@@ -110,8 +116,15 @@ public class FreezeTimersPlugin extends Plugin
return configManager.getConfig(FreezeTimersConfig.class); return configManager.getConfig(FreezeTimersConfig.class);
} }
@Subscribe private void addSubscriptions()
public void onSpotAnimationChanged(SpotAnimationChanged graphicChanged) {
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged);
eventBus.subscribe(GameTick.class, this, this::onGameTick);
eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned);
}
private void onSpotAnimationChanged(SpotAnimationChanged graphicChanged)
{ {
int oldGraphic = prayerTracker.getSpotanimLastTick(graphicChanged.getActor()); int oldGraphic = prayerTracker.getSpotanimLastTick(graphicChanged.getActor());
int newGraphic = graphicChanged.getActor().getSpotAnimation(); int newGraphic = graphicChanged.getActor().getSpotAnimation();
@@ -137,8 +150,7 @@ public class FreezeTimersPlugin extends Plugin
System.currentTimeMillis() + length); System.currentTimeMillis() + length);
} }
@Subscribe private void onGameTick(GameTick tickEvent)
public void onGameTick(GameTick tickEvent)
{ {
timers.gameTick(); timers.gameTick();
prayerTracker.gameTick(); prayerTracker.gameTick();
@@ -148,13 +160,12 @@ public class FreezeTimersPlugin extends Plugin
{ {
SpotAnimationChanged callback = new SpotAnimationChanged(); SpotAnimationChanged callback = new SpotAnimationChanged();
callback.setActor(actor); callback.setActor(actor);
client.getCallbacks().post(callback); client.getCallbacks().post(SpotAnimationChanged.class, callback);
} }
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (!isAtVorkath()) if (!isAtVorkath())
{ {
@@ -180,8 +191,7 @@ public class FreezeTimersPlugin extends Plugin
return ArrayUtils.contains(client.getMapRegions(), VORKATH_REGION); return ArrayUtils.contains(client.getMapRegions(), VORKATH_REGION);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("freezetimers")) if (event.getGroup().equals("freezetimers"))
{ {

View File

@@ -32,7 +32,7 @@ import net.runelite.api.VarPlayer;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -52,16 +52,26 @@ public class FriendListPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private EventBus eventBus;
@Override
protected void startUp() throws Exception
{
eventBus.subscribe(GameTick.class, this, this::onGameTick);
}
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
final int world = client.getWorld(); final int world = client.getWorld();
setFriendsListTitle("Friends List - World " + world); setFriendsListTitle("Friends List - World " + world);
setIgnoreListTitle("Ignore List - World " + world); setIgnoreListTitle("Ignore List - World " + world);
} }
@Subscribe private void onGameTick(GameTick tick)
public void onGameTick(GameTick tick)
{ {
final int world = client.getWorld(); final int world = client.getWorld();
final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0; final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0;

View File

@@ -46,7 +46,7 @@ import net.runelite.api.events.NameableNameChanged;
import net.runelite.api.events.FriendRemoved; import net.runelite.api.events.FriendRemoved;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.ChatboxPanelManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -85,21 +85,35 @@ public class FriendNotesPlugin extends Plugin
@Inject @Inject
private ChatboxPanelManager chatboxPanelManager; private ChatboxPanelManager chatboxPanelManager;
@Inject
private EventBus eventBus;
@Getter @Getter
private HoveredFriend hoveredFriend = null; private HoveredFriend hoveredFriend = null;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); 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. * Set a friend note, or unset by passing a null/empty note.
*/ */
@@ -160,8 +174,7 @@ public class FriendNotesPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
final int groupId = WidgetInfo.TO_GROUP(event.getActionParam1()); final int groupId = WidgetInfo.TO_GROUP(event.getActionParam1());
@@ -189,8 +202,7 @@ public class FriendNotesPlugin extends Plugin
} }
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId()) if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId())
{ {
@@ -227,8 +239,7 @@ public class FriendNotesPlugin extends Plugin
} }
@Subscribe private void onNameableNameChanged(NameableNameChanged event)
public void onNameableNameChanged(NameableNameChanged event)
{ {
final Nameable nameable = event.getNameable(); final Nameable nameable = event.getNameable();
@@ -249,8 +260,7 @@ public class FriendNotesPlugin extends Plugin
} }
} }
@Subscribe private void onFriendRemoved(FriendRemoved event)
public void onFriendRemoved(FriendRemoved event)
{ {
// Delete a friend's note if they are removed // Delete a friend's note if they are removed
final String displayName = Text.toJagexName(event.getName()); final String displayName = Text.toJagexName(event.getName());

View File

@@ -34,7 +34,7 @@ import net.runelite.api.events.FriendRemoved;
import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.ChatboxPanelManager;
import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.game.chatbox.ChatboxTextInput;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
@@ -84,9 +84,14 @@ public class FriendTaggingPlugin extends Plugin
@Inject @Inject
private ChatboxPanelManager chatboxPanelManager; private ChatboxPanelManager chatboxPanelManager;
@Inject
private EventBus eventBus;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
menuManager.addManagedCustomMenu(friendsTabMenuOption); menuManager.addManagedCustomMenu(friendsTabMenuOption);
menuManager.addManagedCustomMenu(ignoreTabMenuOption); menuManager.addManagedCustomMenu(ignoreTabMenuOption);
menuManager.addManagedCustomMenu(friendTabResizableOption); menuManager.addManagedCustomMenu(friendTabResizableOption);
@@ -97,14 +102,24 @@ public class FriendTaggingPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
menuManager.removeManagedCustomMenu(friendsTabMenuOption); menuManager.removeManagedCustomMenu(friendsTabMenuOption);
menuManager.removeManagedCustomMenu(ignoreTabMenuOption); menuManager.removeManagedCustomMenu(ignoreTabMenuOption);
menuManager.removeManagedCustomMenu(friendTabResizableOption); menuManager.removeManagedCustomMenu(friendTabResizableOption);
menuManager.removeManagedCustomMenu(ignoreTabResizableOption); menuManager.removeManagedCustomMenu(ignoreTabResizableOption);
} }
@Subscribe private void addSubscriptions()
public void onMenuEntryAdded(MenuEntryAdded event) {
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()); final int groupId = WidgetInfo.TO_GROUP(event.getActionParam1());
@@ -127,15 +142,13 @@ public class FriendTaggingPlugin extends Plugin
} }
} }
@Subscribe private void onFriendRemoved(FriendRemoved event)
public void onFriendRemoved(FriendRemoved event)
{ {
final String displayName = event.getName().trim().toLowerCase(); final String displayName = event.getName().trim().toLowerCase();
deleteTag(displayName); deleteTag(displayName);
} }
@Subscribe private void onNameableNameChanged(NameableNameChanged event)
public void onNameableNameChanged(NameableNameChanged event)
{ {
final Nameable nameable = event.getNameable(); final Nameable nameable = event.getNameable();
@@ -150,8 +163,7 @@ public class FriendTaggingPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
{ {
if (event.getWidget().getId() == WidgetInfo.FIXED_VIEWPORT_FRIENDS_TAB.getId() && if (event.getWidget().getId() == WidgetInfo.FIXED_VIEWPORT_FRIENDS_TAB.getId() &&
Text.standardize(event.getMenuTarget()).equals(Text.standardize("clipboard"))) Text.standardize(event.getMenuTarget()).equals(Text.standardize("clipboard")))
@@ -160,8 +172,7 @@ public class FriendTaggingPlugin extends Plugin
} }
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId()) if (WidgetInfo.TO_GROUP(event.getActionParam1()) == WidgetInfo.FRIENDS_LIST.getGroupId())
{ {

View File

@@ -71,7 +71,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.hooks.DrawCallbacks; import net.runelite.api.hooks.DrawCallbacks;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginInstantiationException; import net.runelite.client.plugins.PluginInstantiationException;
@@ -121,6 +121,9 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
@Inject @Inject
private PluginManager pluginManager; private PluginManager pluginManager;
@Inject
private EventBus eventbus;
private Canvas canvas; private Canvas canvas;
private JAWTWindow jawtWindow; private JAWTWindow jawtWindow;
private GL4 gl; private GL4 gl;
@@ -238,8 +241,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
private int fogCircularity; private int fogCircularity;
private int fogDensity; private int fogDensity;
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("gpu")) if (event.getGroup().equals("gpu"))
{ {
@@ -259,9 +261,11 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
} }
@Override @Override
protected void startUp() protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
clientThread.invoke(() -> clientThread.invoke(() ->
{ {
try try
@@ -362,6 +366,8 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventbus.unregister(this);
clientThread.invoke(() -> clientThread.invoke(() ->
{ {
client.setGpu(false); client.setGpu(false);
@@ -431,6 +437,12 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
}); });
} }
private void addSubscriptions()
{
eventbus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventbus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
}
@Provides @Provides
GpuPluginConfig provideConfig(ConfigManager configManager) GpuPluginConfig provideConfig(ConfigManager configManager)
{ {
@@ -800,8 +812,14 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
// We inject code in the game engine mixin to prevent the client from doing canvas replacement, // We inject code in the game engine mixin to prevent the client from doing canvas replacement,
// so this should not ever be hit // so this should not ever be hit
log.warn("Canvas invalidated!"); log.warn("Canvas invalidated!");
shutDown(); try
startUp(); {
shutDown();
startUp();
}
catch (Exception e)
{
}
return; return;
} }
@@ -1282,8 +1300,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
textureManager.animate(texture, diff); textureManager.animate(texture, diff);
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() != GameState.LOGGED_IN) if (gameStateChanged.getGameState() != GameState.LOGGED_IN)
{ {

View File

@@ -67,7 +67,7 @@ import net.runelite.client.Notifier;
import net.runelite.client.account.AccountSession; import net.runelite.client.account.AccountSession;
import net.runelite.client.account.SessionManager; import net.runelite.client.account.SessionManager;
import net.runelite.client.config.ConfigManager; 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.SessionClose;
import net.runelite.client.events.SessionOpen; import net.runelite.client.events.SessionOpen;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
@@ -150,6 +150,9 @@ public class GrandExchangePlugin extends Plugin
@Inject @Inject
private ConfigManager configManager; private ConfigManager configManager;
@Inject
private EventBus eventBus;
private Widget grandExchangeText; private Widget grandExchangeText;
private Widget grandExchangeItem; private Widget grandExchangeItem;
private Map<Integer, Integer> itemGELimits; private Map<Integer, Integer> itemGELimits;
@@ -191,6 +194,7 @@ public class GrandExchangePlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
itemGELimits = loadGELimits(); itemGELimits = loadGELimits();
panel = injector.getInstance(GrandExchangePanel.class); panel = injector.getInstance(GrandExchangePanel.class);
@@ -223,6 +227,8 @@ public class GrandExchangePlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
clientToolbar.removeNavigation(button); clientToolbar.removeNavigation(button);
mouseManager.unregisterMouseListener(inputListener); mouseManager.unregisterMouseListener(inputListener);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
@@ -232,8 +238,23 @@ public class GrandExchangePlugin extends Plugin
grandExchangeClient = null; grandExchangeClient = null;
} }
@Subscribe private void addSubscriptions()
public void onSessionOpen(SessionOpen sessionOpen) {
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(); AccountSession accountSession = sessionManager.getAccountSession();
if (accountSession.getUuid() != null) if (accountSession.getUuid() != null)
@@ -254,14 +275,12 @@ public class GrandExchangePlugin extends Plugin
this.enableGELimits = config.enableGELimits(); this.enableGELimits = config.enableGELimits();
} }
@Subscribe private void onSessionClose(SessionClose sessionClose)
public void onSessionClose(SessionClose sessionClose)
{ {
grandExchangeClient = null; grandExchangeClient = null;
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("grandexchange")) if (event.getGroup().equals("grandexchange"))
{ {
@@ -282,8 +301,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent)
public void onGrandExchangeOfferChanged(GrandExchangeOfferChanged offerEvent)
{ {
final int slot = offerEvent.getSlot(); final int slot = offerEvent.getSlot();
final GrandExchangeOffer offer = offerEvent.getOffer(); final GrandExchangeOffer offer = offerEvent.getOffer();
@@ -360,8 +378,7 @@ public class GrandExchangePlugin extends Plugin
return savedOffer.getState() != grandExchangeOffer.getState(); return savedOffer.getState() != grandExchangeOffer.getState();
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (!this.enableNotifications || event.getType() != ChatMessageType.GAMEMESSAGE) if (!this.enableNotifications || event.getType() != ChatMessageType.GAMEMESSAGE)
{ {
@@ -376,8 +393,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN)
{ {
@@ -385,8 +401,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
// At the moment, if the user disables quick lookup, the input listener gets disabled. Thus, isHotKeyPressed() // 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. // should always return false when quick lookup is disabled.
@@ -419,8 +434,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onFocusChanged(FocusChanged focusChanged)
public void onFocusChanged(FocusChanged focusChanged)
{ {
if (!focusChanged.isFocused()) if (!focusChanged.isFocused())
{ {
@@ -428,8 +442,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
switch (event.getGroupId()) switch (event.getGroupId())
{ {
@@ -447,8 +460,7 @@ public class GrandExchangePlugin extends Plugin
} }
} }
@Subscribe private void onScriptCallbackEvent(ScriptCallbackEvent event)
public void onScriptCallbackEvent(ScriptCallbackEvent event)
{ {
if (!event.getEventName().equals("setGETitle") || !config.showTotal()) if (!event.getEventName().equals("setGETitle") || !config.showTotal())
{ {
@@ -490,8 +502,7 @@ public class GrandExchangePlugin extends Plugin
stringStack[stringStackSize - 1] += titleBuilder.toString(); stringStack[stringStackSize - 1] += titleBuilder.toString();
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (grandExchangeText == null || grandExchangeItem == null || grandExchangeItem.isHidden()) if (grandExchangeText == null || grandExchangeItem == null || grandExchangeItem.isHidden())
{ {

View File

@@ -26,11 +26,11 @@ package net.runelite.client.plugins.grotesqueguardians;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.eventbus.Subscribe;
import java.util.ArrayList; import java.util.ArrayList;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.NPC; import net.runelite.api.NPC;
@@ -57,6 +57,8 @@ public class GrotesqueGuardiansPlugin extends Plugin
private OverlayManager overlayManager; private OverlayManager overlayManager;
@Inject @Inject
private GrotesqueGuardiansPrayerOverlay prayerOverlay; private GrotesqueGuardiansPrayerOverlay prayerOverlay;
@Inject
private EventBus eventBus;
@Nullable @Nullable
private DuskAttack prayAgainst; private DuskAttack prayAgainst;
@Nullable @Nullable
@@ -76,6 +78,8 @@ public class GrotesqueGuardiansPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
eventBus.subscribe(GameTick.class, this, this::onGameTick);
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(prayerOverlay); overlayManager.add(prayerOverlay);
dusk = null; dusk = null;
@@ -85,14 +89,15 @@ public class GrotesqueGuardiansPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(prayerOverlay); overlayManager.remove(prayerOverlay);
dusk = null; dusk = null;
prayAgainst = null; prayAgainst = null;
} }
@Subscribe private void onGameTick(final GameTick event)
public void onGameTick(final GameTick event)
{ {
final ArrayList<Integer> regions = new ArrayList<>(); final ArrayList<Integer> regions = new ArrayList<>();
for (final int intValue : client.getMapRegions()) for (final int intValue : client.getMapRegions())

View File

@@ -74,7 +74,7 @@ import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.NpcLootReceived;
import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.events.PlayerLootReceived;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
@@ -182,6 +182,9 @@ public class GroundItemsPlugin extends Plugin
@Inject @Inject
private Notifier notifier; private Notifier notifier;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PUBLIC) @Getter(AccessLevel.PUBLIC)
public static final Map<GroundItem.GroundItemKey, GroundItem> collectedGroundItems = new LinkedHashMap<>(); public static final Map<GroundItem.GroundItemKey, GroundItem> collectedGroundItems = new LinkedHashMap<>();
private final Map<Integer, Color> priceChecks = new LinkedHashMap<>(); private final Map<Integer, Color> priceChecks = new LinkedHashMap<>();
@@ -249,6 +252,8 @@ public class GroundItemsPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
reset(); reset();
mouseManager.registerMouseListener(inputListener); mouseManager.registerMouseListener(inputListener);
@@ -258,6 +263,8 @@ public class GroundItemsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
mouseManager.unregisterMouseListener(inputListener); mouseManager.unregisterMouseListener(inputListener);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
@@ -270,8 +277,22 @@ public class GroundItemsPlugin extends Plugin
collectedGroundItems.clear(); collectedGroundItems.clear();
} }
@Subscribe private void addSubscriptions()
public void onGameTick(GameTick event) {
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()) for (GroundItem item : collectedGroundItems.values())
{ {
@@ -283,8 +304,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("grounditems")) if (event.getGroup().equals("grounditems"))
{ {
@@ -293,8 +313,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(final GameStateChanged event)
public void onGameStateChanged(final GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOADING) if (event.getGameState() == GameState.LOADING)
{ {
@@ -302,8 +321,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onItemSpawned(ItemSpawned itemSpawned)
public void onItemSpawned(ItemSpawned itemSpawned)
{ {
Item item = itemSpawned.getItem(); Item item = itemSpawned.getItem();
Tile tile = itemSpawned.getTile(); Tile tile = itemSpawned.getTile();
@@ -328,8 +346,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onItemDespawned(ItemDespawned itemDespawned)
public void onItemDespawned(ItemDespawned itemDespawned)
{ {
Item item = itemDespawned.getItem(); Item item = itemDespawned.getItem();
Tile tile = itemDespawned.getTile(); Tile tile = itemDespawned.getTile();
@@ -351,8 +368,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
{ {
Item item = itemQuantityChanged.getItem(); Item item = itemQuantityChanged.getItem();
Tile tile = itemQuantityChanged.getTile(); Tile tile = itemQuantityChanged.getTile();
@@ -368,8 +384,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onNpcLootReceived(NpcLootReceived npcLootReceived)
public void onNpcLootReceived(NpcLootReceived npcLootReceived)
{ {
npcLootReceived.getItems().forEach(item -> npcLootReceived.getItems().forEach(item ->
{ {
@@ -386,8 +401,7 @@ public class GroundItemsPlugin extends Plugin
lootNotifier(items); lootNotifier(items);
} }
@Subscribe private void onPlayerLootReceived(PlayerLootReceived playerLootReceived)
public void onPlayerLootReceived(PlayerLootReceived playerLootReceived)
{ {
Collection<ItemStack> items = playerLootReceived.getItems(); Collection<ItemStack> items = playerLootReceived.getItems();
lootReceived(items); lootReceived(items);
@@ -434,8 +448,7 @@ public class GroundItemsPlugin extends Plugin
notifier.notify(notification); notifier.notify(notification);
} }
@Subscribe private void onClientTick(ClientTick event)
public void onClientTick(ClientTick event)
{ {
final MenuEntry[] menuEntries = client.getMenuEntries(); final MenuEntry[] menuEntries = client.getMenuEntries();
final List<MenuEntryWithCount> newEntries = new ArrayList<>(menuEntries.length); final List<MenuEntryWithCount> newEntries = new ArrayList<>(menuEntries.length);
@@ -672,8 +685,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (this.itemHighlightMode != OVERLAY) if (this.itemHighlightMode != OVERLAY)
{ {
@@ -925,8 +937,7 @@ public class GroundItemsPlugin extends Plugin
return this.defaultColor; return this.defaultColor;
} }
@Subscribe private void onFocusChanged(FocusChanged focusChanged)
public void onFocusChanged(FocusChanged focusChanged)
{ {
if (!focusChanged.isFocused()) if (!focusChanged.isFocused())
{ {

View File

@@ -58,7 +58,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.MenuOptionClicked;
import net.runelite.client.config.ConfigManager; 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.input.KeyManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -112,6 +112,9 @@ public class GroundMarkerPlugin extends Plugin
@Inject @Inject
private GroundMarkerMinimapOverlay minimapOverlay; private GroundMarkerMinimapOverlay minimapOverlay;
@Inject
private EventBus eventBus;
@Inject @Inject
private KeyManager keyManager; private KeyManager keyManager;
@@ -272,8 +275,7 @@ public class GroundMarkerPlugin extends Plugin
return point; return point;
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() != GameState.LOGGED_IN) if (gameStateChanged.getGameState() != GameState.LOGGED_IN)
{ {
@@ -284,8 +286,7 @@ public class GroundMarkerPlugin extends Plugin
loadPoints(); loadPoints();
} }
@Subscribe private void onFocusChanged(FocusChanged focusChanged)
public void onFocusChanged(FocusChanged focusChanged)
{ {
if (!focusChanged.isFocused()) if (!focusChanged.isFocused())
{ {
@@ -293,8 +294,7 @@ public class GroundMarkerPlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (hotKeyPressed && event.getOption().equals(WALK_HERE)) if (hotKeyPressed && event.getOption().equals(WALK_HERE))
{ {
@@ -328,8 +328,7 @@ public class GroundMarkerPlugin extends Plugin
} }
} }
@Subscribe private void onMenuOptionClicked(MenuOptionClicked event)
public void onMenuOptionClicked(MenuOptionClicked event)
{ {
if (!event.getOption().contains(MARK) && !event.getOption().contains(UNMARK)) if (!event.getOption().contains(MARK) && !event.getOption().contains(UNMARK))
{ {
@@ -356,6 +355,7 @@ public class GroundMarkerPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(minimapOverlay); overlayManager.add(minimapOverlay);
@@ -366,12 +366,22 @@ public class GroundMarkerPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(minimapOverlay); overlayManager.remove(minimapOverlay);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
points.clear(); 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) private void markTile(LocalPoint localPoint, int group)
{ {
if (localPoint == null) if (localPoint == null)
@@ -424,8 +434,7 @@ public class GroundMarkerPlugin extends Plugin
return color; return color;
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("groundMarker")) if (event.getGroup().equals("groundMarker"))
{ {

View File

@@ -57,7 +57,7 @@ import net.runelite.api.events.GroundObjectDespawned;
import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.GroundObjectSpawned;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -112,6 +112,9 @@ public class HerbiboarPlugin extends Plugin
@Inject @Inject
private HerbiboarConfig config; private HerbiboarConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private boolean inHerbiboarArea; private boolean inHerbiboarArea;
@@ -172,6 +175,7 @@ public class HerbiboarPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(minimapOverlay); overlayManager.add(minimapOverlay);
@@ -181,10 +185,25 @@ public class HerbiboarPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(minimapOverlay); 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() private void updateTrailData()
{ {
currentTrail = null; currentTrail = null;
@@ -241,8 +260,7 @@ public class HerbiboarPlugin extends Plugin
tunnels.clear(); tunnels.clear();
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
switch (event.getGameState()) switch (event.getGameState())
{ {
@@ -259,8 +277,7 @@ public class HerbiboarPlugin extends Plugin
} }
} }
@Subscribe private void onVarbitChanged(VarbitChanged event)
public void onVarbitChanged(VarbitChanged event)
{ {
if (isInHerbiboarArea()) if (isInHerbiboarArea())
{ {
@@ -268,38 +285,32 @@ public class HerbiboarPlugin extends Plugin
} }
} }
@Subscribe private void onGameObjectSpawned(GameObjectSpawned event)
public void onGameObjectSpawned(GameObjectSpawned event)
{ {
onGameObject(event.getTile(), null, event.getGameObject()); onGameObject(event.getTile(), null, event.getGameObject());
} }
@Subscribe private void onGameObjectChanged(GameObjectChanged event)
public void onGameObjectChanged(GameObjectChanged event)
{ {
onGameObject(event.getTile(), event.getPrevious(), event.getGameObject()); onGameObject(event.getTile(), event.getPrevious(), event.getGameObject());
} }
@Subscribe private void onGameObjectDespawned(GameObjectDespawned event)
public void onGameObjectDespawned(GameObjectDespawned event)
{ {
onGameObject(event.getTile(), event.getGameObject(), null); onGameObject(event.getTile(), event.getGameObject(), null);
} }
@Subscribe private void onGroundObjectSpawned(GroundObjectSpawned event)
public void onGroundObjectSpawned(GroundObjectSpawned event)
{ {
onGroundObject( null, event.getGroundObject()); onGroundObject( null, event.getGroundObject());
} }
@Subscribe private void onGroundObjectChanged(GroundObjectChanged event)
public void onGroundObjectChanged(GroundObjectChanged event)
{ {
onGroundObject(event.getPrevious(), event.getGroundObject()); onGroundObject(event.getPrevious(), event.getGroundObject());
} }
@Subscribe private void onGroundObjectDespawned(GroundObjectDespawned event)
public void onGroundObjectDespawned(GroundObjectDespawned event)
{ {
onGroundObject(event.getGroundObject(), null); onGroundObject(event.getGroundObject(), null);
} }
@@ -382,8 +393,7 @@ public class HerbiboarPlugin extends Plugin
return END_LOCATIONS; return END_LOCATIONS;
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("herbiboar")) if (event.getGroup().equals("herbiboar"))
{ {

View File

@@ -47,7 +47,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -109,6 +109,9 @@ public class HidePrayersPlugin extends Plugin
@Inject @Inject
private HidePrayersConfig config; private HidePrayersConfig config;
@Inject
private EventBus eventBus;
private boolean showindividualprayers; private boolean showindividualprayers;
private boolean ShowTHICK_SKIN; private boolean ShowTHICK_SKIN;
private boolean ShowBURST_OF_STRENGTH; private boolean ShowBURST_OF_STRENGTH;
@@ -169,17 +172,27 @@ public class HidePrayersPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
hidePrayers(); hidePrayers();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
restorePrayers(); restorePrayers();
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
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) if (event.getGameState() == GameState.LOGGED_IN)
{ {
@@ -188,8 +201,7 @@ public class HidePrayersPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("hideprayers")) if (event.getGroup().equals("hideprayers"))
{ {
@@ -198,8 +210,7 @@ public class HidePrayersPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetLoaded(WidgetLoaded event)
public void onWidgetLoaded(WidgetLoaded event)
{ {
if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID) if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{ {

View File

@@ -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.INVENTORY_GROUP_ID;
import static net.runelite.api.widgets.WidgetID.SHOP_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SHOP_INVENTORY_GROUP_ID;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -76,6 +76,9 @@ public class HighAlchemyPlugin extends Plugin
@Inject @Inject
private HighAlchemyOverlay overlay; private HighAlchemyOverlay overlay;
@Inject
private EventBus eventBus;
@Provides @Provides
HighAlchemyConfig getConfig(ConfigManager configManager) HighAlchemyConfig getConfig(ConfigManager configManager)
{ {
@@ -95,6 +98,8 @@ public class HighAlchemyPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
buildGroupList(); buildGroupList();
overlayManager.add(overlay); overlayManager.add(overlay);
} }
@@ -105,8 +110,7 @@ public class HighAlchemyPlugin extends Plugin
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals(CONFIG_GROUP)) if (event.getGroup().equals(CONFIG_GROUP))
{ {

View File

@@ -47,7 +47,7 @@ import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.PlayerMenuOptionClicked; import net.runelite.api.events.PlayerMenuOptionClicked;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; 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.MenuManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -87,6 +87,9 @@ public class HiscorePlugin extends Plugin
@Inject @Inject
private HiscoreConfig config; private HiscoreConfig config;
@Inject
private EventBus eventBus;
private NavigationButton navButton; private NavigationButton navButton;
private HiscorePanel hiscorePanel; private HiscorePanel hiscorePanel;
@@ -102,6 +105,8 @@ public class HiscorePlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
hiscorePanel = injector.getInstance(HiscorePanel.class); hiscorePanel = injector.getInstance(HiscorePanel.class);
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "normal.png"); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "normal.png");
@@ -128,6 +133,8 @@ public class HiscorePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
hiscorePanel.removeInputKeyListener(autocompleter); hiscorePanel.removeInputKeyListener(autocompleter);
clientToolbar.removeNavigation(navButton); clientToolbar.removeNavigation(navButton);
@@ -137,8 +144,15 @@ public class HiscorePlugin extends Plugin
} }
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (event.getGroup().equals("hiscore"))
{ {
@@ -166,8 +180,7 @@ public class HiscorePlugin extends Plugin
} }
} }
@Subscribe private void onMenuEntryAdded(MenuEntryAdded event)
public void onMenuEntryAdded(MenuEntryAdded event)
{ {
if (!config.menuOption()) if (!config.menuOption())
{ {
@@ -201,8 +214,7 @@ public class HiscorePlugin extends Plugin
} }
} }
@Subscribe private void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event)
public void onPlayerMenuOptionClicked(PlayerMenuOptionClicked event)
{ {
if (event.getMenuOption().equals(LOOKUP)) if (event.getMenuOption().equals(LOOKUP))
{ {
@@ -210,8 +222,7 @@ public class HiscorePlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (!config.bountylookup() || !event.getType().equals(ChatMessageType.GAMEMESSAGE)) if (!config.bountylookup() || !event.getType().equals(ChatMessageType.GAMEMESSAGE))
{ {

View File

@@ -48,7 +48,7 @@ import net.runelite.api.events.GameObjectSpawned;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -77,6 +77,9 @@ public class HunterPlugin extends Plugin
@Inject @Inject
private HunterConfig config; private HunterConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private final Map<WorldPoint, HunterTrap> traps = new HashMap<>(); private final Map<WorldPoint, HunterTrap> traps = new HashMap<>();
@@ -105,6 +108,7 @@ public class HunterPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
overlay.updateConfig(); overlay.updateConfig();
@@ -113,13 +117,21 @@ public class HunterPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(overlay); overlayManager.remove(overlay);
lastActionTime = Instant.ofEpochMilli(0); lastActionTime = Instant.ofEpochMilli(0);
traps.clear(); traps.clear();
} }
@Subscribe private void addSubscriptions()
public void onGameObjectSpawned(GameObjectSpawned event) {
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 GameObject gameObject = event.getGameObject();
final WorldPoint trapLocation = gameObject.getWorldLocation(); 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 * checks if the trap is still there. If the trap is gone, it removes
* the trap from the local players trap collection. * the trap from the local players trap collection.
*/ */
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
// Check if all traps are still there, and remove the ones that are not. // Check if all traps are still there, and remove the ones that are not.
Iterator<Map.Entry<WorldPoint, HunterTrap>> it = traps.entrySet().iterator(); Iterator<Map.Entry<WorldPoint, HunterTrap>> it = traps.entrySet().iterator();
@@ -387,8 +398,7 @@ public class HunterPlugin extends Plugin
lastTickLocalPlayerLocation = client.getLocalPlayer().getWorldLocation(); lastTickLocalPlayerLocation = client.getLocalPlayer().getWorldLocation();
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (event.getGroup().equals("hunterplugin")) if (event.getGroup().equals("hunterplugin"))
{ {

View File

@@ -39,7 +39,7 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -73,6 +73,9 @@ public class BabyHydraPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private EventBus eventBus;
@Provides @Provides
BabyHydraConfig provideConfig(ConfigManager configManager) BabyHydraConfig provideConfig(ConfigManager configManager)
{ {
@@ -97,6 +100,7 @@ public class BabyHydraPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
if (this.TextIndicator) if (this.TextIndicator)
{ {
@@ -112,6 +116,8 @@ public class BabyHydraPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(hydraOverlay); overlayManager.remove(hydraOverlay);
overlayManager.remove(hydraPrayOverlay); overlayManager.remove(hydraPrayOverlay);
overlayManager.remove(hydraIndicatorOverlay); overlayManager.remove(hydraIndicatorOverlay);
@@ -119,8 +125,15 @@ public class BabyHydraPlugin extends Plugin
hydraattacks.clear(); hydraattacks.clear();
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged event) {
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")) if (!event.getGroup().equals("hydra"))
{ {
@@ -155,8 +168,7 @@ public class BabyHydraPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
NPC hydra = event.getNpc(); NPC hydra = event.getNpc();
if (hydra.getCombatLevel() != 0 && hydra.getName() != null && hydra.getName().equalsIgnoreCase("Hydra") && !hydras.containsKey(hydra.getIndex())) 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 private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
NPC hydra = event.getNpc(); NPC hydra = event.getNpc();
if (hydra.getCombatLevel() != 0 && hydra.getName() != null && hydra.getName().equalsIgnoreCase("Hydra")) if (hydra.getCombatLevel() != 0 && hydra.getName() != null && hydra.getName().equalsIgnoreCase("Hydra"))
@@ -176,8 +187,7 @@ public class BabyHydraPlugin extends Plugin
} }
} }
@Subscribe private void onAnimationChanged(AnimationChanged event)
public void onAnimationChanged(AnimationChanged event)
{ {
Actor monster = event.getActor(); Actor monster = event.getActor();
Actor local = client.getLocalPlayer(); Actor local = client.getLocalPlayer();

View File

@@ -67,7 +67,7 @@ import net.runelite.api.events.PlayerSpawned;
import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.SpotAnimationChanged;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; 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.Sound;
import net.runelite.client.game.SoundManager; import net.runelite.client.game.SoundManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
@@ -109,6 +109,9 @@ public class IdleNotifierPlugin extends Plugin
@Inject @Inject
private IdleNotifierConfig config; private IdleNotifierConfig config;
@Inject
private EventBus eventBus;
private Instant lastAnimating; private Instant lastAnimating;
private int lastAnimation = AnimationID.IDLE; private int lastAnimation = AnimationID.IDLE;
private Instant lastInteracting; private Instant lastInteracting;
@@ -164,8 +167,7 @@ public class IdleNotifierPlugin extends Plugin
return configManager.getConfig(IdleNotifierConfig.class); return configManager.getConfig(IdleNotifierConfig.class);
} }
@Subscribe void onAnimationChanged(AnimationChanged event)
public void onAnimationChanged(AnimationChanged event)
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{ {
@@ -309,7 +311,6 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe
private void onPlayerSpawned(PlayerSpawned event) private void onPlayerSpawned(PlayerSpawned event)
{ {
final Player p = event.getPlayer(); final Player p = event.getPlayer();
@@ -324,8 +325,7 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe private void onItemContainerChanged(ItemContainerChanged event)
public void onItemContainerChanged(ItemContainerChanged event)
{ {
ItemContainer itemContainer = event.getItemContainer(); ItemContainer itemContainer = event.getItemContainer();
@@ -402,8 +402,7 @@ public class IdleNotifierPlugin extends Plugin
itemQuantitiesPrevious = itemQuantities; itemQuantitiesPrevious = itemQuantities;
} }
@Subscribe void onInteractingChanged(InteractingChanged event)
public void onInteractingChanged(InteractingChanged event)
{ {
final Actor source = event.getSource(); final Actor source = event.getSource();
if (source != client.getLocalPlayer()) if (source != client.getLocalPlayer())
@@ -453,8 +452,7 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
lastInteracting = null; lastInteracting = null;
@@ -486,8 +484,7 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe void onHitsplatApplied(HitsplatApplied event)
public void onHitsplatApplied(HitsplatApplied event)
{ {
if (event.getActor() != client.getLocalPlayer()) if (event.getActor() != client.getLocalPlayer())
{ {
@@ -503,8 +500,7 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe private void onSpotAnimationChanged(SpotAnimationChanged event)
public void onSpotAnimationChanged(SpotAnimationChanged event)
{ {
Actor actor = event.getActor(); Actor actor = event.getActor();
@@ -519,8 +515,7 @@ public class IdleNotifierPlugin extends Plugin
} }
} }
@Subscribe void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
skullNotifier(); skullNotifier();
@@ -903,8 +898,26 @@ public class IdleNotifierPlugin extends Plugin
updateConfig(); updateConfig();
} }
@Subscribe @Override
public void onConfigChanged(ConfigChanged event) 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")) if (!event.getGroup().equals("idlenotifier"))
{ {

View File

@@ -43,7 +43,7 @@ import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
@@ -75,7 +75,6 @@ public class ImplingsPlugin extends Plugin
@Inject @Inject
private ImplingCounterOverlay implingCounterOverlay; private ImplingCounterOverlay implingCounterOverlay;
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@@ -85,6 +84,9 @@ public class ImplingsPlugin extends Plugin
@Inject @Inject
private ImplingsConfig config; private ImplingsConfig config;
@Inject
private EventBus eventBus;
private boolean showBaby; private boolean showBaby;
private Color getBabyColor; private Color getBabyColor;
private boolean showYoung; private boolean showYoung;
@@ -126,6 +128,7 @@ public class ImplingsPlugin extends Plugin
protected void startUp() protected void startUp()
{ {
updateConfig(); updateConfig();
addSubscriptions();
dynamicSpawns.put(DYNAMIC_SPAWN_NATURE_DRAGON, "T3 Nature-Lucky Dynamic"); dynamicSpawns.put(DYNAMIC_SPAWN_NATURE_DRAGON, "T3 Nature-Lucky Dynamic");
dynamicSpawns.put(DYNAMIC_SPAWN_ECLECTIC, "T2 Eclectic Dynamic"); dynamicSpawns.put(DYNAMIC_SPAWN_ECLECTIC, "T2 Eclectic Dynamic");
@@ -139,14 +142,25 @@ public class ImplingsPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
eventBus.unregister(this);
implings.clear(); implings.clear();
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(minimapOverlay); overlayManager.remove(minimapOverlay);
overlayManager.remove(implingCounterOverlay); overlayManager.remove(implingCounterOverlay);
} }
@Subscribe private void addSubscriptions()
public void onGameTick(GameTick event) {
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);
eventBus.subscribe(NpcDefinitionChanged.class, this, this::onNpcDefinitionChanged);
}
private void onGameTick(GameTick event)
{ {
implingCounterMap.clear(); implingCounterMap.clear();
for (NPC npc : implings) for (NPC npc : implings)
@@ -170,8 +184,7 @@ public class ImplingsPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned npcSpawned)
public void onNpcSpawned(NpcSpawned npcSpawned)
{ {
NPC npc = npcSpawned.getNpc(); NPC npc = npcSpawned.getNpc();
Impling impling = Impling.findImpling(npc.getId()); Impling impling = Impling.findImpling(npc.getId());
@@ -182,8 +195,7 @@ public class ImplingsPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDefinitionChanged(NpcDefinitionChanged npcCompositionChanged)
public void onNpcDefinitionChanged(NpcDefinitionChanged npcCompositionChanged)
{ {
NPC npc = npcCompositionChanged.getNpc(); NPC npc = npcCompositionChanged.getNpc();
Impling impling = Impling.findImpling(npc.getId()); Impling impling = Impling.findImpling(npc.getId());
@@ -194,8 +206,7 @@ public class ImplingsPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING) if (event.getGameState() == GameState.LOGIN_SCREEN || event.getGameState() == GameState.HOPPING)
{ {
@@ -204,8 +215,7 @@ public class ImplingsPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned npcDespawned)
public void onNpcDespawned(NpcDespawned npcDespawned)
{ {
if (implings.isEmpty()) if (implings.isEmpty())
{ {
@@ -302,8 +312,7 @@ public class ImplingsPlugin extends Plugin
} }
} }
@Subscribe private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{ {
if (!event.getGroup().equals("implings")) if (!event.getGroup().equals("implings"))
{ {

View File

@@ -51,7 +51,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -94,6 +94,9 @@ public class InfernoPlugin extends Plugin
@Inject @Inject
private InfernoConfig config; private InfernoConfig config;
@Inject
private EventBus eventBus;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private int currentWave = -1; private int currentWave = -1;
@@ -143,6 +146,8 @@ public class InfernoPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
waveOverlay.setDisplayMode(this.waveDisplay); waveOverlay.setDisplayMode(this.waveDisplay);
if (isInInferno()) if (isInInferno())
@@ -177,6 +182,8 @@ public class InfernoPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlayManager.remove(infernoInfobox); overlayManager.remove(infernoInfobox);
overlayManager.remove(infernoOverlay); overlayManager.remove(infernoOverlay);
overlayManager.remove(nibblerOverlay); overlayManager.remove(nibblerOverlay);
@@ -188,7 +195,17 @@ public class InfernoPlugin extends Plugin
currentWaveNumber = -1; 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) private void onConfigChanged(ConfigChanged event)
{ {
if (!"inferno".equals(event.getGroup())) if (!"inferno".equals(event.getGroup()))
@@ -216,8 +233,7 @@ public class InfernoPlugin extends Plugin
} }
} }
@Subscribe private void onNpcSpawned(NpcSpawned event)
public void onNpcSpawned(NpcSpawned event)
{ {
if (client.getMapRegions()[0] != 9043) if (client.getMapRegions()[0] != 9043)
{ {
@@ -251,8 +267,7 @@ public class InfernoPlugin extends Plugin
} }
} }
@Subscribe private void onNpcDespawned(NpcDespawned event)
public void onNpcDespawned(NpcDespawned event)
{ {
if (client.getMapRegions()[0] != 9043) if (client.getMapRegions()[0] != 9043)
{ {
@@ -283,8 +298,7 @@ public class InfernoPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged event)
public void onGameStateChanged(GameStateChanged event)
{ {
if (event.getGameState() != GameState.LOGGED_IN) if (event.getGameState() != GameState.LOGGED_IN)
{ {
@@ -316,8 +330,7 @@ public class InfernoPlugin extends Plugin
} }
} }
@Subscribe private void onChatMessage(ChatMessage event)
public void onChatMessage(ChatMessage event)
{ {
if (!isInInferno() || event.getType() != ChatMessageType.GAMEMESSAGE) if (!isInInferno() || event.getType() != ChatMessageType.GAMEMESSAGE)
{ {
@@ -333,8 +346,7 @@ public class InfernoPlugin extends Plugin
} }
} }
@Subscribe private void onGameTick(GameTick event)
public void onGameTick(GameTick event)
{ {
if (client.getMapRegions()[0] != 9043) if (client.getMapRegions()[0] != 9043)
{ {
@@ -403,8 +415,7 @@ public class InfernoPlugin extends Plugin
calculatePriorityNPC(); calculatePriorityNPC();
} }
@Subscribe private void onAnimationChanged(final AnimationChanged event)
public void onAnimationChanged(final AnimationChanged event)
{ {
if (event.getActor() != jad) if (event.getActor() != jad)
{ {

View File

@@ -53,7 +53,6 @@ import net.runelite.client.RuneLiteProperties;
import net.runelite.client.account.SessionManager; import net.runelite.client.account.SessionManager;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen; import net.runelite.client.events.SessionOpen;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
@@ -187,7 +186,7 @@ public class InfoPanel extends PluginPanel
add(actionsContainer, BorderLayout.CENTER); add(actionsContainer, BorderLayout.CENTER);
updateLoggedIn(); updateLoggedIn();
eventBus.register(this); // eventBus.register(this);
} }
/** /**
@@ -316,13 +315,11 @@ public class InfoPanel extends PluginPanel
return "<html><body style = 'color:#a5a5a5'>" + key + "<span style = 'color:white'>" + value + "</span></body></html>"; return "<html><body style = 'color:#a5a5a5'>" + key + "<span style = 'color:white'>" + value + "</span></body></html>";
} }
@Subscribe
public void onSessionOpen(SessionOpen sessionOpen) public void onSessionOpen(SessionOpen sessionOpen)
{ {
updateLoggedIn(); updateLoggedIn();
} }
@Subscribe
public void onSessionClose(SessionClose e) public void onSessionClose(SessionClose e)
{ {
updateLoggedIn(); updateLoggedIn();

View File

@@ -27,6 +27,9 @@ package net.runelite.client.plugins.info;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.ClientToolbar;
@@ -44,12 +47,18 @@ public class InfoPlugin extends Plugin
@Inject @Inject
private ClientToolbar clientToolbar; private ClientToolbar clientToolbar;
@Inject
private EventBus eventbus;
private NavigationButton navButton; private NavigationButton navButton;
private InfoPanel panel;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
final InfoPanel panel = injector.getInstance(InfoPanel.class); panel = injector.getInstance(InfoPanel.class);
panel.init(); panel.init();
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "info_icon.png"); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "info_icon.png");
@@ -62,11 +71,21 @@ public class InfoPlugin extends Plugin
.build(); .build();
clientToolbar.addNavigation(navButton); clientToolbar.addNavigation(navButton);
addSubscriptions();
} }
@Override @Override
protected void shutDown() protected void shutDown() throws Exception
{ {
eventbus.unregister(this);
clientToolbar.removeNavigation(navButton); clientToolbar.removeNavigation(navButton);
} }
private void addSubscriptions()
{
eventbus.subscribe(SessionOpen.class, this, event -> panel.onSessionOpen(event));
eventbus.subscribe(SessionClose.class, this, event -> panel.onSessionClose(event));
}
} }

View File

@@ -31,7 +31,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import static net.runelite.api.widgets.WidgetInfo.WORLD_MAP_OPTION; 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.KeyManager;
import net.runelite.client.input.MouseManager; import net.runelite.client.input.MouseManager;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
@@ -67,6 +67,9 @@ public class InstanceMapPlugin extends Plugin
@Inject @Inject
private MouseManager mouseManager; private MouseManager mouseManager;
@Inject
private EventBus eventBus;
@Override @Override
public void configure(Binder binder) public void configure(Binder binder)
{ {
@@ -86,6 +89,8 @@ public class InstanceMapPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
addSubscriptions();
overlayManager.add(overlay); overlayManager.add(overlay);
addCustomOptions(); addCustomOptions();
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
@@ -96,6 +101,8 @@ public class InstanceMapPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
overlay.setShowMap(false); overlay.setShowMap(false);
overlayManager.remove(overlay); overlayManager.remove(overlay);
removeCustomOptions(); removeCustomOptions();
@@ -104,8 +111,13 @@ public class InstanceMapPlugin extends Plugin
mouseManager.unregisterMouseWheelListener(inputListener); mouseManager.unregisterMouseWheelListener(inputListener);
} }
@Subscribe private void addSubscriptions()
public void onGameStateChanged(GameStateChanged event) {
eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
eventBus.subscribe(WidgetMenuOptionClicked.class, this, this::onWidgetMenuOptionClicked);
}
private void onGameStateChanged(GameStateChanged event)
{ {
overlay.onGameStateChange(event); overlay.onGameStateChange(event);
} }
@@ -115,8 +127,7 @@ public class InstanceMapPlugin extends Plugin
return event.getMenuOption().equals(widgetMenuOption.getMenuOption()) && event.getMenuTarget().equals(widgetMenuOption.getMenuTarget()); return event.getMenuOption().equals(widgetMenuOption.getMenuOption()) && event.getMenuTarget().equals(widgetMenuOption.getMenuTarget());
} }
@Subscribe private void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
{ {
if (event.getWidget() != WORLD_MAP_OPTION) if (event.getWidget() != WORLD_MAP_OPTION)
{ {

View File

@@ -45,7 +45,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; 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.game.SpriteManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -73,6 +73,9 @@ public class InterfaceStylesPlugin extends Plugin
@Inject @Inject
private SpriteManager spriteManager; private SpriteManager spriteManager;
@Inject
private EventBus eventBus;
private Sprite[] defaultCrossSprites; private Sprite[] defaultCrossSprites;
private Skin skin; private Skin skin;
@@ -90,12 +93,15 @@ public class InterfaceStylesPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
updateConfig(); updateConfig();
addSubscriptions();
clientThread.invoke(this::updateAllOverrides); clientThread.invoke(this::updateAllOverrides);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
eventBus.unregister(this);
clientThread.invoke(() -> clientThread.invoke(() ->
{ {
restoreWidgetDimensions(); restoreWidgetDimensions();
@@ -105,8 +111,16 @@ public class InterfaceStylesPlugin extends Plugin
}); });
} }
@Subscribe private void addSubscriptions()
public void onConfigChanged(ConfigChanged config) {
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")) if (config.getGroup().equals("interfaceStyles"))
{ {
@@ -115,14 +129,12 @@ public class InterfaceStylesPlugin extends Plugin
} }
} }
@Subscribe private void onWidgetPositioned(WidgetPositioned widgetPositioned)
public void onWidgetPositioned(WidgetPositioned widgetPositioned)
{ {
adjustWidgetDimensions(); adjustWidgetDimensions();
} }
@Subscribe private void onPostHealthBar(PostHealthBar postHealthBar)
public void onPostHealthBar(PostHealthBar postHealthBar)
{ {
if (!this.hdHealthBars) if (!this.hdHealthBars)
{ {
@@ -140,8 +152,7 @@ public class InterfaceStylesPlugin extends Plugin
} }
} }
@Subscribe private void onGameStateChanged(GameStateChanged gameStateChanged)
public void onGameStateChanged(GameStateChanged gameStateChanged)
{ {
if (gameStateChanged.getGameState() != GameState.LOGIN_SCREEN) if (gameStateChanged.getGameState() != GameState.LOGIN_SCREEN)
{ {
@@ -167,8 +178,7 @@ public class InterfaceStylesPlugin extends Plugin
overrideCrossSprites(); overrideCrossSprites();
} }
@Subscribe private void onBeforeMenuRender(BeforeMenuRender event)
public void onBeforeMenuRender(BeforeMenuRender event)
{ {
if (this.hdMenu) if (this.hdMenu)
{ {

Some files were not shown because too many files have changed in this diff Show More