diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java deleted file mode 100644 index dd34678501a..00000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/account/AccountPlugin.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2017, Adam - * 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.plugins.account; - -import java.awt.image.BufferedImage; -import java.util.concurrent.ScheduledExecutorService; -import javax.inject.Inject; -import javax.swing.JOptionPane; -import lombok.extern.slf4j.Slf4j; -import net.runelite.client.account.AccountSession; -import net.runelite.client.account.SessionManager; -import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; -import net.runelite.client.events.SessionClose; -import net.runelite.client.events.SessionOpen; -import net.runelite.client.plugins.Plugin; -import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.ClientToolbar; -import net.runelite.client.ui.NavigationButton; -import net.runelite.client.util.ImageUtil; - -@PluginDescriptor( - name = "Account", - description = "Sync RuneLite config settings with your Google account", - tags = {"external", "google", "integration"} -) -@Slf4j -public class AccountPlugin extends Plugin -{ - @Inject - private SessionManager sessionManager; - - @Inject - private ConfigManager configManager; - - @Inject - private ClientToolbar clientToolbar; - - @Inject - private ScheduledExecutorService executor; - - private NavigationButton loginButton; - private NavigationButton logoutButton; - - private static final BufferedImage LOGIN_IMAGE, LOGOUT_IMAGE; - - static - { - LOGIN_IMAGE = ImageUtil.loadImageResource(AccountPlugin.class, "login_icon.png"); - LOGOUT_IMAGE = ImageUtil.loadImageResource(AccountPlugin.class, "logout_icon.png"); - } - - @Override - protected void startUp() throws Exception - { - loginButton = NavigationButton.builder() - .icon(LOGIN_IMAGE) - .tooltip("Sign in to RuneLite") - .onClick(this::loginClick) - .build(); - - logoutButton = NavigationButton.builder() - .icon(LOGOUT_IMAGE) - .tooltip("Sign out of RuneLite") - .onClick(this::logoutClick) - .build(); - - addAndRemoveButtons(); - } - - private void addAndRemoveButtons() - { - clientToolbar.removeNavigation(loginButton); - clientToolbar.removeNavigation(logoutButton); - clientToolbar.addNavigation(sessionManager.getAccountSession() == null - ? loginButton - : logoutButton); - } - - @Override - protected void shutDown() throws Exception - { - clientToolbar.removeNavigation(loginButton); - clientToolbar.removeNavigation(logoutButton); - } - - private void loginClick() - { - executor.execute(sessionManager::login); - } - - private void logoutClick() - { - if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(null, - "Are you sure you want to sign out of RuneLite?", "Sign Out Confirmation", - JOptionPane.YES_NO_OPTION)) - { - executor.execute(() -> - { - // Flush pending config changes immediately before logout - configManager.sendConfig(); - sessionManager.logout(); - }); - } - } - - @Subscribe - public void onSessionClose(SessionClose e) - { - addAndRemoveButtons(); - } - - @Subscribe - public void onSessionOpen(SessionOpen sessionOpen) - { - AccountSession session = sessionManager.getAccountSession(); - - if (session.getUsername() == null) - { - return; // No username yet - } - - log.debug("Session opened as {}", session.getUsername()); - - addAndRemoveButtons(); - } - -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java index ea934737b47..31b5e45d9b1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java @@ -251,14 +251,14 @@ else if (Arrays.stream(getShopContainerIds()).anyMatch(sid -> Objects.equals(eve } /** - * Retrieves all currently open container IDs from {@link net.runelite.api.gameval.InventoryID} + * Retrieves all currently open container IDs from {@link InventoryID} * and excludes specific container IDs. * * @return an array of open container IDs excluding the specified excluded IDs */ private int[] getShopContainerIds() { - Field[] fields = net.runelite.api.gameval.InventoryID.class.getFields(); + Field[] fields = InventoryID.class.getFields(); List openContainerIds = new ArrayList<>(); int[] excludedIds = { 90, 93, 94, 95 }; @@ -593,7 +593,7 @@ private void shutdownCacheSystem() { } /** * Dynamically checks if any visible widget overlaps with the specified bounds - * @param overlayBounds The bounds to check for widget overlap + * @param overlayBoundsCanvas The bounds to check for widget overlap * @return true if any visible widget overlaps with the specified bounds */ public boolean hasWidgetOverlapWithBounds(Rectangle overlayBoundsCanvas) {