diff --git a/checkstyle/suppressions.xml b/checkstyle/suppressions.xml index 670a3bd52f..5a5bdbec96 100644 --- a/checkstyle/suppressions.xml +++ b/checkstyle/suppressions.xml @@ -30,5 +30,6 @@ + diff --git a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java index 128f04e382..8753eee6b1 100644 --- a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java +++ b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java @@ -316,36 +316,6 @@ public class ChatClient } } - public String getLayout(String username) throws IOException - { - HttpUrl url = RuneLiteAPI.getOpenOSRSApiBase().newBuilder() - .addPathSegment("chat") - .addPathSegment("layout") - .addQueryParameter("name", username) - .build(); - - Request request = new Request.Builder() - .url(url) - .build(); - - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) - { - if (!response.isSuccessful()) - { - throw new IOException("Unable to look up layout!"); - } - - final String layout = response.body().string(); - - if (!testLayout(layout)) - { - throw new IOException("Layout " + layout + " is not valid!"); - } - - return layout; - } - } - public boolean testLayout(String layout) { return LAYOUT_VALIDATOR.test(layout); @@ -465,4 +435,51 @@ public class ChatClient return response.isSuccessful(); } } + + public boolean submitLayout(String username, LayoutRoom[] rooms) throws IOException + { + HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + .addPathSegment("chat") + .addPathSegment("layout") + .addQueryParameter("name", username) + .build(); + + Request request = new Request.Builder() + .post(RequestBody.create(RuneLiteAPI.JSON, RuneLiteAPI.GSON.toJson(rooms))) + .url(url) + .build(); + + try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + { + return response.isSuccessful(); + } + } + + public LayoutRoom[] getLayout(String username) throws IOException + { + HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + .addPathSegment("chat") + .addPathSegment("layout") + .addQueryParameter("name", username) + .build(); + + Request request = new Request.Builder() + .url(url) + .build(); + + try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + { + if (!response.isSuccessful()) + { + throw new IOException("Unable to look up layout!"); + } + + InputStream in = response.body().byteStream(); + return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), LayoutRoom[].class); + } + catch (JsonParseException ex) + { + throw new IOException(ex); + } + } } \ No newline at end of file diff --git a/http-api/src/main/java/net/runelite/http/api/chat/LayoutRoom.java b/http-api/src/main/java/net/runelite/http/api/chat/LayoutRoom.java new file mode 100644 index 0000000000..3498f83eed --- /dev/null +++ b/http-api/src/main/java/net/runelite/http/api/chat/LayoutRoom.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2019, 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.http.api.chat; + +public enum LayoutRoom +{ + START, + END, + SCAVENGERS, + FARMING, + EMPTY, + + TEKTON, + MUTTADILES, + GUARDIANS, + VESPULA, + SHAMANS, + VASA, + VANGUARDS, + MYSTICS, + UNKNOWN_COMBAT, + + CRABS, + ICE_DEMON, + TIGHTROPE, + THIEVING, + UNKNOWN_PUZZLE; +} diff --git a/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java b/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java index 7b5132e47a..15381845b5 100644 --- a/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java +++ b/http-service/src/main/java/net/runelite/http/service/chat/ChatController.java @@ -30,11 +30,13 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.runelite.http.api.chat.Duels; +import net.runelite.http.api.chat.LayoutRoom; import net.runelite.http.api.chat.Task; import net.runelite.http.service.util.exception.NotFoundException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -208,4 +210,23 @@ public class ChatController } return duels; } + + @PostMapping("/layout") + public void submitLayout(@RequestParam String name, @RequestBody LayoutRoom[] rooms) + { + chatService.setLayout(name, rooms); + } + + @GetMapping("/layout") + public LayoutRoom[] getLayout(@RequestParam String name) + { + LayoutRoom[] layout = chatService.getLayout(name); + + if (layout == null) + { + throw new NotFoundException(); + } + + return layout; + } } diff --git a/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java b/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java index 0b0762d3ea..be497b40bd 100644 --- a/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java +++ b/http-service/src/main/java/net/runelite/http/service/chat/ChatService.java @@ -24,9 +24,13 @@ */ package net.runelite.http.service.chat; +import com.google.common.base.Joiner; +import com.google.common.base.Splitter; import com.google.common.collect.ImmutableMap; import java.time.Duration; +import java.util.List; import java.util.Map; +import net.runelite.http.api.chat.LayoutRoom; import net.runelite.http.api.chat.Task; import net.runelite.http.api.chat.Duels; import net.runelite.http.service.util.redis.RedisPool; @@ -198,4 +202,31 @@ public class ChatService jedis.expire(key, (int) EXPIRE.getSeconds()); } } + + public LayoutRoom[] getLayout(String name) + { + String layout; + try (Jedis jedis = jedisPool.getResource()) + { + layout = jedis.get("layout." + name); + } + + if (layout == null) + { + return null; + } + + List roomList = Splitter.on(' ').splitToList(layout); + return roomList.stream() + .map(LayoutRoom::valueOf) + .toArray(LayoutRoom[]::new); + } + + public void setLayout(String name, LayoutRoom[] rooms) + { + try (Jedis jedis = jedisPool.getResource()) + { + jedis.setex("layout." + name, (int) EXPIRE.getSeconds(), Joiner.on(' ').join(rooms)); + } + } } diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java index ed3387969f..f00fa0cac4 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java @@ -46,7 +46,7 @@ import net.runelite.api.MessageNode; import net.runelite.api.Player; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.ResizeableChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarbitChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index 7888a1bb38..fff6a449c3 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -59,7 +59,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.RuneLite; import static net.runelite.client.RuneLite.PROFILES_DIR; import net.runelite.client.eventbus.EventBus; diff --git a/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java b/runelite-client/src/main/java/net/runelite/client/events/ConfigChanged.java similarity index 96% rename from runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java rename to runelite-client/src/main/java/net/runelite/client/events/ConfigChanged.java index 0198dc900b..dd4e0fe7ef 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ConfigChanged.java +++ b/runelite-client/src/main/java/net/runelite/client/events/ConfigChanged.java @@ -22,9 +22,10 @@ * (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.api.events; +package net.runelite.client.events; import lombok.Data; +import net.runelite.api.events.Event; /** * An event where a configuration entry has been modified. diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java index 3f49d5c1de..0e813f3d4d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java @@ -50,7 +50,6 @@ import net.runelite.api.TileItem; import net.runelite.api.TileObject; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.BeforeRender; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.DecorativeObjectChanged; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; @@ -72,6 +71,7 @@ import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.AgilityShortcut; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java index dd3c30ac5b..2b7bcb2c52 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/alchemicalhydra/HydraPlugin.java @@ -45,13 +45,13 @@ import net.runelite.api.Projectile; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.ProjectileMoved; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java index c21a4504ac..04fbfb0f23 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/animsmoothing/AnimationSmoothingPlugin.java @@ -28,7 +28,7 @@ import com.google.inject.Provides; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java index 64a000aed5..7ee869cec5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java @@ -30,12 +30,12 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java index c2ef089e95..7c78947a81 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java @@ -47,7 +47,6 @@ import net.runelite.api.NullObjectID; import net.runelite.api.ObjectID; import net.runelite.api.Projectile; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; @@ -57,6 +56,7 @@ import net.runelite.api.events.ProjectileSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java index f0862067b7..e9797c5657 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.GameState; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetHiddenChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index 4cb7403bb3..e7547e9c34 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -27,8 +27,8 @@ package net.runelite.client.plugins.bank; import com.google.common.annotations.VisibleForTesting; -import com.google.common.collect.HashMultiset; import com.google.common.base.Strings; +import com.google.common.collect.HashMultiset; import com.google.common.collect.ImmutableList; import com.google.common.collect.Multiset; import com.google.inject.Provides; @@ -43,14 +43,13 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; import static net.runelite.api.Constants.HIGH_ALCHEMY_MULTIPLIER; +import net.runelite.api.FontID; import net.runelite.api.InventoryID; import net.runelite.api.Item; -import net.runelite.api.FontID; import net.runelite.api.ItemContainer; import net.runelite.api.ItemDefinition; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; @@ -68,6 +67,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index d899671db9..86e31e42e8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -52,7 +52,7 @@ import net.runelite.api.ItemID; import net.runelite.api.MenuOpcode; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.DraggingWidgetChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameTick; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java index 45e1947c08..e843a87b01 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java @@ -38,10 +38,10 @@ import net.runelite.api.ClanMember; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.events.ClanMemberJoined; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.PLAYER_TRADE_SCREEN_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; @@ -52,10 +52,10 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; -import net.runelite.api.util.Text; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java index b46bed46f4..e152297c2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java @@ -60,7 +60,6 @@ import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.ItemDespawned; @@ -72,6 +71,7 @@ import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.ProjectileSpawned; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; @@ -83,6 +83,7 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; @@ -97,7 +98,6 @@ import net.runelite.client.ui.overlay.infobox.InfoBox; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; import org.apache.commons.lang3.StringUtils; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java index 21dceac0df..e4f8e2ddc4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsPlugin.java @@ -42,7 +42,6 @@ import net.runelite.api.NullObjectID; import net.runelite.api.ObjectID; import net.runelite.api.SpriteID; import net.runelite.api.WallObject; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -56,6 +55,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java index a40f8a6c80..fee3999230 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java @@ -35,12 +35,12 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.MenuEntry; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.menus.AbstractComparableEntry; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java index b0068cdae7..d5ddc80085 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnacePlugin.java @@ -38,21 +38,21 @@ import net.runelite.api.GameState; import static net.runelite.api.NullObjectID.NULL_9092; import static net.runelite.api.ObjectID.CONVEYOR_BELT; import net.runelite.api.Skill; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Blast Furnace", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java index 6f0dabe58b..845cf954c6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/boosts/BoostsPlugin.java @@ -39,7 +39,7 @@ import net.runelite.api.Client; import net.runelite.api.Constants; import net.runelite.api.Prayer; import net.runelite.api.Skill; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.StatChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java index 841d9f1f1a..a30083d02d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonPlugin.java @@ -48,7 +48,7 @@ import static net.runelite.api.ProjectileID.CANNONBALL; import static net.runelite.api.ProjectileID.GRANITE_CANNONBALL; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 2cd9a03ae4..848fd1dcd6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -37,7 +37,7 @@ public enum CannonSpots FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0)), ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)), HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)), - BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0)), + BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1)), ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)), SUQAHS(new WorldPoint(2114, 3943, 0)), TROLLS(new WorldPoint(2401, 3856, 0)), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java index 0caf951263..95007434bc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java @@ -24,14 +24,12 @@ */ package net.runelite.client.plugins.chatboxperformance; +import com.google.inject.Provides; import javax.inject.Inject; import javax.inject.Singleton; - -import com.google.inject.Provides; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.ScriptID; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -41,6 +39,7 @@ import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java index 95adb9c4c6..a0c332f272 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java @@ -42,7 +42,7 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.MessageNode; import net.runelite.api.Player; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.OverheadTextChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.config.ConfigManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java index d9f160fea2..5eb6009200 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java @@ -39,19 +39,19 @@ import net.runelite.api.ScriptID; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuOptionClicked; +import net.runelite.api.util.Text; import net.runelite.api.vars.InputType; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Chat History", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java index b2a0a51ed3..d6a5c16483 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java @@ -41,7 +41,7 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.MessageNode; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.Notifier; import net.runelite.client.RuneLiteProperties; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java index 924edace6b..cddbb066cf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java @@ -17,22 +17,22 @@ import net.runelite.api.MessageNode; import static net.runelite.api.ScriptID.CHATBOX_INPUT; import net.runelite.api.VarClientStr; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuOpened; import net.runelite.api.events.MenuOptionClicked; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Chat Translator", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index 88a0fcd871..7075b9fe58 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -57,7 +57,7 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ClanChanged; import net.runelite.api.events.ClanMemberJoined; import net.runelite.api.events.ClanMemberLeft; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.PlayerDespawned; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java index 3b26cf862a..4daa72d926 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanmanmode/ClanManModePlugin.java @@ -14,11 +14,11 @@ import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index 56b0ab5f15..59d6d5acd0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -60,7 +60,7 @@ import net.runelite.api.TileObject; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java index 43965ade9d..e085efc313 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java @@ -168,7 +168,7 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati .put(new WorldPoint(3051, 3736, 0), "East of the Wilderness Obelisk in 28 Wilderness.") .put(new WorldPoint(2316, 3814, 0), "West of Neitiznot, near the bridge.") .put(new WorldPoint(2872, 3937, 0), "Weiss.") - .put(new WorldPoint(2835, 2998, 0), "Northeast corner of the Island of Stone.") + .put(new WorldPoint(2484, 4016, 0), "Northeast corner of the Island of Stone.") // Master .put(new WorldPoint(2178, 3209, 0), "South of Elf Camp.") .put(new WorldPoint(2155, 3100, 0), "South of Port Tyras (BJS).") diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java index f06bd268f1..dff0c2f105 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java @@ -132,7 +132,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Laugh at the crossroads south of the Sinclair Mansion. Equip a cowl, a blue wizard robe top and an iron scimitar.", "Sinclair Mansion", ROAD_JUNCTION_SOUTH_OF_SINCLAIR_MANSION, new WorldPoint(2741, 3536, 0), LAUGH, item(LEATHER_COWL), item(BLUE_WIZARD_ROBE), item(IRON_SCIMITAR)), new EmoteClue("Laugh in front of the gem store in Ardougne market. Equip a Castlewars bracelet, a dragonstone amulet and a ring of forging.", "Ardougne", NEAR_THE_GEM_STALL_IN_ARDOUGNE_MARKET, new WorldPoint(2666, 3304, 0), LAUGH, any("Castle wars bracelet", range(CASTLE_WARS_BRACELET3, CASTLE_WARS_BRACELET1)), item(DRAGONSTONE_AMULET), item(RING_OF_FORGING)), new EmoteClue("Panic in the Limestone Mine. Equip bronze platelegs, a steel pickaxe and a steel medium helmet.", "Limestone Mine", LIMESTONE_MINE, new WorldPoint(3372, 3498, 0), PANIC, item(BRONZE_PLATELEGS), item(STEEL_PICKAXE), item(STEEL_MED_HELM)), - new EmoteClue("Panic by the mausoleum in Morytania. Wave before you speak to me. Equip a mithril plate skirt, a maple longbow and no boots.", "Morytania", MAUSOLEUM_OFF_THE_MORYTANIA_COAST, new WorldPoint(3504, 3576, 0), PANIC, WAVE, item(MITHRIL_PLATESKIRT), item(MAPLE_LONGBOW), emptySlot("No boots", BOOTS)), + new EmoteClue("Panic by the mausoleum in Morytania. Wave before you speak to me. Equip a mithril plate skirt, a maple longbow and no boots.", "Morytania mausoleum, access via the experiments cave", MAUSOLEUM_OFF_THE_MORYTANIA_COAST, new WorldPoint(3504, 3576, 0), PANIC, WAVE, item(MITHRIL_PLATESKIRT), item(MAPLE_LONGBOW), emptySlot("No boots", BOOTS)), new EmoteClue("Panic on the Wilderness volcano bridge. Beware of double agents! Equip any headband and crozier.", "Wilderness volcano", VOLCANO_IN_THE_NORTHEASTERN_WILDERNESS, new WorldPoint(3368, 3935, 0), PANIC, any("Any headband", range(RED_HEADBAND, BROWN_HEADBAND), range(WHITE_HEADBAND, GREEN_HEADBAND)), any("Any crozier", item(ANCIENT_CROZIER), item(ARMADYL_CROZIER), item(BANDOS_CROZIER), range(SARADOMIN_CROZIER, ZAMORAK_CROZIER))), new EmoteClue("Panic by the pilot on White Wolf Mountain. Beware of double agents! Equip mithril platelegs, a ring of life and a rune axe.", "White Wolf Mountain", GNOME_GLIDER_ON_WHITE_WOLF_MOUNTAIN, new WorldPoint(2847, 3499, 0), PANIC, item(MITHRIL_PLATELEGS), item(RING_OF_LIFE), item(RUNE_AXE)), new EmoteClue("Panic by the big egg where no one dare goes and the ground is burnt. Beware of double agents! Equip a dragon med helm, a TokTz-Ket-Xil, a brine sabre, rune platebody and an uncharged amulet of glory.", "Lava dragon isle", SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE, new WorldPoint(3227, 3831, 0), PANIC, item(DRAGON_MED_HELM), item(TOKTZKETXIL), item(BRINE_SABRE), item(RUNE_PLATEBODY), item(AMULET_OF_GLORY)), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java index b5134f4b9b..e568487af0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounter.java @@ -51,12 +51,12 @@ import net.runelite.api.NPCDefinition; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java index ae703b6066..b6e0a4626e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatlevel/CombatLevelPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.Experience; import net.runelite.api.GameState; import net.runelite.api.Skill; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.widgets.Widget; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java index 4bf9d3efe4..a98151815b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingOverlay.java @@ -36,6 +36,7 @@ import javax.inject.Singleton; import static net.runelite.api.AnimationID.COOKING_FIRE; import static net.runelite.api.AnimationID.COOKING_RANGE; import net.runelite.api.Client; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; @@ -53,6 +54,7 @@ class CookingOverlay extends Overlay { private static final int COOK_TIMEOUT = 3; private static final DecimalFormat FORMAT = new DecimalFormat("#.#"); + static final String COOKING_RESET = "Reset"; private final Client client; private final CookingPlugin plugin; @@ -68,6 +70,7 @@ class CookingOverlay extends Overlay this.plugin = plugin; this.xpTrackerService = xpTrackerService; getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Cooking overlay")); + getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, COOKING_RESET, "Cooking overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java index 6ab9ecf5ee..24e339d09f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java @@ -38,19 +38,22 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GraphicID; import net.runelite.api.ItemID; +import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.ui.overlay.OverlayManager; +import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; @PluginDescriptor( @@ -122,6 +125,18 @@ public class CookingPlugin extends Plugin eventBus.subscribe(GameTick.class, this, this::onGameTick); eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + { + OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY + && overlayMenuClicked.getEntry().getOption().equals(CookingOverlay.COOKING_RESET) + && overlayMenuClicked.getOverlay() == overlay) + { + session = null; + } } private void onGameTick(GameTick gameTick) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java index de2bf402a0..38d7db620b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/corp/CorpPlugin.java @@ -40,7 +40,6 @@ import static net.runelite.api.MenuOpcode.NPC_SECOND_OPTION; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.InteractingChanged; @@ -53,6 +52,7 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java index 2c7c15c4f1..5a983db6f7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java @@ -57,20 +57,20 @@ import net.runelite.api.ProjectileID; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.ProjectileSpawned; import net.runelite.api.events.SpotAnimationChanged; +import net.runelite.api.util.Text; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.api.util.Text; @PluginDescriptor( name = "CoX Helper", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java index 59e1cd89f8..43f950c12b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java @@ -25,6 +25,7 @@ package net.runelite.client.plugins.customcursor; import com.google.inject.Provides; +import java.io.IOException; import javax.inject.Inject; import javax.inject.Singleton; import javax.sound.sampled.AudioInputStream; @@ -33,17 +34,14 @@ import javax.sound.sampled.Clip; import javax.sound.sampled.FloatControl; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException; - import lombok.extern.slf4j.Slf4j; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.ClientUI; -import java.io.IOException; - @Slf4j @PluginDescriptor( name = "Custom Cursor", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java index 6b68409459..fa8c5a3e5e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java @@ -26,11 +26,9 @@ package net.runelite.client.plugins.dailytaskindicators; -import javax.inject.Singleton; -import net.runelite.api.events.ConfigChanged; -import net.runelite.api.vars.AccountType; import com.google.inject.Provides; import javax.inject.Inject; +import javax.inject.Singleton; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -39,12 +37,14 @@ import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.vars.AccountType; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java index 7dd7a6241e..905cdc03bd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java @@ -44,7 +44,7 @@ import net.runelite.api.MenuEntry; import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemDespawned; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java index 3d3304447b..6048e6d12a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/WidgetInspector.java @@ -59,7 +59,7 @@ import net.runelite.api.Client; import net.runelite.api.MenuEntry; import net.runelite.api.MenuOpcode; import net.runelite.api.SpriteID; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.JavaScriptCallback; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index 0a6a97daf4..e534394993 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.GameState; import net.runelite.api.Skill; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.StatChanged; import net.runelite.api.events.VarbitChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dropparty/DropPartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dropparty/DropPartyPlugin.java index d79563da01..4ee77399b8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dropparty/DropPartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dropparty/DropPartyPlugin.java @@ -38,12 +38,12 @@ import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.util.Text; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dynamicmaxhit/DynamicMaxHit.java b/runelite-client/src/main/java/net/runelite/client/plugins/dynamicmaxhit/DynamicMaxHit.java index 9242154c2b..b8abfbb60a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dynamicmaxhit/DynamicMaxHit.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dynamicmaxhit/DynamicMaxHit.java @@ -45,7 +45,6 @@ import net.runelite.api.ItemID; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.PlayerDespawned; @@ -56,6 +55,7 @@ import net.runelite.api.kit.KitType; import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java index ef97f51e82..be4ed12f40 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java @@ -33,7 +33,7 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java index c4417bd145..da5dedc012 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java @@ -44,15 +44,16 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.ItemDefinition; import net.runelite.api.Player; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.PlayerMenuOptionClicked; import net.runelite.api.kit.KitType; +import net.runelite.api.util.Text; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; @@ -61,7 +62,6 @@ import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Equipment Inspector", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 0a9baea1ac..a86db6b477 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -153,6 +153,10 @@ public class ExaminePlugin extends Plugin quantity = widgetItem != null && widgetItem.getId() >= 0 ? widgetItem.getQuantity() : 1; break; } + case EXAMINE_ITEM_GROUND: + type = ExamineType.ITEM; + id = event.getIdentifier(); + break; case EXAMINE_ITEM_BANK_EQ: { type = ExamineType.ITEM_BANK_EQ; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 457fff175a..a987f56242 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -43,7 +43,6 @@ import net.runelite.api.Skill; import net.runelite.api.SpriteID; import net.runelite.api.Varbits; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptCallbackEvent; @@ -53,6 +52,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.NPCManager; import net.runelite.client.game.XpDropEvent; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java index e09b084029..876cf25c49 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRingPlugin.java @@ -44,10 +44,10 @@ import net.runelite.api.ScriptID; import net.runelite.api.SoundEffectID; import net.runelite.api.SpriteID; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; @@ -56,11 +56,11 @@ import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.api.util.Text; @Slf4j @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index 6032056fc8..fc8823a727 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -35,7 +35,7 @@ import java.util.function.Supplier; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java index 90b84085e0..d08914b6cf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fightcave/FightCavePlugin.java @@ -46,13 +46,13 @@ import net.runelite.api.GameState; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java index d76941a6a0..6b81a2622c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java @@ -31,6 +31,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GraphicID; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; @@ -47,6 +48,7 @@ import net.runelite.client.ui.overlay.components.table.TableComponent; class FishingOverlay extends Overlay { private static final String FISHING_SPOT = "Fishing spot"; + static final String FISHING_RESET = "Reset"; private final Client client; private final FishingPlugin plugin; @@ -63,6 +65,7 @@ class FishingOverlay extends Overlay this.plugin = plugin; this.xpTrackerService = xpTrackerService; getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Fishing overlay")); + getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, FISHING_RESET, "Fishing overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index 532d03b84c..c2b18af2af 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -47,11 +47,11 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; +import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.Varbits; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; @@ -66,11 +66,14 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.ui.overlay.OverlayManager; +import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.util.ItemUtil; @PluginDescriptor( @@ -205,6 +208,18 @@ public class FishingPlugin extends Plugin eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); eventBus.subscribe(WidgetLoaded.class, this, this::onWidgetLoaded); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + { + OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY + && overlayMenuClicked.getEntry().getOption().equals(FishingOverlay.FISHING_RESET) + && overlayMenuClicked.getOverlay() == overlay) + { + session.setLastFishCaught(null); + } } private void onConfigChanged(ConfigChanged event) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java index 4af5c588a8..a3d6dd829f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsPlugin.java @@ -29,10 +29,10 @@ import com.google.inject.Provides; import com.google.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.DrawManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java index c219b25a16..a97325d87c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/freezetimers/FreezeTimersPlugin.java @@ -39,13 +39,13 @@ import net.runelite.api.Player; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.LocalPlayerDeath; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletPlugin.java index d2c558497e..b0aaad6764 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gauntlet/GauntletPlugin.java @@ -55,7 +55,6 @@ import net.runelite.api.Skill; import net.runelite.api.SoundEffectID; import net.runelite.api.Varbits; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; @@ -68,9 +67,11 @@ import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.NpcLootReceived; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SkillIconManager; +import net.runelite.client.game.XpDropEvent; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -78,7 +79,6 @@ import static net.runelite.client.plugins.gauntlet.Hunllef.BossAttack.LIGHTNING; import static net.runelite.client.plugins.gauntlet.Hunllef.BossAttack.MAGIC; import static net.runelite.client.plugins.gauntlet.Hunllef.BossAttack.PRAYER; import static net.runelite.client.plugins.gauntlet.Hunllef.BossAttack.RANGE; -import net.runelite.client.game.XpDropEvent; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.Counter; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 03e3925e3f..d299a7cc45 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -56,22 +56,22 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.BufferProvider; import net.runelite.api.Client; import net.runelite.api.Constants; +import net.runelite.api.Entity; import net.runelite.api.GameState; import net.runelite.api.Model; import net.runelite.api.NodeCache; import net.runelite.api.Perspective; -import net.runelite.api.Entity; import net.runelite.api.Scene; -import net.runelite.api.TileModel; -import net.runelite.api.TilePaint; import net.runelite.api.Texture; import net.runelite.api.TextureProvider; -import net.runelite.api.events.ConfigChanged; +import net.runelite.api.TileModel; +import net.runelite.api.TilePaint; import net.runelite.api.events.GameStateChanged; import net.runelite.api.hooks.DrawCallbacks; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginInstantiationException; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index ba45157920..81f2fe06e6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -56,7 +56,7 @@ import static net.runelite.api.ItemID.COINS_995; import net.runelite.api.MenuOpcode; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GrandExchangeOfferChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java index 2c705ac6d5..432d0d8549 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java @@ -68,7 +68,7 @@ import net.runelite.api.TileItem; import net.runelite.api.TileItemPile; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ClientTick; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index 0fa3afcf4e..736b78bab7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -47,24 +47,24 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import static net.runelite.api.Constants.CHUNK_SIZE; import net.runelite.api.GameState; -import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; +import net.runelite.api.MenuOpcode; import net.runelite.api.Tile; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; +import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ColorUtil; -import net.runelite.api.util.Text; @Slf4j @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java index cf28ad8b08..9108b83e55 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java @@ -50,7 +50,6 @@ import net.runelite.api.TileObject; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -61,6 +60,7 @@ import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.VarbitChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java index a91a495b25..b58470499a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hideprayers/HidePrayersPlugin.java @@ -40,7 +40,6 @@ import net.runelite.api.HashTable; import net.runelite.api.Skill; import net.runelite.api.WidgetNode; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; @@ -48,6 +47,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java index 38a6ae8ea8..fb48147a67 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/highalchemy/HighAlchemyPlugin.java @@ -36,7 +36,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import static net.runelite.api.widgets.WidgetID.BANK_GROUP_ID; import static net.runelite.api.widgets.WidgetID.BANK_INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.DEPOSIT_BOX_GROUP_ID; @@ -47,6 +46,7 @@ import static net.runelite.api.widgets.WidgetID.INVENTORY_GROUP_ID; import static net.runelite.api.widgets.WidgetID.SHOP_INVENTORY_GROUP_ID; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java index 4dd0b0cd00..f6aa5bd8cf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePlugin.java @@ -44,7 +44,7 @@ import net.runelite.api.Client; import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.PlayerMenuOptionClicked; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java index da4e023a00..c82cf60f4d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/HunterPlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.Tile; import net.runelite.api.coords.Direction; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java index b4c72d7470..75959f65ed 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hydra/BabyHydraPlugin.java @@ -35,11 +35,11 @@ import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.NPC; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java index 3775e9ba91..1d6203b8fa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java @@ -57,22 +57,22 @@ import net.runelite.api.Skill; import net.runelite.api.SkullIcon; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.api.WorldType; import net.runelite.api.WallObject; +import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.PlayerSpawned; -import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.events.SpotAnimationChanged; +import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.Sound; import net.runelite.client.game.SoundManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java index 95807acad6..6aaf4f1b81 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/implings/ImplingsPlugin.java @@ -36,7 +36,6 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.GameState; import net.runelite.api.NPC; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDefinitionChanged; @@ -45,6 +44,7 @@ import net.runelite.api.events.NpcSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java index 64b88c9cc7..4ea9934558 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inferno/InfernoPlugin.java @@ -43,13 +43,13 @@ import net.runelite.api.NpcID; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index 1f14083a19..79ca146fa9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -37,7 +37,6 @@ import net.runelite.api.HealthBar; import net.runelite.api.Sprite; import net.runelite.api.SpriteID; import net.runelite.api.events.BeforeMenuRender; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.PostHealthBar; import net.runelite.api.events.WidgetPositioned; @@ -46,6 +45,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java index a537c97d83..7ad9236043 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridPlugin.java @@ -31,9 +31,9 @@ import com.google.inject.Singleton; import java.awt.Color; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java index be48a12af5..e9bd791ff0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java @@ -47,14 +47,14 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; -import net.runelite.api.ItemDefinition; import net.runelite.api.ItemContainer; -import net.runelite.api.events.ConfigChanged; +import net.runelite.api.ItemDefinition; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemVariationMapping; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java index 9623ecafc6..8db657806d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsPlugin.java @@ -31,22 +31,22 @@ import java.awt.Color; import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; -import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; -import net.runelite.api.events.ConfigChanged; +import net.runelite.api.MenuOpcode; import net.runelite.api.events.MenuOpened; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.WidgetMenuOptionClicked; +import net.runelite.api.util.Text; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ColorUtil; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Inventory Tags", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java index 23ccdb8a95..a0ec9a957b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerPlugin.java @@ -29,9 +29,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index 70796730bc..1d37a29763 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -47,7 +47,6 @@ import net.runelite.api.ItemID; import static net.runelite.api.ItemID.RING_OF_RECOIL; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.ScriptCallbackEvent; @@ -59,6 +58,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java index 995c6eb2f5..98e043e30c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemidentification/ItemIdentificationPlugin.java @@ -30,9 +30,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java index cf9c33b666..a2673d8ad6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java @@ -29,9 +29,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index 31b21fa9d0..3a26a30d43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -47,7 +47,7 @@ import net.runelite.api.ItemID; import net.runelite.api.SpriteID; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarbitChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java index 7aba2d3831..43ae6b1e26 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java @@ -38,7 +38,6 @@ import net.runelite.api.IconID; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -46,6 +45,7 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ModifierlessKeybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java index 71f2f59151..659b997bbf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kingdomofmiscellania/KingdomPlugin.java @@ -26,10 +26,10 @@ package net.runelite.client.plugins.kingdomofmiscellania; import com.google.common.collect.ImmutableSet; +import com.google.inject.Provides; import java.text.NumberFormat; import javax.inject.Inject; import javax.inject.Singleton; -import com.google.inject.Provides; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -39,7 +39,6 @@ import net.runelite.api.GameState; import static net.runelite.api.ItemID.TEAK_CHEST; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; @@ -49,6 +48,7 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java index 2778d7a595..0f6e8c0e10 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/kourendlibrary/KourendLibraryPlugin.java @@ -46,7 +46,7 @@ import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java index 6e92d4165a..22b9309db6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/learntoclick/LearnToClickPlugin.java @@ -17,7 +17,6 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.MenuEntry; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuShouldLeftClick; import net.runelite.api.events.WidgetLoaded; @@ -25,6 +24,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java index 1e824d1385..e34634e155 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lizardmenshaman/LizardmenShamanPlugin.java @@ -37,10 +37,10 @@ import static net.runelite.api.AnimationID.LIZARDMAN_SHAMAN_SPAWN; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java index fe83efe4a6..7268b979c8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java @@ -36,11 +36,11 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; -import net.runelite.client.eventbus.EventBus; -import net.runelite.client.events.SessionOpen; import net.runelite.client.config.ConfigManager; +import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.SessionOpen; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java index b7ec37c10b..0ede751f08 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootingbagviewer/LootingBagViewerPlugin.java @@ -35,12 +35,12 @@ import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index f34f1bcbdd..fee0c9c5c6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -79,7 +79,7 @@ import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.LocalPlayerDeath; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java index f525c6ff8e..f048217c75 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/maxhit/MaxHitPlugin.java @@ -30,12 +30,12 @@ import net.runelite.api.Client; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index ce9eb67640..a3a255a7ad 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -62,7 +62,7 @@ import static net.runelite.api.Varbits.WITHDRAW_X_AMOUNT; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ClientTick; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.Menu; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java index bd19159ca6..05f33834d5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/metronome/MetronomePlugin.java @@ -26,24 +26,24 @@ package net.runelite.client.plugins.metronome; import com.google.inject.Provides; +import java.io.File; import java.io.IOException; import javax.inject.Inject; import javax.inject.Singleton; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.UnsupportedAudioFileException; -import lombok.extern.slf4j.Slf4j; -import net.runelite.api.SoundEffectVolume; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.FloatControl; -import java.io.File; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; +import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.SoundEffectID; -import net.runelite.api.events.ConfigChanged; +import net.runelite.api.SoundEffectVolume; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java index d71938b5e3..7631304b51 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java @@ -32,13 +32,13 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Sprite; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java index 61bdedaa5e..d1ce991d0d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java @@ -58,7 +58,6 @@ import static net.runelite.api.ObjectID.ORE_VEIN_26664; import net.runelite.api.WallObject; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; @@ -67,6 +66,7 @@ import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeOverlay.java index 7bd10dd62c..9324e2cf4e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodeOverlay.java @@ -31,7 +31,9 @@ import java.time.Duration; import java.time.Instant; import javax.inject.Inject; import javax.inject.Singleton; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import net.runelite.client.ui.overlay.Overlay; +import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.TitleComponent; @@ -45,6 +47,8 @@ class MotherlodeOverlay extends Overlay private final MotherlodeSession motherlodeSession; private final PanelComponent panelComponent = new PanelComponent(); + static final String MINING_RESET = "Reset"; + @Inject MotherlodeOverlay(final MotherlodePlugin plugin, final MotherlodeSession motherlodeSession) { @@ -52,6 +56,7 @@ class MotherlodeOverlay extends Overlay setPosition(OverlayPosition.TOP_LEFT); this.plugin = plugin; this.motherlodeSession = motherlodeSession; + getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, MINING_RESET, "Motherlode mine overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java index 8324f199dc..8f88c14f25 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/motherlode/MotherlodePlugin.java @@ -55,16 +55,7 @@ import net.runelite.api.ItemID; import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.NpcID; -import static net.runelite.api.ObjectID.DEPLETED_VEIN_26665; -import static net.runelite.api.ObjectID.DEPLETED_VEIN_26666; -import static net.runelite.api.ObjectID.DEPLETED_VEIN_26667; -import static net.runelite.api.ObjectID.DEPLETED_VEIN_26668; -import static net.runelite.api.ObjectID.ORE_VEIN_26661; -import static net.runelite.api.ObjectID.ORE_VEIN_26662; -import static net.runelite.api.ObjectID.ORE_VEIN_26663; -import static net.runelite.api.ObjectID.ORE_VEIN_26664; -import static net.runelite.api.ObjectID.ROCKFALL; -import static net.runelite.api.ObjectID.ROCKFALL_26680; +import static net.runelite.api.ObjectID.*; import net.runelite.api.Perspective; import net.runelite.api.Player; import net.runelite.api.ScriptID; @@ -74,13 +65,12 @@ import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.OverheadTextChanged; import net.runelite.api.events.VarbitChanged; @@ -88,6 +78,7 @@ import net.runelite.api.events.WallObjectChanged; import net.runelite.api.events.WallObjectDespawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; @@ -95,11 +86,13 @@ import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.api.util.Text; +import net.runelite.client.ui.overlay.OverlayMenuEntry; @PluginDescriptor( name = "Motherlode Mine", @@ -280,6 +273,18 @@ public class MotherlodePlugin extends Plugin eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); eventBus.subscribe(ItemContainerChanged.class, this, this::onItemContainerChanged); eventBus.subscribe(OverheadTextChanged.class, this, this::onOverheadTextChanged); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + { + OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY + && overlayMenuClicked.getEntry().getOption().equals(MotherlodeOverlay.MINING_RESET) + && overlayMenuClicked.getOverlay() == overlay) + { + session.resetRecent(); + } } void onVarbitChanged(VarbitChanged event) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java index aedf4adf95..2de33a9727 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightPlugin.java @@ -31,7 +31,6 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.WidgetLoaded; @@ -40,6 +39,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java index 6691c24c38..b819c76fc5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoom.java @@ -43,7 +43,6 @@ import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; @@ -52,6 +51,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTAPlugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java index f0f15e6a3e..edfe860cdd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/enchantment/EnchantmentRoom.java @@ -35,12 +35,12 @@ import net.runelite.api.Player; import net.runelite.api.Tile; import net.runelite.api.TileItem; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemDespawned; import net.runelite.api.events.ItemSpawned; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTARoom; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java index 5c31f2c497..d2051f5159 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mta/graveyard/GraveyardRoom.java @@ -35,10 +35,10 @@ import static net.runelite.api.ItemID.ANIMALS_BONES_6905; import static net.runelite.api.ItemID.ANIMALS_BONES_6906; import static net.runelite.api.ItemID.ANIMALS_BONES_6907; import net.runelite.api.Player; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.mta.MTAConfig; import net.runelite.client.plugins.mta.MTAPlugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java index 298bba7d0f..d4770dd3d7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/multiindicators/MultiIndicatorsPlugin.java @@ -45,12 +45,12 @@ import net.runelite.api.WorldType; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.geometry.Geometry; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java index 5ffd7ba344..1429225247 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java @@ -47,7 +47,7 @@ import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.VarPlayer; import net.runelite.api.events.AreaSoundEffectPlayed; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarClientIntChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java index e6382e7b30..ba05d529fa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPanel.java index 3bfb882b51..81356fb4db 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesPanel.java @@ -45,8 +45,8 @@ import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import lombok.extern.slf4j.Slf4j; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.notes.events.PageAdded; import net.runelite.client.plugins.notes.events.PageDeleted; import net.runelite.client.ui.ColorScheme; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index cdcdd34416..d8a363ccbf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -52,7 +52,7 @@ import net.runelite.api.MenuOpcode; import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; import net.runelite.api.NPC; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java index c4129f3007..3ef4037d39 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcstatus/NpcStatusPlugin.java @@ -39,7 +39,6 @@ import net.runelite.api.GraphicID; import net.runelite.api.Hitsplat; import net.runelite.api.NPC; import net.runelite.api.coords.WorldArea; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; @@ -48,6 +47,7 @@ import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java index e0d227373c..39df118ad4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npcunaggroarea/NpcAggroAreaPlugin.java @@ -51,7 +51,7 @@ import net.runelite.api.Player; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcSpawned; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index 56aafdf018..4845c591fa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -50,15 +50,14 @@ import net.runelite.api.DecorativeObject; import net.runelite.api.GameObject; import net.runelite.api.GameState; import net.runelite.api.GroundObject; -import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; +import net.runelite.api.MenuOpcode; import net.runelite.api.ObjectDefinition; import net.runelite.api.Scene; import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.WallObject; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.FocusChanged; @@ -74,6 +73,7 @@ import net.runelite.api.events.WallObjectDespawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java index df5ba2b6e6..abd1a6cdab 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/openosrs/OpenOSRSPlugin.java @@ -34,7 +34,6 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import static net.runelite.api.ScriptID.BANK_PIN_OP; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.widgets.WidgetID; import static net.runelite.api.widgets.WidgetInfo.*; @@ -42,6 +41,7 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.config.Keybind; import net.runelite.client.config.OpenOSRSConfig; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index 26ac5ba219..5db7532ebd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -43,7 +43,6 @@ import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.WorldType; import net.runelite.api.events.BeforeRender; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; @@ -51,6 +50,7 @@ import net.runelite.api.events.MenuOpened; import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.HiscoreManager; import net.runelite.client.game.NPCManager; import net.runelite.client.menus.MenuManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java index a623468844..e71792494c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java @@ -45,14 +45,13 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; +import net.runelite.api.MenuOpcode; import net.runelite.api.Skill; import net.runelite.api.SoundEffectID; import net.runelite.api.Tile; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.CommandExecuted; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuOptionClicked; @@ -62,6 +61,7 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.events.PartyChanged; import net.runelite.client.input.KeyListener; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java index 70f74bbe4c..5fede26720 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/performancestats/PerformanceStatsPlugin.java @@ -41,18 +41,19 @@ import net.runelite.api.Client; import net.runelite.api.NPC; import net.runelite.api.Skill; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.StatChanged; +import net.runelite.api.util.Text; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.events.PartyChanged; import net.runelite.client.game.NPCManager; @@ -60,7 +61,6 @@ import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.api.util.Text; import net.runelite.client.ws.PartyMember; import net.runelite.client.ws.PartyService; import net.runelite.client.ws.WSClient; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java index 273c98438f..badae4a764 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java @@ -45,7 +45,6 @@ import net.runelite.api.ItemID; import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -55,10 +54,12 @@ import net.runelite.api.events.GroundObjectChanged; import net.runelite.api.events.GroundObjectDespawned; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -66,7 +67,6 @@ import net.runelite.client.plugins.pestcontrol.config.HighlightPortalOption; import net.runelite.client.plugins.pestcontrol.config.NpcHighlightStyle; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; -import net.runelite.api.util.Text; @Slf4j @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java index cd90a63b47..03a1139304 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pileindicators/PileIndicatorsPlugin.java @@ -38,9 +38,9 @@ import net.runelite.api.Client; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java index 1f733f977a..ffb42de2a1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerindicators/PlayerIndicatorsPlugin.java @@ -50,13 +50,13 @@ import static net.runelite.api.MenuOpcode.*; import net.runelite.api.Player; import net.runelite.api.events.ClanMemberJoined; import net.runelite.api.events.ClanMemberLeft; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.PlayerSpawned; import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ClanManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerscouter/PlayerScouter.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerscouter/PlayerScouter.java index 1ef802cf87..3a1169eebc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/playerscouter/PlayerScouter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerscouter/PlayerScouter.java @@ -53,7 +53,6 @@ import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.PlayerDespawned; @@ -61,6 +60,7 @@ import net.runelite.api.events.PlayerSpawned; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemMapping; import net.runelite.client.game.ItemReclaimCost; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java index 4592608dc9..e5872c6b59 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java @@ -50,7 +50,7 @@ import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.GameObjectDespawned; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java index 92933c3857..3581b03f3b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poison/PoisonPlugin.java @@ -48,7 +48,6 @@ import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.SpriteID; import net.runelite.api.VarPlayer; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.NpcDespawned; @@ -57,6 +56,7 @@ import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java index 4e3ce27162..58666f2bca 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayagainstplayer/PrayAgainstPlayerPlugin.java @@ -43,13 +43,13 @@ import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.SpriteID; import net.runelite.api.events.AnimationChanged; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java index cf166b85b5..017976786c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerPlugin.java @@ -38,7 +38,7 @@ import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.Prayer; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.config.ConfigManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java index 1293327e03..629d9de7b1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayeralert/PrayerAlertPlugin.java @@ -21,9 +21,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/privateserver/PrivateServerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/privateserver/PrivateServerPlugin.java index b3b19c1a42..9cb53c288f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/privateserver/PrivateServerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/privateserver/PrivateServerPlugin.java @@ -34,10 +34,10 @@ import javax.swing.JFrame; import javax.swing.JOptionPane; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.RuneLite; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java index c7ec072cad..fcdfea0705 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/profiles/ProfilesPlugin.java @@ -26,20 +26,20 @@ package net.runelite.client.plugins.profiles; import com.google.inject.Provides; import java.awt.image.BufferedImage; +import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.ImageUtil; -import java.util.concurrent.ScheduledExecutorService; @PluginDescriptor( name = "Account Switcher", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java index aaa333993a..8bb0bfad49 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/puzzlesolver/PuzzleSolverPlugin.java @@ -34,10 +34,10 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; @@ -52,6 +52,7 @@ import static net.runelite.api.widgets.WidgetInfo.LIGHT_BOX_BUTTON_H; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.puzzlesolver.lightbox.Combination; @@ -61,7 +62,6 @@ import net.runelite.client.plugins.puzzlesolver.lightbox.LightboxSolver; import net.runelite.client.plugins.puzzlesolver.lightbox.LightboxState; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ColorUtil; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Puzzle Solver", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java index 2d14f6dffa..c50ba43ce1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pvptools/PvpToolsPlugin.java @@ -41,7 +41,6 @@ import net.runelite.api.Player; import net.runelite.api.SkullIcon; import net.runelite.api.Varbits; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.PlayerDespawned; @@ -51,6 +50,7 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java index 0b9e4a09d0..4975ec9465 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderPlugin.java @@ -46,7 +46,6 @@ import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -57,6 +56,7 @@ import net.runelite.api.events.WallObjectDespawned; import net.runelite.api.events.WallObjectSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java index 33e4ebbd24..3d52feb934 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java @@ -61,18 +61,8 @@ public class Raid if (room == null) { - RaidRoom.Type type = RaidRoom.Type.fromCode(layout.getRoomAt(i).getSymbol()); - room = new RaidRoom(null, type); - - if (type == RaidRoom.Type.COMBAT) - { - room.setBoss(RaidRoom.Boss.UNKNOWN); - } - - if (type == RaidRoom.Type.PUZZLE) - { - room.setPuzzle(RaidRoom.Puzzle.UNKNOWN); - } + RoomType type = RoomType.fromCode(layout.getRoomAt(i).getSymbol()); + room = type.getUnsolvedRoom(); setRoom(room, i); } @@ -103,7 +93,7 @@ public class Raid continue; } - if (rooms[room.getPosition()].getType() == RaidRoom.Type.COMBAT) + if (rooms[room.getPosition()].getType() == RoomType.COMBAT) { combatRooms.add(rooms[room.getPosition()]); } @@ -112,11 +102,6 @@ public class Raid return combatRooms.toArray(new RaidRoom[0]); } - String getRotationString() - { - return Joiner.on(",").join(Arrays.stream(getCombatRooms()).map(r -> r.getBoss().getName()).toArray()); - } - private RaidRoom[] getAllRooms() { List getAllRooms = new ArrayList<>(); @@ -167,7 +152,7 @@ public class Raid final int position = r.getPosition(); final RaidRoom room = getRoom(position); - if (room == null || !(room.getType() == RaidRoom.Type.COMBAT || room.getType() == RaidRoom.Type.PUZZLE)) + if (room == null) { continue; } @@ -175,26 +160,8 @@ public class Raid switch (room.getType()) { case PUZZLE: - final RaidRoom.Puzzle puzzle = room.getPuzzle(); - sb.append(puzzle.getName()); - - if (puzzle == RaidRoom.Puzzle.UNKNOWN) - { - sb.append(" (puzzle)"); - } - - sb.append(", "); - break; case COMBAT: - final RaidRoom.Boss boss = room.getBoss(); - sb.append(boss.getName()); - - if (boss == RaidRoom.Boss.UNKNOWN) - { - sb.append(" (combat)"); - } - - sb.append(", "); + sb.append(room.getName()).append(", "); break; } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java index 00401d9991..c040a29b67 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java @@ -24,139 +24,37 @@ */ package net.runelite.client.plugins.raids; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; import lombok.Getter; -import lombok.Setter; -import net.runelite.api.Tile; +import lombok.RequiredArgsConstructor; -public class RaidRoom +@RequiredArgsConstructor +@Getter +enum RaidRoom { + START("Start", RoomType.START), + END("End", RoomType.END), + SCAVENGERS("Scavengers", RoomType.SCAVENGERS), + FARMING("Farming", RoomType.FARMING), + EMPTY("Empty", RoomType.EMPTY), + + TEKTON("Tekton", RoomType.COMBAT), + MUTTADILES("Muttadiles", RoomType.COMBAT), + GUARDIANS("Guardians", RoomType.COMBAT), + VESPULA("Vespula", RoomType.COMBAT), + SHAMANS("Shamans", RoomType.COMBAT), + VASA("Vasa", RoomType.COMBAT), + VANGUARDS("Vanguards", RoomType.COMBAT), + MYSTICS("Mystics", RoomType.COMBAT), + UNKNOWN_COMBAT("Unknown (combat)", RoomType.COMBAT), + + CRABS("Crabs", RoomType.PUZZLE), + ICE_DEMON("Ice Demon", RoomType.PUZZLE), + TIGHTROPE("Tightrope", RoomType.PUZZLE), + THIEVING("Thieving", RoomType.PUZZLE), + UNKNOWN_PUZZLE("Unknown (puzzle)", RoomType.PUZZLE); + static final int ROOM_MAX_SIZE = 32; - @Getter(AccessLevel.PACKAGE) - private final Tile base; - @Getter(AccessLevel.PACKAGE) - @Setter(AccessLevel.PACKAGE) - private Type type; - @Getter(AccessLevel.PUBLIC) - @Setter(AccessLevel.PUBLIC) - private Boss boss; - @Getter(AccessLevel.PACKAGE) - @Setter(AccessLevel.PACKAGE) - private Puzzle puzzle; - @Getter(AccessLevel.PACKAGE) - @Setter(AccessLevel.PACKAGE) - private RaidRoom previousRoom; - @Getter(AccessLevel.PACKAGE) - @Setter(AccessLevel.PACKAGE) - private RaidRoom nextRoom; - RaidRoom(final Tile base, final Type type) - { - this.base = base; - this.type = type; - } - - @Override - public String toString() - { - switch (type) - { - case COMBAT: - return " " + type.getName() + " - " + boss.getName(); - - case PUZZLE: - return " " + type.getName() + " - " + puzzle.getName(); - - default: - return " " + type.getName(); - } - } - - @AllArgsConstructor - public enum Type - { - START("Start", "#"), - END("End", "¤"), - SCAVENGERS("Scavengers", "S"), - FARMING("Farming", "F"), - COMBAT("Combat", "C"), - PUZZLE("Puzzle", "P"), - EMPTY("Empty", " "); - - @Getter - private final String name; - - @Getter - private final String code; - - public static Type fromCode(char code) - { - for (Type type : Type.values()) - { - if (type.getCode().equalsIgnoreCase(String.valueOf(code))) - { - return type; - } - } - - return Type.EMPTY; - } - } - - @AllArgsConstructor - public enum Boss - { - TEKTON("Tekton"), - MUTTADILES("Muttadiles"), - GUARDIANS("Guardians"), - VESPULA("Vespula"), - SHAMANS("Shamans"), - VASA("Vasa"), - VANGUARDS("Vanguards"), - MYSTICS("Mystics"), - UNKNOWN("Unknown"); - - @Getter - private final String name; - - public static Boss fromString(String name) - { - for (Boss boss : Boss.values()) - { - if (boss.getName().equalsIgnoreCase(name)) - { - return boss; - } - } - - return null; - } - } - - @AllArgsConstructor - public enum Puzzle - { - CRABS("Crabs"), - ICE_DEMON("Ice Demon"), - TIGHTROPE("Tightrope"), - THIEVING("Thieving"), - UNKNOWN("Unknown"); - - @Getter - private final String name; - - public static Puzzle fromString(String name) - { - for (Puzzle puzzle : Puzzle.values()) - { - if (puzzle.getName().equalsIgnoreCase(name)) - { - return puzzle; - } - } - - return null; - } - } -} + private final String name; + private final RoomType type; +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java index 0288f106d9..7715429b19 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsOverlay.java @@ -33,7 +33,6 @@ import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.HashSet; import java.util.List; -import java.util.Objects; import java.util.Set; import javax.inject.Inject; import javax.inject.Singleton; @@ -44,6 +43,7 @@ import net.runelite.api.Client; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.SpriteID; +import net.runelite.api.util.Text; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; @@ -62,7 +62,6 @@ import net.runelite.client.ui.overlay.components.table.TableAlignment; import net.runelite.client.ui.overlay.components.table.TableComponent; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; @Singleton public class RaidsOverlay extends Overlay @@ -165,7 +164,6 @@ public class RaidsOverlay extends Overlay boolean vanguards = false; boolean unknownCombat = false; String puzzles = ""; - String roomName; for (Room layoutRoom : plugin.getRaid().getLayout().getRooms()) { int position = layoutRoom.getPosition(); @@ -180,36 +178,20 @@ public class RaidsOverlay extends Overlay { case COMBAT: combatCount++; - roomName = room.getBoss().getName(); - switch (Objects.requireNonNull(RaidRoom.Boss.fromString(roomName))) - { - case VANGUARDS: - vanguards = true; - break; - case UNKNOWN: - unknownCombat = true; - break; - } + + vanguards = room == RaidRoom.VANGUARDS; + unknownCombat = room == RaidRoom.UNKNOWN_COMBAT; break; case PUZZLE: - roomName = room.getPuzzle().getName(); - switch (Objects.requireNonNull(RaidRoom.Puzzle.fromString(roomName))) + crabs = room == RaidRoom.CRABS; + iceDemon = room == RaidRoom.ICE_DEMON; + thieving = room == RaidRoom.THIEVING; + tightrope = room == RaidRoom.TIGHTROPE; + + if (iceDemon) { - case CRABS: - crabs = true; - break; - case ICE_DEMON: - iceDemon = true; - iceRooms.add(roomCount); - break; - case THIEVING: - thieving = true; - break; - case TIGHTROPE: - tightrope = true; - break; + iceRooms.add(roomCount); } - break; case SCAVENGERS: scavRooms.add(roomCount); break; @@ -316,17 +298,17 @@ public class RaidsOverlay extends Overlay { case COMBAT: bossCount++; - if (plugin.getRoomWhitelist().contains(room.getBoss().getName().toLowerCase())) + if (plugin.getRoomWhitelist().contains(room.getName().toLowerCase())) { color = Color.GREEN; } - else if (plugin.getRoomBlacklist().contains(room.getBoss().getName().toLowerCase()) + else if (plugin.getRoomBlacklist().contains(room.getName().toLowerCase()) || plugin.isEnableRotationWhitelist() && bossCount > bossMatches) { color = Color.RED; } - String bossName = room.getBoss().getName(); + String bossName = room.getName(); String bossNameLC = bossName.toLowerCase(); if (plugin.isShowRecommendedItems() && plugin.getRecommendedItemsList().get(bossNameLC) != null) { @@ -338,7 +320,7 @@ public class RaidsOverlay extends Overlay break; case PUZZLE: - String puzzleName = room.getPuzzle().getName(); + String puzzleName = room.getName(); String puzzleNameLC = puzzleName.toLowerCase(); if (plugin.getRecommendedItemsList().get(puzzleNameLC) != null) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index b433251e6f..9c6ab0333d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -25,22 +25,27 @@ */ package net.runelite.client.plugins.raids; +import com.google.common.base.Joiner; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.inject.Binder; import com.google.inject.Provides; import java.awt.Color; import java.awt.image.BufferedImage; +import java.io.IOException; import java.text.DecimalFormat; import java.time.Instant; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ScheduledExecutorService; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; @@ -52,6 +57,7 @@ import net.runelite.api.GameState; import net.runelite.api.InstanceTemplates; import net.runelite.api.ItemID; import net.runelite.api.MenuOpcode; +import net.runelite.api.MessageNode; import net.runelite.api.NullObjectID; import static net.runelite.api.Perspective.SCENE_SIZE; import net.runelite.api.Player; @@ -63,18 +69,22 @@ import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ClientTick; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetHiddenChanged; +import net.runelite.api.util.Text; +import static net.runelite.api.util.Text.sanitize; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatColorType; +import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ChatInput; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; @@ -83,7 +93,6 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.raids.solver.Layout; import net.runelite.client.plugins.raids.solver.LayoutSolver; -import net.runelite.client.plugins.raids.solver.RotationSolver; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.overlay.OverlayManager; @@ -93,13 +102,14 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.tooltip.Tooltip; import net.runelite.client.ui.overlay.tooltip.TooltipManager; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; -import org.apache.commons.lang3.StringUtils; -import static org.apache.commons.lang3.StringUtils.containsIgnoreCase; import net.runelite.client.ws.PartyMember; import net.runelite.client.ws.PartyService; import net.runelite.client.ws.WSClient; +import net.runelite.http.api.chat.ChatClient; +import net.runelite.http.api.chat.LayoutRoom; import net.runelite.http.api.ws.messages.party.PartyChatMessage; +import org.apache.commons.lang3.StringUtils; +import static org.apache.commons.lang3.StringUtils.containsIgnoreCase; @PluginDescriptor( name = "CoX Scouter", @@ -120,6 +130,7 @@ public class RaidsPlugin extends Plugin private static final String RAID_COMPLETE_MESSAGE = "Congratulations - your raid is complete!"; private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("###.##"); private static final Pattern ROTATION_REGEX = Pattern.compile("\\[(.*?)]"); + private static final String LAYOUT_COMMAND = "!layout"; private static final Pattern RAID_COMPLETE_REGEX = Pattern.compile("Congratulations - your raid is complete! Duration: ([0-9:]+)"); private static final ImmutableSet GOOD_CRABS_FIRST = ImmutableSet.of( "FSCCP.PCSCF - #WNWSWN#ESEENW", //both good crabs @@ -156,52 +167,75 @@ public class RaidsPlugin extends Plugin "SCFPC.CSPCF - #WSWWNE#WSEENE" //good crabs first rare crabs second ); private static final Pattern PUZZLES = Pattern.compile("Puzzle - (\\w+)"); + @Getter(AccessLevel.NONE) @Inject private ChatMessageManager chatMessageManager; + @Getter(AccessLevel.NONE) @Inject private InfoBoxManager infoBoxManager; + @Getter(AccessLevel.NONE) @Inject private Client client; + @Getter(AccessLevel.NONE) @Inject private RaidsConfig config; + @Getter(AccessLevel.NONE) @Inject private OverlayManager overlayManager; + @Getter(AccessLevel.NONE) @Inject private RaidsOverlay overlay; + @Getter(AccessLevel.NONE) @Inject private RaidsPointsOverlay pointsOverlay; + @Getter(AccessLevel.NONE) @Inject private RaidsPartyOverlay partyOverlay; + @Getter(AccessLevel.NONE) @Inject private LayoutSolver layoutSolver; + @Getter(AccessLevel.NONE) @Inject private SpriteManager spriteManager; + @Getter(AccessLevel.NONE) @Inject private ClientThread clientThread; + @Getter(AccessLevel.NONE) @Inject private TooltipManager tooltipManager; + @Getter(AccessLevel.NONE) @Inject private ClientToolbar clientToolbar; + @Getter(AccessLevel.NONE) @Inject private ItemManager itemManager; + @Getter(AccessLevel.NONE) @Inject private EventBus eventBus; - private boolean raidStarted; + + @Inject + private ChatCommandManager chatCommandManager; + + @Inject + private ChatClient chatClient; + + @Inject + private ScheduledExecutorService scheduledExecutorService; @Inject private PartyService party; @@ -273,6 +307,7 @@ public class RaidsPlugin extends Plugin private List startingPartyMembers = new ArrayList<>(); private Map> recommendedItemsList = new HashMap<>(); private Set missingPartyMembers = new HashSet<>(); + private boolean raidStarted; @Provides RaidsConfig provideConfig(ConfigManager configManager) @@ -300,6 +335,7 @@ public class RaidsPlugin extends Plugin } updateLists(); clientThread.invokeLater(() -> checkRaidPresence(true)); + chatCommandManager.registerCommandAsync(LAYOUT_COMMAND, this::lookupRaid, this::submitRaid); widgetOverlay = overlayManager.getWidgetOverlay(WidgetInfo.RAIDS_POINTS_INFOBOX); RaidsPanel panel = injector.getInstance(RaidsPanel.class); panel.init(); @@ -318,6 +354,7 @@ public class RaidsPlugin extends Plugin { eventBus.unregister(this); + chatCommandManager.unregisterCommand(LAYOUT_COMMAND); overlayManager.remove(overlay); overlayManager.remove(pointsOverlay); clientToolbar.removeNavigation(navButton); @@ -870,39 +907,13 @@ public class RaidsPlugin extends Plugin int getRotationMatches() { - String rotation = raid.getRotationString().toLowerCase(); - List bosses = Text.fromCSV(rotation); + RaidRoom[] combatRooms = raid.getCombatRooms(); + String rotation = Arrays.stream(combatRooms) + .map(RaidRoom::getName) + .map(String::toLowerCase) + .collect(Collectors.joining(",")); - if (rotationWhitelist.contains(rotation)) - { - return bosses.size(); - } - - for (String whitelisted : rotationWhitelist) - { - int matches = 0; - List whitelistedBosses = Text.fromCSV(whitelisted); - - for (int i = 0; i < whitelistedBosses.size(); i++) - { - if (i < bosses.size() && whitelistedBosses.get(i).equals(bosses.get(i))) - { - matches++; - } - else - { - matches = 0; - break; - } - } - - if (matches >= 2) - { - return matches; - } - } - - return 0; + return rotationWhitelist.contains(rotation) ? combatRooms.length : 0; } private Point findLobbyBase() @@ -1006,98 +1017,153 @@ public class RaidsPlugin extends Plugin private RaidRoom determineRoom(Tile base) { - RaidRoom room = new RaidRoom(base, RaidRoom.Type.EMPTY); int chunkData = client.getInstanceTemplateChunks()[base.getPlane()][(base.getSceneLocation().getX()) / 8][base.getSceneLocation().getY() / 8]; InstanceTemplates template = InstanceTemplates.findMatch(chunkData); if (template == null) { - return room; + return RaidRoom.EMPTY; } switch (template) { case RAIDS_LOBBY: case RAIDS_START: - room.setType(RaidRoom.Type.START); - break; + return RaidRoom.START; case RAIDS_END: - room.setType(RaidRoom.Type.END); - break; + return RaidRoom.END; case RAIDS_SCAVENGERS: case RAIDS_SCAVENGERS2: - room.setType(RaidRoom.Type.SCAVENGERS); - break; + return RaidRoom.SCAVENGERS; case RAIDS_SHAMANS: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.SHAMANS); - break; + return RaidRoom.SHAMANS; case RAIDS_VASA: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.VASA); - break; + return RaidRoom.VASA; case RAIDS_VANGUARDS: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.VANGUARDS); - break; + return RaidRoom.VANGUARDS; case RAIDS_ICE_DEMON: - room.setType(RaidRoom.Type.PUZZLE); - room.setPuzzle(RaidRoom.Puzzle.ICE_DEMON); - break; + return RaidRoom.ICE_DEMON; case RAIDS_THIEVING: - room.setType(RaidRoom.Type.PUZZLE); - room.setPuzzle(RaidRoom.Puzzle.THIEVING); - break; + return RaidRoom.THIEVING; case RAIDS_FARMING: case RAIDS_FARMING2: - room.setType(RaidRoom.Type.FARMING); - break; + return RaidRoom.FARMING; case RAIDS_MUTTADILES: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.MUTTADILES); - break; + return RaidRoom.MUTTADILES; case RAIDS_MYSTICS: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.MYSTICS); - break; + return RaidRoom.MYSTICS; case RAIDS_TEKTON: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.TEKTON); - break; + return RaidRoom.TEKTON; case RAIDS_TIGHTROPE: - room.setType(RaidRoom.Type.PUZZLE); - room.setPuzzle(RaidRoom.Puzzle.TIGHTROPE); - break; + return RaidRoom.TIGHTROPE; case RAIDS_GUARDIANS: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.GUARDIANS); - break; + return RaidRoom.GUARDIANS; case RAIDS_CRABS: - room.setType(RaidRoom.Type.PUZZLE); - room.setPuzzle(RaidRoom.Puzzle.CRABS); - break; + return RaidRoom.CRABS; case RAIDS_VESPULA: - room.setType(RaidRoom.Type.COMBAT); - room.setBoss(RaidRoom.Boss.VESPULA); - break; + return RaidRoom.VESPULA; + + default: + return RaidRoom.EMPTY; + } + } + + private void lookupRaid(ChatMessage chatMessage, String s) + { + ChatMessageType type = chatMessage.getType(); + + final String player; + if (type.equals(ChatMessageType.PRIVATECHATOUT)) + { + player = client.getLocalPlayer().getName(); + } + else + { + player = sanitize(chatMessage.getName()); } - return room; + LayoutRoom[] layout; + try + { + layout = chatClient.getLayout(player); + } + catch (IOException ex) + { + log.debug("unable to lookup layout", ex); + return; + } + + if (layout == null || layout.length == 0) + { + return; + } + + String layoutMessage = Joiner.on(", ").join(Arrays.stream(layout) + .map(l -> RaidRoom.valueOf(l.name())) + .filter(room -> room.getType() == RoomType.COMBAT || room.getType() == RoomType.PUZZLE) + .map(RaidRoom::getName) + .toArray()); + + String response = new ChatMessageBuilder() + .append(ChatColorType.HIGHLIGHT) + .append("Layout: ") + .append(ChatColorType.NORMAL) + .append(layoutMessage) + .build(); + + log.debug("Setting response {}", response); + final MessageNode messageNode = chatMessage.getMessageNode(); + messageNode.setRuneLiteFormatMessage(response); + chatMessageManager.update(messageNode); + client.refreshChat(); + } + + private boolean submitRaid(ChatInput chatInput, String s) + { + if (raid == null) + { + return false; + } + + final String playerName = client.getLocalPlayer().getName(); + RaidRoom[] rooms = raid.getRooms(); + + LayoutRoom[] layoutRooms = Arrays.stream(rooms) + .map(room -> LayoutRoom.valueOf(room.name())) + .toArray(LayoutRoom[]::new); + + scheduledExecutorService.execute(() -> + { + try + { + chatClient.submitLayout(playerName, layoutRooms); + } + catch (Exception ex) + { + log.warn("unable to submit layout", ex); + } + finally + { + chatInput.resume(); + } + }); + + return true; } public void reset() @@ -1247,7 +1313,9 @@ public class RaidsPlugin extends Plugin String recordRaid() { - if (raid.getRotationString().equalsIgnoreCase("vasa,tekton,vespula") + RaidRoom[] combatRooms = raid.getCombatRooms(); + + if (combatRooms[0] == RaidRoom.VASA && combatRooms[2] == RaidRoom.TEKTON && combatRooms[3] == RaidRoom.VESPULA && containsIgnoreCase(raid.getFullRotationString(), "crabs") && containsIgnoreCase(raid.getFullRotationString(), "tightrope") && goodCrabs != null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java new file mode 100644 index 0000000000..1af29ead1f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2018, Kamiel + * Copyright (c) 2019, 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.raids; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +enum RoomType +{ + START("Start", '#'), + END("End", '¤'), + SCAVENGERS("Scavengers", 'S'), + FARMING("Farming", 'F'), + EMPTY("Empty", ' '), + COMBAT("Combat", 'C'), + PUZZLE("Puzzle", 'P'); + + private final String name; + private final char code; + + RaidRoom getUnsolvedRoom() + { + switch (this) + { + case START: + return RaidRoom.START; + case END: + return RaidRoom.END; + case SCAVENGERS: + return RaidRoom.SCAVENGERS; + case FARMING: + return RaidRoom.FARMING; + case COMBAT: + return RaidRoom.UNKNOWN_COMBAT; + case PUZZLE: + return RaidRoom.UNKNOWN_PUZZLE; + case EMPTY: + default: + return RaidRoom.EMPTY; + } + } + + static RoomType fromCode(char code) + { + for (RoomType type : values()) + { + if (type.getCode() == code) + { + return type; + } + } + + return EMPTY; + } +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/solver/RotationSolver.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java similarity index 54% rename from runelite-client/src/main/java/net/runelite/client/plugins/raids/solver/RotationSolver.java rename to runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java index e53a7326c0..2f6040bcd8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/solver/RotationSolver.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java @@ -22,39 +22,45 @@ * (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.raids.solver; +package net.runelite.client.plugins.raids; -import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; -import net.runelite.client.plugins.raids.RaidRoom; -import net.runelite.client.plugins.raids.RaidRoom.Boss; +import java.util.List; +import static net.runelite.client.plugins.raids.RaidRoom.GUARDIANS; +import static net.runelite.client.plugins.raids.RaidRoom.MUTTADILES; +import static net.runelite.client.plugins.raids.RaidRoom.MYSTICS; +import static net.runelite.client.plugins.raids.RaidRoom.SHAMANS; +import static net.runelite.client.plugins.raids.RaidRoom.TEKTON; +import static net.runelite.client.plugins.raids.RaidRoom.UNKNOWN_COMBAT; +import static net.runelite.client.plugins.raids.RaidRoom.VANGUARDS; +import static net.runelite.client.plugins.raids.RaidRoom.VASA; +import static net.runelite.client.plugins.raids.RaidRoom.VESPULA; -public class RotationSolver +class RotationSolver { - private static final Rotation[] ROTATIONS = + private static final List[] ROTATIONS = { - new Rotation<>(Arrays.asList(Boss.TEKTON, Boss.VASA, Boss.GUARDIANS, Boss.MYSTICS, Boss.SHAMANS, Boss.MUTTADILES, Boss.VANGUARDS, Boss.VESPULA)), - new Rotation<>(Arrays.asList(Boss.TEKTON, Boss.MUTTADILES, Boss.GUARDIANS, Boss.VESPULA, Boss.SHAMANS, Boss.VASA, Boss.VANGUARDS, Boss.MYSTICS)), - new Rotation<>(Arrays.asList(Boss.VESPULA, Boss.VANGUARDS, Boss.MUTTADILES, Boss.SHAMANS, Boss.MYSTICS, Boss.GUARDIANS, Boss.VASA, Boss.TEKTON)), - new Rotation<>(Arrays.asList(Boss.MYSTICS, Boss.VANGUARDS, Boss.VASA, Boss.SHAMANS, Boss.VESPULA, Boss.GUARDIANS, Boss.MUTTADILES, Boss.TEKTON)) + Arrays.asList(TEKTON, VASA, GUARDIANS, MYSTICS, SHAMANS, MUTTADILES, VANGUARDS, VESPULA), + Arrays.asList(TEKTON, MUTTADILES, GUARDIANS, VESPULA, SHAMANS, VASA, VANGUARDS, MYSTICS), + Arrays.asList(VESPULA, VANGUARDS, MUTTADILES, SHAMANS, MYSTICS, GUARDIANS, VASA, TEKTON), + Arrays.asList(MYSTICS, VANGUARDS, VASA, SHAMANS, VESPULA, GUARDIANS, MUTTADILES, TEKTON) }; - public static void solve(RaidRoom[] rooms) + static boolean solve(RaidRoom[] rooms) { if (rooms == null) { - return; + return false; } - Rotation match = null; + List match = null; Integer start = null; Integer index = null; int known = 0; for (int i = 0; i < rooms.length; i++) { - if (rooms[i] == null || rooms[i].getBoss() == null || rooms[i].getBoss() == Boss.UNKNOWN) + if (rooms[i] == null || rooms[i].getType() != RoomType.COMBAT || rooms[i] == UNKNOWN_COMBAT) { continue; } @@ -69,37 +75,37 @@ public class RotationSolver if (known < 2) { - return; + return false; } if (known == rooms.length) { - return; + return true; } - for (Rotation rotation : ROTATIONS) + for (List rotation : ROTATIONS) { COMPARE: for (int i = 0; i < rotation.size(); i++) { - if (rooms[start].getBoss() == rotation.get(i)) + if (rooms[start] == rotation.get(i)) { for (int j = start + 1; j < rooms.length; j++) { - if (rooms[j].getBoss() == null || rooms[j].getBoss() == Boss.UNKNOWN) + if (rooms[j].getType() != RoomType.COMBAT || rooms[j] == UNKNOWN_COMBAT) { continue; } - if (rooms[j].getBoss() != rotation.get(i + j - start)) + if (rooms[j] != rotation.get((i + j - start) % rotation.size())) { break COMPARE; } } - if (match != null && match.equals(rotation)) + if (match != null && match != rotation) { - return; + return false; } index = i - start; @@ -110,7 +116,7 @@ public class RotationSolver if (match == null) { - return; + return false; } for (int i = 0; i < rooms.length; i++) @@ -120,30 +126,12 @@ public class RotationSolver continue; } - if (rooms[i].getBoss() == null || rooms[i].getBoss() == Boss.UNKNOWN) + if (rooms[i].getType() != RoomType.COMBAT || rooms[i] == UNKNOWN_COMBAT) { - rooms[i].setBoss((Boss) match.get(index + i)); + rooms[i] = match.get((index + i) % match.size()); } } + return true; } - - private static class Rotation extends ArrayList - { - Rotation(final Collection bosses) - { - super(bosses); - } - - @Override - public E get(int index) - { - if (index < 0) - { - index = index + size(); - } - - return super.get(index % size()); - } - } -} +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java index b6f8d1d86a..8448937d91 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/shortcuts/ShortcutPlugin.java @@ -11,12 +11,12 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.TileObject; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java index c273213ad6..014b476b9b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raidsthieving/RaidsThievingPlugin.java @@ -26,6 +26,10 @@ package net.runelite.client.plugins.raidsthieving; import com.google.inject.Provides; import java.awt.Color; +import java.time.Instant; +import java.util.HashMap; +import java.util.Map; +import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; @@ -38,13 +42,13 @@ import net.runelite.api.ObjectID; import net.runelite.api.Point; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GraphicsObjectCreated; import net.runelite.api.events.VarbitChanged; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; @@ -52,10 +56,6 @@ import net.runelite.client.plugins.raidsthieving.BatSolver.BatSolver; import net.runelite.client.plugins.raidsthieving.BatSolver.ChestIdentifier; import net.runelite.client.plugins.raidsthieving.BatSolver.ThievingRoomType; import net.runelite.client.ui.overlay.OverlayManager; -import javax.inject.Inject; -import java.time.Instant; -import java.util.HashMap; -import java.util.Map; @PluginDescriptor( name = "Raids Bat Finder", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java index 43c0885d27..4f9c926a88 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java @@ -37,13 +37,13 @@ import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.Player; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.InteractingChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.NpcDespawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reminders/RemindersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reminders/RemindersPlugin.java index f85b6d9e64..04d292d17e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reminders/RemindersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reminders/RemindersPlugin.java @@ -28,11 +28,13 @@ package net.runelite.client.plugins.reminders; import com.google.inject.Provides; import static java.lang.Math.floor; import static java.time.Duration.between; +import java.time.Instant; +import java.time.temporal.ChronoUnit; +import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; @@ -40,13 +42,11 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.task.Schedule; -import javax.inject.Inject; -import java.time.Instant; -import java.time.temporal.ChronoUnit; @PluginDescriptor( name = "Reminders", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java index 09baf49c33..85638b9d22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java @@ -37,7 +37,6 @@ import net.runelite.api.GameState; import net.runelite.api.HashTable; import net.runelite.api.Prayer; import net.runelite.api.WidgetNode; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.DraggingWidgetChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.WidgetLoaded; @@ -49,6 +48,7 @@ import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java index 1cb1ba2b02..ca90e7b599 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reportbutton/ReportButtonPlugin.java @@ -39,13 +39,13 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java index 8e58112e63..f8a057ed86 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java @@ -45,7 +45,7 @@ import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.VarPlayer; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.GameStateChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java index e06e11d5e8..c1d9e953eb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runedoku/RunedokuPlugin.java @@ -31,9 +31,9 @@ import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java index b3dbdc6b18..4255248a2b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchPlugin.java @@ -30,9 +30,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.runepouch.config.RunePouchOverlayMode; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java index a16d0473da..a12f659ede 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java @@ -42,7 +42,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; import net.runelite.client.input.MouseManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index c4f552c04f..c4b8d9a109 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -68,12 +68,12 @@ import net.runelite.api.SpriteID; import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.LocalPlayerDeath; import net.runelite.api.events.PlayerDeath; import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; import static net.runelite.api.widgets.WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID; @@ -89,6 +89,7 @@ import static net.runelite.client.RuneLite.SCREENSHOT_DIR; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.PlayerLootReceived; import net.runelite.client.game.SpriteManager; import net.runelite.client.input.KeyManager; @@ -103,7 +104,6 @@ import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java index 75f1419b63..7b56520bf3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/shiftwalker/ShiftWalkerPlugin.java @@ -34,12 +34,12 @@ import net.runelite.api.GameState; import net.runelite.api.MenuEntry; import net.runelite.api.MenuOpcode; import net.runelite.api.events.ClientTick; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.KeyManager; import net.runelite.client.menus.AbstractComparableEntry; import net.runelite.client.menus.MenuManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java index 44797f4968..e79886c2e4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculatorPlugin.java @@ -36,11 +36,11 @@ import net.runelite.api.Client; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SpriteManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index e8e03b6569..d7faa5ecc7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -65,7 +65,7 @@ import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.InteractingChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java index 902a424cdf..7686af235d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java @@ -34,6 +34,7 @@ import javax.inject.Singleton; import static net.runelite.api.AnimationID.SMITHING_CANNONBALL; import static net.runelite.api.AnimationID.SMITHING_SMELTING; import net.runelite.api.Client; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; @@ -50,6 +51,7 @@ import net.runelite.client.ui.overlay.components.table.TableComponent; class SmeltingOverlay extends Overlay { private static final int SMELT_TIMEOUT = 7; + static final String SMELTING_RESET = "Reset"; private final Client client; private final SmeltingPlugin plugin; @@ -66,6 +68,7 @@ class SmeltingOverlay extends Overlay this.xpTrackerService = xpTrackerService; setPosition(OverlayPosition.TOP_LEFT); getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Smelting overlay")); + getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, SMELTING_RESET, "Smelting overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java index a549677479..5638a4ec2d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java @@ -32,16 +32,19 @@ import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.ChatMessageType; +import net.runelite.api.MenuOpcode; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.ui.overlay.OverlayManager; +import net.runelite.client.ui.overlay.OverlayMenuEntry; @PluginDescriptor( name = "Smelting", @@ -99,6 +102,18 @@ public class SmeltingPlugin extends Plugin eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); eventBus.subscribe(ChatMessage.class, this, this::onChatMessage); eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + public void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + { + OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY + && overlayMenuClicked.getEntry().getOption().equals(SmeltingOverlay.SMELTING_RESET) + && overlayMenuClicked.getOverlay() == overlay) + { + session = null; + } } void onChatMessage(ChatMessage event) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java index 5d7303448b..7062b2038d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spawntimer/SpawnTimerPlugin.java @@ -13,18 +13,18 @@ import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.GameState; import net.runelite.api.NPC; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; +import net.runelite.api.util.Text; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Spawn Timer", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java index fc89a74dc9..1db33e4d1f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java @@ -44,18 +44,25 @@ import net.runelite.api.Point; import static net.runelite.api.ScriptID.MAGIC_SPELLBOOK_REDRAW; import net.runelite.api.VarClientInt; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.WidgetMenuOptionClicked; +import net.runelite.api.util.Text; import net.runelite.api.vars.InterfaceTab; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; -import static net.runelite.api.widgets.WidgetInfo.*; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTERED_BOUNDS; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTERED_SPELLS_PARENT; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTON; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTONS_PARENT; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_BUTTON_PARENT; +import static net.runelite.api.widgets.WidgetInfo.SPELLBOOK_FILTER_SECTION_PARENT; +import static net.runelite.api.widgets.WidgetInfo.SPELL_TOOLTIP; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.input.MouseManager; import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.WidgetMenuOption; @@ -64,7 +71,6 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; import static net.runelite.client.util.MiscUtils.clamp; -import net.runelite.api.util.Text; import org.apache.commons.lang3.StringUtils; @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java index 3b7e8eecdb..14df6900df 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsPlugin.java @@ -24,25 +24,25 @@ */ package net.runelite.client.plugins.statusbars; -import javax.inject.Inject; - import com.google.common.collect.Maps; import com.google.inject.Provides; -import javax.inject.Singleton; -import lombok.Getter; import java.time.Duration; import java.time.Instant; import java.util.Arrays; import java.util.List; +import java.util.Map; +import javax.inject.Inject; +import javax.inject.Singleton; import lombok.AccessLevel; +import lombok.Getter; import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.NPC; import net.runelite.api.NPCDefinition; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; @@ -55,9 +55,6 @@ import net.runelite.client.plugins.statusbars.renderer.PrayerRenderer; import net.runelite.client.plugins.statusbars.renderer.SpecialAttackRenderer; import net.runelite.client.ui.overlay.OverlayManager; - -import java.util.Map; - @PluginDescriptor( name = "Status Bars", description = "Draws status bars next to players inventory showing currentValue and restore amounts", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java index 2e5659d858..af4d6617d6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusorbs/StatusOrbsPlugin.java @@ -43,7 +43,6 @@ import net.runelite.api.SpriteID; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; @@ -53,6 +52,7 @@ import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/stonedtracker/StonedTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/stonedtracker/StonedTrackerPlugin.java index 56fceb8de3..e32015a690 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/stonedtracker/StonedTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/stonedtracker/StonedTrackerPlugin.java @@ -40,7 +40,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.ItemDefinition; import net.runelite.api.NpcID; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; @@ -49,6 +48,7 @@ import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java index 2287f7cf2a..29f2fb3f43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/stretchedmode/StretchedModePlugin.java @@ -29,7 +29,7 @@ import com.google.inject.Provides; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.ResizeableChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java index 03d3a7fccf..cc90977b22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/theatre/TheatrePlugin.java @@ -19,7 +19,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.NpcDefinitionChanged; @@ -31,6 +30,7 @@ import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.graphics.ModelOutlineRenderer; import net.runelite.client.menus.MenuManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java index a92fd4f3e1..9fa1fc47fe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/thieving/ThievingPlugin.java @@ -40,12 +40,12 @@ import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.GameState; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java index 066b0163ad..dace016484 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ticktimers/TickTimersPlugin.java @@ -36,13 +36,13 @@ import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.NPC; import net.runelite.api.NpcID; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.NPCManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java index 79276eb09b..40db3ebaaf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsPlugin.java @@ -30,9 +30,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index de2d73c5d1..85a758a630 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -55,7 +55,7 @@ import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java index 4cd5d88456..027769f892 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timestamp/TimestampPlugin.java @@ -38,7 +38,7 @@ import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.MessageNode; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java index e3f7ccbb0f..64d0a80a14 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeTrackingPlugin.java @@ -36,7 +36,7 @@ import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.UsernameChanged; import net.runelite.api.widgets.Widget; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java index c3295578f9..cca15f8b14 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tithefarm/TitheFarmPlugin.java @@ -35,7 +35,7 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.GameObject; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; import net.runelite.client.config.ConfigManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java index 3058389505..ffcd191873 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java @@ -40,13 +40,13 @@ import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.CommandExecuted; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.kit.KitType; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java index b409c84217..7e8e95f067 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/twitch/TwitchPlugin.java @@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java index 719b55a6b4..902c695b67 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/virtuallevels/VirtualLevelsPlugin.java @@ -31,7 +31,7 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.Skill; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java index de9324464f..7d8266a864 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/vorkath/VorkathPlugin.java @@ -47,7 +47,6 @@ import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ClientTick; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameTick; @@ -59,6 +58,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java index 9a793b1f2b..fb3a98911e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/warindicators/WarIndicatorPlugin.java @@ -31,24 +31,13 @@ import javax.inject.Singleton; import lombok.AccessLevel; import lombok.Getter; import net.runelite.api.Client; -import static net.runelite.api.MenuOpcode.FOLLOW; -import static net.runelite.api.MenuOpcode.ITEM_USE_ON_PLAYER; -import static net.runelite.api.MenuOpcode.PLAYER_EIGTH_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_FIFTH_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_FIRST_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_FOURTH_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_SECOND_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_SEVENTH_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_SIXTH_OPTION; -import static net.runelite.api.MenuOpcode.PLAYER_THIRD_OPTION; -import static net.runelite.api.MenuOpcode.SPELL_CAST_ON_PLAYER; -import static net.runelite.api.MenuOpcode.TRADE; import net.runelite.api.MenuEntry; +import static net.runelite.api.MenuOpcode.*; import net.runelite.api.Player; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java index 33185950a7..9d5769fee2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/whalewatchers/WhaleWatchersPlugin.java @@ -31,7 +31,6 @@ import net.runelite.api.Varbits; import net.runelite.api.WorldType; import static net.runelite.api.WorldType.isPvpWorld; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.ItemContainerChanged; @@ -40,6 +39,7 @@ import net.runelite.api.events.VarbitChanged; import net.runelite.api.kit.KitType; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.Sound; import net.runelite.client.game.SoundManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java index 6083699540..f599a41428 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java @@ -24,7 +24,6 @@ import net.runelite.api.VarClientStr; import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.widgets.WidgetInfo; @@ -32,6 +31,7 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.Keybind; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.WorldLocation; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java index 9212ff3e94..dfba3b554e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java @@ -47,7 +47,6 @@ import net.runelite.api.Player; import net.runelite.api.Varbits; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.VarbitChanged; @@ -55,6 +54,7 @@ import net.runelite.client.Notifier; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.wintertodt.config.WintertodtNotifyMode; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java index 697f82d6ac..b5c14fec6f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingOverlay.java @@ -30,6 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; +import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY; import static net.runelite.api.MenuOpcode.RUNELITE_OVERLAY_CONFIG; import net.runelite.api.Skill; import net.runelite.client.plugins.xptracker.XpTrackerService; @@ -46,6 +47,8 @@ import net.runelite.client.ui.overlay.components.table.TableComponent; @Singleton class WoodcuttingOverlay extends Overlay { + static final String WOODCUTTING_RESET = "Reset"; + private final Client client; private final WoodcuttingPlugin plugin; private final XpTrackerService xpTrackerService; @@ -61,6 +64,7 @@ class WoodcuttingOverlay extends Overlay this.plugin = plugin; this.xpTrackerService = xpTrackerService; getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Woodcutting overlay")); + getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, WOODCUTTING_RESET, "Woodcutting overlay")); } @Override diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index 5fa67a2d65..a9c2520eea 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -38,10 +38,10 @@ import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.GameState; import net.runelite.api.ItemID; +import net.runelite.api.MenuOpcode; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -50,12 +50,15 @@ import net.runelite.api.events.GameTick; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; +import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.ui.overlay.OverlayManager; +import net.runelite.client.ui.overlay.OverlayMenuEntry; @PluginDescriptor( name = "Woodcutting", @@ -150,6 +153,18 @@ public class WoodcuttingPlugin extends Plugin eventBus.subscribe(GameObjectChanged.class, this, this::onGameObjectChanged); eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged); eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); + eventBus.subscribe(OverlayMenuClicked.class, this, this::onOverlayMenuClicked); + } + + private void onOverlayMenuClicked(OverlayMenuClicked overlayMenuClicked) + { + OverlayMenuEntry overlayMenuEntry = overlayMenuClicked.getEntry(); + if (overlayMenuEntry.getMenuOpcode() == MenuOpcode.RUNELITE_OVERLAY + && overlayMenuClicked.getEntry().getOption().equals(WoodcuttingOverlay.WOODCUTTING_RESET) + && overlayMenuClicked.getOverlay() == overlay) + { + session = null; + } } private void onGameTick(GameTick gameTick) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index 704b145fdc..e7bf1985ea 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -59,7 +59,7 @@ import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuEntryAdded; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java index 18c1cd666f..2248a0ccc9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java @@ -35,7 +35,7 @@ import net.runelite.api.GameState; import net.runelite.api.Quest; import net.runelite.api.QuestState; import net.runelite.api.Skill; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.StatChanged; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.WidgetID; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java index 89f99eee94..6e0671dfc5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpglobes/XpGlobesPlugin.java @@ -38,11 +38,11 @@ import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.Skill; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.StatChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 4c8c448c44..4328313b48 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -45,24 +45,25 @@ import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.Experience; import net.runelite.api.GameState; -import net.runelite.api.MenuOpcode; import net.runelite.api.MenuEntry; +import net.runelite.api.MenuOpcode; import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; import net.runelite.api.WorldType; -import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.StatChanged; +import net.runelite.api.util.Text; import net.runelite.api.widgets.WidgetID; import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.NPCManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.plugins.Plugin; @@ -73,7 +74,6 @@ import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ImageUtil; -import net.runelite.api.util.Text; import net.runelite.http.api.xp.XpClient; @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java index 21af699278..4033e4e843 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java @@ -30,7 +30,7 @@ import com.google.inject.Provides; import java.awt.event.KeyEvent; import net.runelite.api.Client; import net.runelite.api.ScriptID; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.FocusChanged; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.callback.ClientThread; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 609a02b757..10f95aa28e 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -71,7 +71,7 @@ import net.runelite.api.Constants; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.Point; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index 05df4f81d4..92e70c87d8 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -36,7 +36,7 @@ import java.util.function.Predicate; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.eventbus.EventBus; import net.runelite.client.util.AsyncBufferedImage; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java index d47ae44d81..893a88771b 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java @@ -33,7 +33,7 @@ import net.runelite.api.Client; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.api.events.ConfigChanged; +import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java new file mode 100644 index 0000000000..5c2bba30e6 --- /dev/null +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2019, 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.raids; + +import static net.runelite.client.plugins.raids.RaidRoom.GUARDIANS; +import static net.runelite.client.plugins.raids.RaidRoom.MUTTADILES; +import static net.runelite.client.plugins.raids.RaidRoom.MYSTICS; +import static net.runelite.client.plugins.raids.RaidRoom.SHAMANS; +import static net.runelite.client.plugins.raids.RaidRoom.TEKTON; +import static net.runelite.client.plugins.raids.RaidRoom.UNKNOWN_COMBAT; +import static net.runelite.client.plugins.raids.RaidRoom.VANGUARDS; +import static net.runelite.client.plugins.raids.RaidRoom.VASA; +import static net.runelite.client.plugins.raids.RaidRoom.VESPULA; +import static org.junit.Assert.assertArrayEquals; +import org.junit.Test; + +public class RotationSolverTest +{ + @Test + public void testSolve1() + { + RaidRoom[] rooms = new RaidRoom[]{VESPULA, UNKNOWN_COMBAT, UNKNOWN_COMBAT, VANGUARDS}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{VESPULA, SHAMANS, VASA, VANGUARDS}, rooms); + } + + @Test + public void testSolve2() + { + RaidRoom[] rooms = new RaidRoom[]{UNKNOWN_COMBAT, UNKNOWN_COMBAT, MUTTADILES, TEKTON}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{VESPULA, GUARDIANS, MUTTADILES, TEKTON}, rooms); + } + + @Test + public void testSolve3() + { + RaidRoom[] rooms = new RaidRoom[]{TEKTON, UNKNOWN_COMBAT, GUARDIANS, MYSTICS}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{TEKTON, VASA, GUARDIANS, MYSTICS}, rooms); + } + + @Test + public void testSolve4() + { + RaidRoom[] rooms = new RaidRoom[]{VASA, UNKNOWN_COMBAT, UNKNOWN_COMBAT, GUARDIANS}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{VASA, SHAMANS, VESPULA, GUARDIANS}, rooms); + } +} \ No newline at end of file diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/timestamp/TimestampPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/timestamp/TimestampPluginTest.java index cb4539647c..046b67f9b8 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/timestamp/TimestampPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/timestamp/TimestampPluginTest.java @@ -30,8 +30,8 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.util.TimeZone; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.events.ConfigChanged; import net.runelite.client.config.OpenOSRSConfig; +import net.runelite.client.events.ConfigChanged; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test;