From d55cd1a605eb5ea9264d0175ce7e550fd456ad9a Mon Sep 17 00:00:00 2001 From: Kyleeld <48519776+Kyleeld@users.noreply.github.com> Date: Sat, 25 May 2019 20:23:22 +0100 Subject: [PATCH] menu modifier change --- .../plugins/easyscape/EasyscapeConfig.java | 893 --------- .../plugins/easyscape/EasyscapePlugin.java | 549 ------ .../MenuEntrySwapperConfig.java | 1622 +++++++++++++---- .../MenuEntrySwapperPlugin.java | 1131 ++++++++---- .../util/BurningAmuletMode.java | 2 +- .../util/CombatBraceletMode.java | 2 +- .../util/DigsitePendantMode.java | 2 +- .../util/DuelingRingMode.java | 2 +- .../{ => util}/FairyRingMode.java | 2 +- .../util/GamesNecklaceMode.java | 4 +- .../util/GloryMode.java | 2 +- .../{ => util}/HouseMode.java | 2 +- .../util/MaxCapeMode.java | 2 +- .../util/NecklaceOfPassageMode.java | 6 +- .../{ => util}/ObeliskMode.java | 2 +- .../{ => util}/OccultAltarMode.java | 2 +- .../util/RingOfWealthMode.java | 2 +- .../util/SkillsNecklaceMode.java | 2 +- .../util/SlayerRingMode.java | 2 +- .../util/XericsTalismanMode.java | 2 +- 20 files changed, 2125 insertions(+), 2108 deletions(-) delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapeConfig.java delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapePlugin.java rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/BurningAmuletMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/CombatBraceletMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/DigsitePendantMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/DuelingRingMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/{ => util}/FairyRingMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/GamesNecklaceMode.java (95%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/GloryMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/{ => util}/HouseMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/MaxCapeMode.java (87%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/NecklaceOfPassageMode.java (92%) rename runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/{ => util}/ObeliskMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/{ => util}/OccultAltarMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/RingOfWealthMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/SkillsNecklaceMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/SlayerRingMode.java (96%) rename runelite-client/src/main/java/net/runelite/client/plugins/{easyscape => menuentryswapper}/util/XericsTalismanMode.java (96%) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapeConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapeConfig.java deleted file mode 100644 index 719b250351..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapeConfig.java +++ /dev/null @@ -1,893 +0,0 @@ -/* - * Copyright (c) 2018, Alan Baumgartner - * Copyright (c) 2018, https://runelitepl.us - * Copyright (c) 2018, Kyle - * Copyright (c) 2018, Owain van Brakel - * 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.easyscape; - -import net.runelite.client.config.Config; -import net.runelite.client.config.ConfigGroup; -import net.runelite.client.config.ConfigItem; -import net.runelite.client.plugins.easyscape.util.DuelingRingMode; -import net.runelite.client.plugins.easyscape.util.GamesNecklaceMode; -import net.runelite.client.plugins.easyscape.util.GloryMode; -import net.runelite.client.plugins.easyscape.util.MaxCapeMode; -import net.runelite.client.plugins.easyscape.util.SkillsNecklaceMode; -import net.runelite.client.plugins.easyscape.util.NecklaceOfPassageMode; -import net.runelite.client.plugins.easyscape.util.DigsitePendantMode; -import net.runelite.client.plugins.easyscape.util.CombatBraceletMode; -import net.runelite.client.plugins.easyscape.util.SlayerRingMode; -import net.runelite.client.plugins.easyscape.util.BurningAmuletMode; -import net.runelite.client.plugins.easyscape.util.XericsTalismanMode; -import net.runelite.client.plugins.easyscape.util.RingOfWealthMode; - -@ConfigGroup("easyscape") -public interface EasyscapeConfig extends Config -{ - @ConfigItem( - keyName = "withdrawOne", - name = "Withdraw/Deposit One", - description = "", - position = 0, - group = "Banking" - ) - default boolean getWithdrawOne() - { - return false; - } - - @ConfigItem( - keyName = "withdrawOneItems", - name = "Items", - description = "", - position = 1, - group = "Banking", - hidden = true, - unhide = "withdrawOne" - ) - default String getWithdrawOneItems() - { - return ""; - } - - @ConfigItem( - keyName = "withdrawFive", - name = "Withdraw/Deposit Five", - description = "", - position = 2, - group = "Banking" - ) - default boolean getWithdrawFive() - { - return false; - } - - @ConfigItem( - keyName = "withdrawFiveItems", - name = "Items", - description = "", - position = 3, - group = "Banking", - hidden = true, - unhide = "withdrawFive" - ) - default String getWithdrawFiveItems() - { - return ""; - } - - @ConfigItem( - keyName = "withdrawTen", - name = "Withdraw/Deposit Ten", - description = "", - position = 4, - group = "Banking" - ) - default boolean getWithdrawTen() - { - return false; - } - - @ConfigItem( - keyName = "withdrawTenItems", - name = "Items", - description = "", - position = 5, - group = "Banking", - hidden = true, - unhide = "withdrawTen" - ) - default String getWithdrawTenItems() - { - return ""; - } - - @ConfigItem( - keyName = "withdrawX", - name = "Withdraw/Deposit X", - description = "", - position = 6, - group = "Banking" - ) - default boolean getWithdrawX() - { - return false; - } - - @ConfigItem( - keyName = "withdrawXAmount", - name = "Amount", - description = "", - position = 7, - group = "Banking", - hidden = true, - unhide = "withdrawX" - ) - default String getWithdrawXAmount() - { - return ""; - } - - @ConfigItem( - keyName = "withdrawXItems", - name = "Items", - description = "", - position = 8, - group = "Banking", - hidden = true, - unhide = "withdrawX" - ) - default String getWithdrawXItems() - { - return ""; - } - - @ConfigItem( - keyName = "withdrawAll", - name = "Withdraw/Deposit All", - description = "", - position = 9, - group = "Banking" - ) - default boolean getWithdrawAll() - { - return false; - } - - @ConfigItem( - keyName = "withdrawAllItems", - name = "Items", - description = "", - position = 10, - group = "Banking", - hidden = true, - unhide = "withdrawAll" - ) - default String getWithdrawAllItems() - { - return ""; - } - -// ----------------------------------------------------------- // - - @ConfigItem( - keyName = "removeObjects", - name = "Remove Objects", - description = "Removes interaction with the listed objects.", - position = 12, - group = "Miscellaneous easyscape" - ) - default boolean getRemoveObjects() - { - return false; - } - - @ConfigItem( - keyName = "removedObjects", - name = "Objects", - description = "Objects listed here will have all interaction be removed.", - position = 13, - group = "Miscellaneous easyscape", - hidden = true, - unhide = "removeObjects" - ) - default String getRemovedObjects() - { - return ""; - } - -// ----------------------------------------------------------- // - - @ConfigItem( - keyName = "swapBuyOne", - name = "Swappable Buy One", - description = "", - position = 14, - group = "Shop / stores" - ) - default boolean getSwapBuyOne() - { - return false; - } - - @ConfigItem( - keyName = "buyOneItems", - name = "Items", - description = "", - position = 15, - group = "Shop / stores", - hidden = true, - unhide = "swapBuyOne" - ) - default String getBuyOneItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapBuyFive", - name = "Swappable Buy Five", - description = "", - position = 16, - group = "Shop / stores" - ) - default boolean getSwapBuyFive() - { - return false; - } - - @ConfigItem( - keyName = "buyFiveItems", - name = "Items", - description = "", - position = 17, - group = "Shop / stores", - hidden = true, - unhide = "swapBuyFive" - ) - default String getBuyFiveItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapBuyTen", - name = "Swappable Buy Ten", - description = "", - position = 18, - group = "Shop / stores" - ) - default boolean getSwapBuyTen() - { - return false; - } - - @ConfigItem( - keyName = "buyTenItems", - name = "Items", - description = "", - position = 19, - group = "Shop / stores", - hidden = true, - unhide = "swapBuyTen" - ) - default String getBuyTenItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapBuyFifty", - name = "Swappable Buy Fifty", - description = "", - position = 20, - group = "Shop / stores" - ) - default boolean getSwapBuyFifty() - { - return false; - } - - @ConfigItem( - keyName = "buyFiftyItems", - name = "Items", - description = "", - position = 21, - group = "Shop / stores", - hidden = true, - unhide = "swapBuyFifty" - ) - default String getBuyFiftyItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapSellOne", - name = "Swappable Sell One", - description = "", - position = 22, - group = "Shop / stores" - ) - default boolean getSwapSellOne() - { - return false; - } - - @ConfigItem( - keyName = "sellOneItems", - name = "Items", - description = "", - position = 23, - group = "Shop / stores", - hidden = true, - unhide = "swapSellOne" - ) - default String getSellOneItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapSellFive", - name = "Swappable Sell Five", - description = "", - position = 24, - group = "Shop / stores" - ) - default boolean getSwapSellFive() - { - return false; - } - - @ConfigItem( - keyName = "sellFiveItems", - name = "Items", - description = "", - position = 25, - group = "Shop / stores", - hidden = true, - unhide = "swapSellFive" - ) - default String getSellFiveItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapSellTen", - name = "Swappable Sell Ten", - description = "", - position = 26, - group = "Shop / stores" - ) - default boolean getSwapSellTen() - { - return false; - } - - @ConfigItem( - keyName = "sellTenItems", - name = "Items", - description = "", - position = 27, - group = "Shop / stores", - hidden = true, - unhide = "swapSellTen" - ) - default String getSellTenItems() - { - return ""; - } - - @ConfigItem( - keyName = "swapSellFifty", - name = "Swappable Sell Fifty", - description = "", - position = 28, - group = "Shop / stores" - ) - default boolean getSwapSellFifty() - { - return false; - } - - @ConfigItem( - keyName = "sellFiftyItems", - name = "Items", - description = "", - position = 29, - group = "Shop / stores", - hidden = true, - unhide = "swapSellFifty" - ) - default String getSellFiftyItems() - { - return ""; - } - -// ----------------------------------------------------------- // - - @ConfigItem( - keyName = "easyConstruction", - name = "Easy Construction", - description = "Makes \"Remove\"/\"Build\" the default option for listed item ID's in build mode.
Tip: Use dev tools \"Game Objects\" to find out the ID!", - position = 30, - group = "Miscellaneous swapper" - ) - default boolean getEasyConstruction() - { - return false; - } - - @ConfigItem( - keyName = "constructionItems", - name = "Construction Items", - description = "Makes \"Remove\"/\"Build\" the default option for listed item ID's in build mode.
Tip: Use dev tools \"Game Objects\" to find out the ID, and seperate values with a ','", - position = 31, - group = "Miscellaneous swapper", - hidden = true, - unhide = "easyConstruction" - ) - default String getConstructionItems() - { - return ""; - } - - - @ConfigItem( - keyName = "swapSmithing", - name = "Swap Smithing", - description = "Enables swapping of smith-1 and smith-all options.", - position = 32, - group = "Miscellaneous swapper" - ) - default boolean getSwapSmithing() - { - return false; - } - - @ConfigItem( - keyName = "swapTanning", - name = "Swap Tanning", - description = "Enables swapping of tan-1 and tan-all options.", - position = 33, - group = "Miscellaneous swapper" - ) - default boolean getSwapTanning() - { - return false; - } - - @ConfigItem( - keyName = "swapSawmill", - name = "Swap Sawmill Operator", - description = "Makes Buy-plank the default option on the sawmill operator.", - position = 34, - group = "Miscellaneous swapper" - ) - default boolean getSwapSawmill() - { - return false; - } - - @ConfigItem( - keyName = "swapSawmillPlanks", - name = "Swap Buy Planks", - description = "Makes Buy All the default option in buy planks.", - position = 35, - group = "Miscellaneous swapper" - ) - default boolean getSwapSawmillPlanks() - { - return false; - } - - @ConfigItem( - keyName = "swapPuroPuro", - name = "Swap Puro Puro Wheat", - description = "", - position = 36, - group = "Miscellaneous swapper" - ) - default boolean getSwapPuro() - { - return false; - } - -// ----------------------------------------------------------- // - - @ConfigItem( - keyName = "swapGamesNecklace", - name = "Swap Games Necklace", - description = "", - position = 37, - group = "Jewellery swapper" - ) - default boolean getGamesNecklace() - { - return false; - } - - @ConfigItem( - keyName = "gamesNecklaceMode", - name = "Mode", - description = "", - position = 38, - group = "Jewellery swapper", - hidden = true, - unhide = "swapGamesNecklace" - ) - default GamesNecklaceMode getGamesNecklaceMode() - { - return GamesNecklaceMode.BURTHORPE; - } - - @ConfigItem( - keyName = "swapDuelingRing", - name = "Swap Dueling Ring", - description = "", - position = 39, - group = "Jewellery swapper" - ) - default boolean getDuelingRing() - { - return false; - } - - @ConfigItem( - keyName = "duelingRingMode", - name = "Mode", - description = "", - position = 40, - group = "Jewellery swapper", - hidden = true, - unhide = "swapDuelingRing" - ) - default DuelingRingMode getDuelingRingMode() - { - return DuelingRingMode.DUEL_ARENA; - } - - @ConfigItem( - keyName = "swapGlory", - name = "Swap Glory", - description = "", - position = 41, - group = "Jewellery swapper" - ) - default boolean getGlory() - { - return false; - } - - @ConfigItem( - keyName = "gloryMode", - name = "Mode", - description = "", - position = 42, - group = "Jewellery swapper", - hidden = true, - unhide = "swapGlory" - ) - default GloryMode getGloryMode() - { - return GloryMode.EDGEVILLE; - } - - @ConfigItem( - keyName = "swapSkill", - name = "Swap Skill", - description = "", - position = 43, - group = "Jewellery swapper" - ) - default boolean getSkillsNecklace() - { - return false; - } - - @ConfigItem( - keyName = "skillsnecklacemode", - name = "Mode", - description = "", - position = 44, - group = "Jewellery swapper", - hidden = true, - unhide = "swapSkill" - ) - default SkillsNecklaceMode getSkillsNecklaceMode() - { - return SkillsNecklaceMode.FARMING_GUILD; - } - - @ConfigItem( - keyName = "swapPassage", - name = "Swap Passage", - description = "", - position = 45, - group = "Jewellery swapper" - ) - default boolean getNecklaceofPassage() - { - return false; - } - - @ConfigItem( - keyName = "necklaceofpassagemode", - name = "Mode", - description = "", - position = 46, - group = "Jewellery swapper", - hidden = true, - unhide = "swapPassage" - ) - default NecklaceOfPassageMode getNecklaceofPassageMode() - { - return NecklaceOfPassageMode.WIZARDS_TOWER; - } - - @ConfigItem( - keyName = "swapDigsite", - name = "Swap Digsite", - description = "", - position = 47, - group = "Jewellery swapper" - ) - default boolean getDigsitePendant() - { - return false; - } - - @ConfigItem( - keyName = "digsitependantmode", - name = "Mode", - description = "", - position = 48, - group = "Jewellery swapper", - hidden = true, - unhide = "swapDigsite" - ) - default DigsitePendantMode getDigsitePendantMode() - { - return DigsitePendantMode.FOSSIL_ISLAND; - } - - @ConfigItem( - keyName = "swapCombat", - name = "Swap Combat", - description = "", - position = 49, - group = "Jewellery swapper" - ) - default boolean getCombatBracelet() - { - return false; - } - - @ConfigItem( - keyName = "combatbraceletmode", - name = "Mode", - description = "", - position = 50, - group = "Jewellery swapper", - hidden = true, - unhide = "swapCombat" - ) - default CombatBraceletMode getCombatBraceletMode() - { - return CombatBraceletMode.WARRIORS_GUILD; - } - - @ConfigItem( - keyName = "swapslayer", - name = "Swap slayer", - description = "", - position = 51, - group = "Jewellery swapper" - ) - default boolean getSlayerRing() - { - return false; - } - - @ConfigItem( - keyName = "slayerringmode", - name = "Mode", - description = "", - position = 52, - group = "Jewellery swapper", - hidden = true, - unhide = "swapslayer" - ) - default SlayerRingMode getSlayerRingMode() - { - return SlayerRingMode.CHECK; - } - - @ConfigItem( - keyName = "swapburning", - name = "Swap burning", - description = "", - position = 53, - group = "Jewellery swapper" - ) - default boolean getBurningAmulet() - { - return false; - } - - @ConfigItem( - keyName = "burningamuletmode", - name = "Mode", - description = "", - position = 54, - group = "Jewellery swapper", - hidden = true, - unhide = "swapburning" - ) - default BurningAmuletMode getBurningAmuletMode() - { - return BurningAmuletMode.BANDIT_CAMP; - } - - @ConfigItem( - keyName = "swapxeric", - name = "Swap xeric", - description = "", - position = 55, - group = "Jewellery swapper" - ) - default boolean getXericsTalisman() - { - return false; - } - - @ConfigItem( - keyName = "xericstalismanmode", - name = "Mode", - description = "", - position = 56, - group = "Jewellery swapper", - hidden = true, - unhide = "swapxeric" - ) - default XericsTalismanMode getXericsTalismanMode() - { - return XericsTalismanMode.XERICS_LOOKOUT; - } - - @ConfigItem( - keyName = "swapwealth", - name = "Swap wealth", - description = "", - position = 57, - group = "Jewellery swapper" - ) - default boolean getRingofWealth() - { - return false; - } - - @ConfigItem( - keyName = "ringofwealthmode", - name = "Mode", - description = "", - position = 58, - group = "Jewellery swapper", - hidden = true, - unhide = "swapwealth" - ) - default RingOfWealthMode getRingofWealthMode() - { - return RingOfWealthMode.GRAND_EXCHANGE; - } - -// ----------------------------------------------------------- // - - @ConfigItem( - keyName = "swapMax", - name = "Swap max cape", - description = "Enables swapping max cape options in worn interface", - position = 59, - group = "Equipment swapper" - ) - default boolean swapMax() - { - return false; - } - - @ConfigItem( - keyName = "maxMode", - name = "Max cape mode", - description = "", - position = 60, - group = "Equipment swapper" - ) - default MaxCapeMode maxMode() - { - return MaxCapeMode.CRAFTING_GUILD; - } - - @ConfigItem( - keyName = "swapArdougneCape", - name = "Swap Ardougne Cape", - description = "Enables swapping of teleport and wear.", - position = 59, - group = "Equipment swapper" - ) - default boolean getSwapArdougneCape() - { - return false; - } - - @ConfigItem( - keyName = "swapConstructionCape", - name = "Swap Construction Cape", - description = "Enables swapping of teleport and wear.", - position = 60, - group = "Equipment swapper" - ) - default boolean getSwapConstructionCape() - { - return true; - } - - @ConfigItem( - keyName = "swapCraftingCape", - name = "Swap Crafting Cape", - description = "Enables swapping of teleport and wear.", - position = 61, - group = "Equipment swapper" - ) - default boolean getSwapCraftingCape() - { - return true; - } - - @ConfigItem( - keyName = "swapMagicCape", - name = "Swap Magic Cape", - description = "Enables swapping of spellbook and wear.", - position = 62, - group = "Equipment swapper" - ) - default boolean getSwapMagicCape() - { - return true; - } - - @ConfigItem( - keyName = "swapExplorersRing", - name = "Swap Explorers Ring", - description = "Enables swapping of spellbook and wear.", - position = 63, - group = "Equipment swapper" - ) - default boolean getSwapExplorersRing() - { - return true; - } -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapePlugin.java deleted file mode 100644 index 40d243ecb8..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/EasyscapePlugin.java +++ /dev/null @@ -1,549 +0,0 @@ -/* - * Copyright (c) 2018, Alan Baumgartner - * Copyright (c) 2018, https://runelitepl.us - * Copyright (c) 2018, Kyle - * Copyright (c) 2018, Owain van Brakel - * 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.easyscape; - -import com.google.common.base.Strings; -import com.google.inject.Provides; -import java.util.HashSet; -import java.util.Set; -import javax.inject.Inject; -import net.runelite.api.Client; -import net.runelite.api.GameState; -import net.runelite.api.MenuAction; -import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; -import static net.runelite.api.MenuAction.WALK; -import net.runelite.api.MenuEntry; -import net.runelite.api.Player; -import static net.runelite.api.Varbits.BUILDING_MODE; -import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ConfigChanged; -import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.MenuEntryAdded; -import net.runelite.api.events.VarbitChanged; -import net.runelite.client.config.ConfigManager; -import net.runelite.client.eventbus.Subscribe; -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 static net.runelite.client.util.MenuUtil.swap; -import net.runelite.client.util.Text; -import org.apache.commons.lang3.ArrayUtils; - - -@PluginDescriptor( - name = "Easyscape", - type = PluginType.UTILITY -) -public class EasyscapePlugin extends Plugin -{ - private static final int PURO_PURO_REGION_ID = 10307; - - private MenuEntry[] entries; - private final Set leftClickConstructionIDs = new HashSet<>(); - private boolean buildingMode; - - @Inject - private Client client; - - @Inject - private EasyscapeConfig config; - - @Inject - private MenuManager menuManager; - - @Provides - EasyscapeConfig provideConfig(ConfigManager configManager) - { - return configManager.getConfig(EasyscapeConfig.class); - } - - @Override - public void startUp() - { - addSwaps(); - loadConstructionIDs(config.getConstructionItems()); - } - - @Override - public void shutDown() - { - removeSwaps(); - loadConstructionIDs(""); - } - - @Subscribe - public void onGameStateChanged(GameStateChanged event) - { - if (client.getGameState() != GameState.LOGGED_IN) - { - return; - } - - loadConstructionIDs(config.getConstructionItems()); - } - - @Subscribe - public void onVarbitChanged(VarbitChanged event) - { - buildingMode = client.getVar(BUILDING_MODE) == 1; - } - - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) - { - if (client.getGameState() != GameState.LOGGED_IN) - { - return; - } - - final String option = Text.standardize(event.getOption()); - final String target = Text.standardize(event.getTarget()); - - entries = client.getMenuEntries(); - - if (option.contains("withdraw") || option.contains("deposit")) - { - if (config.getWithdrawOne()) - { - for (String item : Text.fromCSV(config.getWithdrawOneItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Withdraw-1", option, target); - swap(client, "Deposit-1", option, target); - } - } - } - - if (config.getWithdrawFive()) - { - for (String item : Text.fromCSV(config.getWithdrawFiveItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Withdraw-5", option, target); - swap(client, "Deposit-5", option, target); - } - } - } - - if (config.getWithdrawTen()) - { - for (String item : Text.fromCSV(config.getWithdrawTenItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Withdraw-10", option, target); - swap(client, "Deposit-10", option, target); - } - } - } - - if (config.getWithdrawX()) - { - for (String item : Text.fromCSV(config.getWithdrawXItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Withdraw-" + config.getWithdrawXAmount(), option, target); - swap(client, "Deposit-" + config.getWithdrawXAmount(), option, target); - } - } - } - - if (config.getWithdrawAll()) - { - for (String item : Text.fromCSV(config.getWithdrawAllItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Withdraw-All", option, target); - swap(client, "Deposit-All", option, target); - } - } - } - } - - if (option.contains("buy")) - { - if (config.getSwapBuyOne() && !config.getBuyOneItems().equals("")) - { - for (String item : Text.fromCSV(config.getBuyOneItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Buy 1", option, target); - } - } - } - - if (config.getSwapBuyFive() && !config.getBuyFiveItems().equals("")) - { - for (String item : Text.fromCSV(config.getBuyFiveItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Buy 5", option, target); - } - } - } - - if (config.getSwapBuyTen() && !config.getBuyTenItems().equals("")) - { - for (String item : Text.fromCSV(config.getBuyTenItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Buy 10", option, target); - } - } - } - - if (config.getSwapBuyFifty() && !config.getBuyFiftyItems().equals("")) - { - for (String item : Text.fromCSV(config.getBuyFiftyItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Buy 50", option, target); - } - } - } - } - else if (option.contains("sell")) - { - if (config.getSwapSellOne() && !config.getSellOneItems().equals("")) - { - for (String item : Text.fromCSV(config.getSellOneItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Sell 1", option, target); - } - } - } - - if (config.getSwapSellFive() && !Strings.isNullOrEmpty(config.getSellFiveItems())) - { - for (String item : Text.fromCSV(config.getSellFiveItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Sell 5", option, target); - } - } - } - - if (config.getSwapSellTen() && !Strings.isNullOrEmpty(config.getSellTenItems())) - { - for (String item : Text.fromCSV(config.getSellTenItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Sell 10", option, target); - } - } - } - - if (config.getSwapSellFifty() && !Strings.isNullOrEmpty(config.getSellFiftyItems())) - { - for (String item : Text.fromCSV(config.getSellFiftyItems())) - { - if (target.equals(Text.standardize(item))) - { - swap(client, "Sell 50", option, target); - } - } - } - } - - if (config.getRemoveObjects() && !config.getRemovedObjects().equals("")) - { - for (String removed : Text.fromCSV(config.getRemovedObjects())) - { - removed = Text.standardize(removed); - if (target.contains("(") && target.split(" \\(")[0].equals(removed)) - { - delete(event.getIdentifier()); - } - else if (target.contains("->")) - { - String trimmed = target.split("->")[1].trim(); - if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed)) - { - delete(event.getIdentifier()); - break; - } - } - else if (target.length() >= removed.length() && target.substring(0, removed.length()).equalsIgnoreCase(removed)) - { - delete(event.getIdentifier()); - break; - } - } - } - - if (config.getSwapPuro() && isPuroPuro()) - { - if (event.getType() == WALK.getId()) - { - MenuEntry menuEntry = entries[entries.length - 1]; - menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); - } - else if (option.equalsIgnoreCase("examine")) - { - swap(client, "push-through", option, target); - } - else if (option.equalsIgnoreCase("use")) - { - swap(client, "escape", option, target); - } - } - - else if (config.getSwapSmithing() && option.contains("smith")) - { - if (option.equalsIgnoreCase("Smith 1")) - { - swap(client, "Smith All", option, target); - } - else if (option.equalsIgnoreCase("Smith 1 Set")) - { - swap(client, "Smith All Sets", option, target); - } - } - - else if (config.getSwapTanning() && option.equalsIgnoreCase("Tan 1")) - { - swap(client, "Tan All", option, target); - } - - else if (config.getSwapSawmill() && target.equalsIgnoreCase("Sawmill operator")) - { - swap(client, "Buy-plank", option, target); - } - - else if (config.getSwapSawmillPlanks() && option.equalsIgnoreCase("Buy 1")) - { - swap(client, "Buy All", option, target); - } - - else if (option.equalsIgnoreCase("Clear-All") && target.equalsIgnoreCase("Bank Filler")) - { - swap(client, "Clear", option, target); - } - - else if (target.contains("ardougne cloak") && config.getSwapArdougneCape()) - { - swap(client, "Kandarin Monastery", option, target); - swap(client, "Monastery Teleport", option, target); - } - - else if (target.contains("crafting cape") && config.getSwapCraftingCape()) - { - swap(client, "Teleport", option, target); - } - - else if (target.contains("construct. cape") && config.getSwapConstructionCape()) - { - swap(client, "Tele to poh", option, target); - } - - else if (target.contains("magic cape") && config.getSwapMagicCape()) - { - swap(client, "Spellbook", option, target); - } - - else if (target.contains("explorer's ring") && config.getSwapExplorersRing()) - { - swap(client, "Teleport", option, target); - } - } - - @Subscribe - public void onConfigChanged(ConfigChanged event) - { - if (!"easyscape".equals(event.getGroup())) - { - return; - } - - loadConstructionIDs(config.getConstructionItems()); - removeSwaps(); - addSwaps(); - } - - private void addSwaps() - { - if (config.getBurningAmulet()) - { - menuManager.addSwap("remove", "burning amulet", config.getBurningAmuletMode().toString()); - } - - if (config.getCombatBracelet()) - { - menuManager.addSwap("remove", "combat bracelet", config.getCombatBraceletMode().toString()); - } - - if (config.getGamesNecklace()) - { - menuManager.addSwap("remove", "games necklace", config.getGamesNecklaceMode().toString()); - } - - if (config.getDuelingRing()) - { - menuManager.addSwap("remove", "ring of dueling", config.getDuelingRingMode().toString()); - } - - if (config.getGlory()) - { - menuManager.addSwap("remove", "amulet of glory", config.getGloryMode().toString()); - menuManager.addSwap("remove", "amulet of eternal glory", config.getGloryMode().toString()); - } - - if (config.getSkillsNecklace()) - { - menuManager.addSwap("remove", "skills necklace", config.getSkillsNecklaceMode().toString()); - } - - if (config.getNecklaceofPassage()) - { - menuManager.addSwap("remove", "necklace of passage", config.getNecklaceofPassageMode().toString()); - } - - if (config.getDigsitePendant()) - { - menuManager.addSwap("remove", "digsite pendant", config.getDigsitePendantMode().toString()); - } - - if (config.getSlayerRing()) - { - menuManager.addSwap("remove", "slayer ring", config.getSlayerRingMode().toString()); - } - - if (config.getXericsTalisman()) - { - menuManager.addSwap("remove", "xeric's talisman", config.getXericsTalismanMode().toString()); - } - - if (config.getRingofWealth()) - { - menuManager.addSwap("remove", "ring of wealth", config.getRingofWealthMode().toString()); - } - - if (config.swapMax()) - { - menuManager.addSwap("remove", "max cape", config.maxMode().toString()); - } - } - - private void removeSwaps() - { - menuManager.removeSwaps("burning amulet"); - menuManager.removeSwaps("combat bracelet"); - menuManager.removeSwaps("games necklace"); - menuManager.removeSwaps("ring of dueling"); - menuManager.removeSwaps("amulet of glory"); - menuManager.removeSwaps("amulet of eternal glory"); - menuManager.removeSwaps("skills necklace"); - menuManager.removeSwaps("necklace of passage"); - menuManager.removeSwaps("digsite pendant"); - menuManager.removeSwaps("slayer ring"); - menuManager.removeSwaps("xeric's talisman"); - menuManager.removeSwaps("ring of wealth"); - } - - private void delete(int target) - { - for (int i = entries.length - 1; i >= 0; i--) - { - if (entries[i].getIdentifier() == target) - { - entries = ArrayUtils.remove(entries, i); - i--; - } - } - client.setMenuEntries(entries); - } - - private boolean isPuroPuro() - { - Player player = client.getLocalPlayer(); - - if (player == null) - { - return false; - } - else - { - WorldPoint location = player.getWorldLocation(); - return location.getRegionID() == PURO_PURO_REGION_ID; - } - } - - private void loadConstructionIDs(String from) - { - if (client.getGameState() != GameState.LOGGED_IN - || Strings.isNullOrEmpty(from) && leftClickConstructionIDs.isEmpty()) - { - return; - } - - if (!leftClickConstructionIDs.isEmpty()) - { - for (int i : leftClickConstructionIDs) - { - menuManager.toggleLeftClick("build", i, true); - menuManager.toggleLeftClick("remove", i, true); - } - - leftClickConstructionIDs.clear(); - } - - if (config.getEasyConstruction() && - !Strings.isNullOrEmpty(from) && - buildingMode) - { - for (String s : Text.fromCSV(from)) - { - int id = Integer.parseInt(s.replaceAll("[^0-9]", "")); - - if (leftClickConstructionIDs.contains(id)) - { - continue; - } - - if (menuManager.toggleLeftClick("build", id, false) - || menuManager.toggleLeftClick("remove", id, false)) - { - leftClickConstructionIDs.add(id); - } - } - } - } -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java index 24247a31ac..8a9f55780e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java @@ -1,6 +1,7 @@ - /* * Copyright (c) 2018, Adam + * Copyright (c) 2018, Kyle + * Copyright (c) 2018, lucouswin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,15 +29,279 @@ package net.runelite.client.plugins.menuentryswapper; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; +import net.runelite.client.plugins.menuentryswapper.util.BurningAmuletMode; +import net.runelite.client.plugins.menuentryswapper.util.CombatBraceletMode; +import net.runelite.client.plugins.menuentryswapper.util.DigsitePendantMode; +import net.runelite.client.plugins.menuentryswapper.util.DuelingRingMode; +import net.runelite.client.plugins.menuentryswapper.util.FairyRingMode; +import net.runelite.client.plugins.menuentryswapper.util.GamesNecklaceMode; +import net.runelite.client.plugins.menuentryswapper.util.GloryMode; +import net.runelite.client.plugins.menuentryswapper.util.HouseMode; +import net.runelite.client.plugins.menuentryswapper.util.MaxCapeMode; +import net.runelite.client.plugins.menuentryswapper.util.NecklaceOfPassageMode; +import net.runelite.client.plugins.menuentryswapper.util.ObeliskMode; +import net.runelite.client.plugins.menuentryswapper.util.OccultAltarMode; +import net.runelite.client.plugins.menuentryswapper.util.RingOfWealthMode; +import net.runelite.client.plugins.menuentryswapper.util.SkillsNecklaceMode; +import net.runelite.client.plugins.menuentryswapper.util.SlayerRingMode; +import net.runelite.client.plugins.menuentryswapper.util.XericsTalismanMode; + @ConfigGroup("menuentryswapper") public interface MenuEntrySwapperConfig extends Config { @ConfigItem( - position = -3, - keyName = "customSwaps", - name = "Custom swaps", - description = "Add custom swaps here, 1 per line. Syntax: option, target : option, target
Note that the first entry should be the left click one!" + keyName = "withdrawOne", + name = "Withdraw/Deposit One", + description = "", + position = 0, + group = "Banking" + ) + default boolean getWithdrawOne() + { + return false; + } + + @ConfigItem( + keyName = "withdrawOneItems", + name = "Items", + description = "", + position = 1, + group = "Banking", + hidden = true, + unhide = "withdrawOne" + ) + default String getWithdrawOneItems() + { + return ""; + } + + @ConfigItem( + keyName = "withdrawFive", + name = "Withdraw/Deposit Five", + description = "", + position = 2, + group = "Banking" + ) + default boolean getWithdrawFive() + { + return false; + } + + @ConfigItem( + keyName = "withdrawFiveItems", + name = "Items", + description = "", + position = 3, + group = "Banking", + hidden = true, + unhide = "withdrawFive" + ) + default String getWithdrawFiveItems() + { + return ""; + } + + @ConfigItem( + keyName = "withdrawTen", + name = "Withdraw/Deposit Ten", + description = "", + position = 4, + group = "Banking" + ) + default boolean getWithdrawTen() + { + return false; + } + + @ConfigItem( + keyName = "withdrawTenItems", + name = "Items", + description = "", + position = 5, + group = "Banking", + hidden = true, + unhide = "withdrawTen" + ) + default String getWithdrawTenItems() + { + return ""; + } + + @ConfigItem( + keyName = "withdrawX", + name = "Withdraw/Deposit X", + description = "", + position = 6, + group = "Banking" + ) + default boolean getWithdrawX() + { + return false; + } + + @ConfigItem( + keyName = "withdrawXAmount", + name = "Amount", + description = "", + position = 7, + group = "Banking", + hidden = true, + unhide = "withdrawX" + ) + default String getWithdrawXAmount() + { + return ""; + } + + @ConfigItem( + keyName = "withdrawXItems", + name = "Items", + description = "", + position = 8, + group = "Banking", + hidden = true, + unhide = "withdrawX" + ) + default String getWithdrawXItems() + { + return ""; + } + + @ConfigItem( + keyName = "withdrawAll", + name = "Withdraw/Deposit All", + description = "", + position = 9, + group = "Banking" + ) + default boolean getWithdrawAll() + { + return false; + } + + @ConfigItem( + keyName = "withdrawAllItems", + name = "Items", + description = "", + position = 10, + group = "Banking", + hidden = true, + unhide = "withdrawAll" + ) + default String getWithdrawAllItems() + { + return ""; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "swapMax", + name = "Swap Max cape", + description = "Enables swapping max cape options in worn interface", + position = 11, + group = "Equipment swapper" + ) + default boolean swapMax() + { + return false; + } + + @ConfigItem( + keyName = "maxMode", + name = "Max cape mode", + description = "", + position = 12, + group = "Equipment swapper", + hidden = true, + unhide = "swapMax" + ) + default MaxCapeMode maxMode() + { + return MaxCapeMode.CRAFTING_GUILD; + } + + @ConfigItem( + keyName = "swapArdougneCape", + name = "Swap Ardougne Cape", + description = "Enables swapping of teleport and wear.", + position = 13, + group = "Equipment swapper" + ) + default boolean getSwapArdougneCape() + { + return false; + } + + @ConfigItem( + keyName = "swapConstructionCape", + name = "Swap Construction Cape", + description = "Enables swapping of teleport and wear.", + position = 14, + group = "Equipment swapper" + ) + default boolean getSwapConstructionCape() + { + return true; + } + + @ConfigItem( + keyName = "swapCraftingCape", + name = "Swap Crafting Cape", + description = "Enables swapping of teleport and wear.", + position = 15, + group = "Equipment swapper" + ) + default boolean getSwapCraftingCape() + { + return true; + } + + @ConfigItem( + keyName = "swapMagicCape", + name = "Swap Magic Cape", + description = "Enables swapping of spellbook and wear.", + position = 16, + group = "Equipment swapper" + ) + default boolean getSwapMagicCape() + { + return true; + } + + @ConfigItem( + keyName = "swapExplorersRing", + name = "Swap Explorers Ring", + description = "Enables swapping of spellbook and wear.", + position = 17, + group = "Equipment swapper" + ) + default boolean getSwapExplorersRing() + { + return true; + } + + @ConfigItem( + keyName = "swapAdmire", + name = "Admire", + description = "Swap Admire with Teleport, Spellbook and Perks (max cape) for mounted skill capes.", + position = 18, + group = "Equipment swapper" + ) + default boolean swapAdmire() + { + return true; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "customSwaps", + name = "Custom swaps", + description = "Add custom swaps here, 1 per line. Syntax: option, target : option, target
Note that the first entry should be the left click one!", + position = 19, + group = "Miscellaneous" ) default String customSwaps() { @@ -44,10 +309,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - position = -2, - keyName = "shiftClickCustomization", - name = "Customizable shift-click", - description = "Allows customization of shift-clicks on items" + keyName = "shiftClickCustomization", + name = "Customizable shift-click", + description = "Allows customization of shift-clicks on items", + position = 20, + group = "Miscellaneous" ) default boolean shiftClickCustomization() { @@ -55,42 +321,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapAdmire", - name = "Admire", - description = "Swap Admire with Teleport, Spellbook and Perks (max cape) for mounted skill capes.", - group = "Swap Teleport" - ) - default boolean swapAdmire() - { - return true; - } - - @ConfigItem( - keyName = "swapAssignment", - name = "Assignment", - description = "Swap Talk-to with Assignment for Slayer Masters. This will take priority over swapping Trade.", - group = "Swap Talk-To" - ) - default boolean swapAssignment() - { - return true; - } - - @ConfigItem( - keyName = "swapBanker", - name = "Bank", - description = "Swap Talk-to with Bank on Bank NPC
Example: Banker", - group = "Swap Talk-To" - ) - default boolean swapBank() - { - return true; - } - - @ConfigItem( - keyName = "swapBirdhouseEmpty", - name = "Birdhouse", - description = "Swap Interact with Empty for birdhouses on Fossil Island" + keyName = "swapBirdhouseEmpty", + name = "Birdhouse", + description = "Swap Interact with Empty for birdhouses on Fossil Island", + position = 21, + group = "Miscellaneous" ) default boolean swapBirdhouseEmpty() { @@ -98,9 +333,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapBones", - name = "Bury", - description = "Swap Bury with Use on Bones" + keyName = "swapBones", + name = "Bury", + description = "Swap Bury with Use on Bones", + position = 22, + group = "Miscellaneous" ) default boolean swapBones() { @@ -108,20 +345,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapContract", - name = "Contract", - description = "Swap Talk-to with Contract on Guildmaster Jane", - group = "Swap Talk-To" - ) - default boolean swapContract() - { - return true; - } - - @ConfigItem( - keyName = "swapChase", - name = "Chase", - description = "Allows to left click your cat to chase" + keyName = "swapChase", + name = "Chase", + description = "Allows to left click your cat to chase", + position = 23, + group = "Miscellaneous" ) default boolean swapChase() { @@ -129,138 +357,75 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "claimDynamite", - name = "Claim Dynamite", - description = "Swap Talk-to with Claim Dynamite on Thirus", - group = "Swap Talk-To" - ) - default boolean claimDynamite() - { - return true; - } - - @ConfigItem( - keyName = "claimSlime", - name = "Claim Slime", - description = "Swap Talk-to with Claim Slime from Morytania diaries", - group = "Swap Talk-To" - ) - default boolean claimSlime() - { - return true; - } - - @ConfigItem( - keyName = "swapDarkMage", - name = "Repairs", - description = "Swap Talk-to with Repairs for Dark Mage", - group = "Swap Talk-To" - ) - default boolean swapDarkMage() - { - return true; - } - - @ConfigItem( - keyName = "swapDecant", - name = "Decant", - description = "Swap Talk-to with Decant for Bob Barter and Murky Matt at the Grand Exchange.", - group = "Swap Talk-To" - ) - default boolean swapDecant() - { - return false; - } - - @ConfigItem( - keyName = "swapExchange", - name = "Exchange", - description = "Swap Talk-to with Exchange on NPC
Example: Grand Exchange Clerk, Tool Leprechaun, Void Knight", - group = "Swap Talk-To" - ) - default boolean swapExchange() - { - return true; - } - - @ConfigItem( - keyName = "swapFairyRing", - name = "Fairy ring", - description = "Swap Zanaris with Last-destination or Configure on Fairy rings", - group = "Swap Teleport" - ) - default FairyRingMode swapFairyRing() - { - return FairyRingMode.LAST_DESTINATION; - } - - @ConfigItem( - keyName = "swapHarpoon", - name = "Harpoon", - description = "Swap Cage, Big Net with Harpoon on Fishing spot" + keyName = "swapHarpoon", + name = "Harpoon", + description = "Swap Cage, Big Net with Harpoon on Fishing spot", + position = 24, + group = "Miscellaneous" ) default boolean swapHarpoon() { return false; } - + @ConfigItem( - keyName = "swapOccult", - name = "Occult Altar", - description = "Swap Venerate with Ancient, Lunar, or Arceuus on an Altar of the Occult" + keyName = "swapOccult", + name = "Occult Altar", + description = "Swap Venerate with Ancient, Lunar, or Arceuus on an Altar of the Occult", + position = 25, + group = "Miscellaneous" ) - default OccultAltarMode swapOccult() + default boolean swapOccult() + { + return false; + } + + @ConfigItem( + keyName = "occultalter", + name = "Mode", + description = "", + position = 26, + group = "Miscellaneous", + hidden = true, + unhide = "swapOccult" + ) + default OccultAltarMode swapOccultMode() { return OccultAltarMode.VENERATE; } @ConfigItem( - keyName = "swapObelisk", - name = "Obelisk", - description = "Swap the options on wilderness obelisks between Activate, Set destination or Teleport to destination", - group = "Swap Teleport" + keyName = "swapHomePortal", + name = "Home", + description = "Swap Enter with Home or Build or Friend's house on Portal", + position = 27, + group = "Miscellaneous" ) - default ObeliskMode swapObelisk() + default boolean swapHomePortal() { - return ObeliskMode.ACTIVATE; + return false; } @ConfigItem( - keyName = "swapHomePortal", - name = "Home", - description = "Swap Enter with Home or Build or Friend's house on Portal" + keyName = "home", + name = "Mode", + description = "", + position = 28, + group = "Miscellaneous", + hidden = true, + unhide = "swapHomePortal" ) - default HouseMode swapHomePortal() + default HouseMode swapHomePortalMode() { return HouseMode.HOME; } @ConfigItem( - keyName = "swapPickpocket", - name = "Pickpocket on H.A.M.", - description = "Swap Talk-to with Pickpocket on H.A.M members", - group = "Swap Talk-To" - ) - default boolean swapPickpocket() - { - return true; - } - - @ConfigItem( - keyName = "swapPay", - name = "Pay", - description = "Swap Talk-to with Pay on NPC
Example: Elstan, Heskel, Fayeth", - group = "Swap Talk-To" - ) - default boolean swapPay() - { - return true; - } - - @ConfigItem( - keyName = "swapPrivate", - name = "Private", - description = "Swap Shared with Private on the Chambers of Xeric storage units." + keyName = "swapPrivate", + name = "Private", + description = "Swap Shared with Private on the Chambers of Xeric storage units.", + position = 29, + group = "Miscellaneous" ) default boolean swapPrivate() { @@ -268,9 +433,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapPick", - name = "Pick", - description = "Swap Pick with Pick-lots of the Gourd tree in the Chambers of Xeric" + keyName = "swapPick", + name = "Pick", + description = "Swap Pick with Pick-lots of the Gourd tree in the Chambers of Xeric", + position = 30, + group = "Miscellaneous" ) default boolean swapPick() { @@ -278,9 +445,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapQuick", - name = "Quick Pass/Open/Start/Travel", - description = "Swap Pass with Quick-Pass, Open with Quick-Open, Ring with Quick-Start and Talk-to with Quick-Travel" + keyName = "swapQuick", + name = "Quick Pass/Open/Start/Travel", + description = "Swap Pass with Quick-Pass, Open with Quick-Open, Ring with Quick-Start and Talk-to with Quick-Travel", + position = 31, + group = "Miscellaneous" ) default boolean swapQuick() { @@ -288,9 +457,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapBoxTrap", - name = "Reset", - description = "Swap Check with Reset on box trap" + keyName = "swapBoxTrap", + name = "Reset", + description = "Swap Check with Reset on box trap", + position = 32, + group = "Miscellaneous" ) default boolean swapBoxTrap() { @@ -298,52 +469,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapTeleportItem", - name = "Teleport item", - description = "Swap Wear, Wield with Rub, Teleport on teleport item
Example: Amulet of glory, Explorer's ring, Chronicle" - ) - default boolean swapTeleportItem() - { - return false; - } - - @ConfigItem( - keyName = "swapAbyssTeleport", - name = "Teleport to Abyss", - description = "Swap Talk-to with Teleport for the Mage of Zamorak", - group = "Swap Talk-To" - ) - default boolean swapAbyssTeleport() - { - return true; - } - - @ConfigItem( - keyName = "swapTrade", - name = "Trade", - description = "Swap Talk-to with Trade on NPC
Example: Shop keeper, Shop assistant", - group = "Swap Talk-To" - ) - default boolean swapTrade() - { - return true; - } - - @ConfigItem( - keyName = "swapTravel", - name = "Travel", - description = "Swap Talk-to with Travel, Take-boat, Pay-fare, Charter on NPC
Example: Squire, Monk of Entrana, Customs officer, Trader Crewmember", - group = "Swap Talk-To" - ) - default boolean swapTravel() - { - return true; - } - - @ConfigItem( - keyName = "rockCake", - name = "Rock Cake Guzzle", - description = "Enables Left Click Guzzle to Rock Cake" + keyName = "rockCake", + name = "Rock Cake Guzzle", + description = "Enables Left Click Guzzle to Rock Cake", + position = 33, + group = "Miscellaneous" ) default boolean rockCake() { @@ -351,9 +481,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapRogueschests", - name = "Rogueschests", - description = "Swap Rogueschests from open to Search for traps" + keyName = "swapRogueschests", + name = "Rogueschests", + description = "Swap Rogueschests from open to Search for traps", + position = 34, + group = "Miscellaneous" ) default boolean swapRogueschests() { @@ -361,9 +493,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapClimbUpDown", - name = "Climb", - description = "Swap Climb-Up/Down depending on Shift or Control key " + keyName = "swapClimbUpDown", + name = "Climb", + description = "Swap Climb-Up/Down depending on Shift or Control key", + position = 35, + group = "Miscellaneous" ) default boolean swapClimbUpDown() { @@ -371,42 +505,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapDream", - name = "Dream", - description = "Swap Talk-to with Dream for Dominic Onion", - group = "Swap Talk-To" - ) - default boolean swapDream() - { - return true; - } - - @ConfigItem( - keyName = "swapStory", - name = "Story", - description = "Swap Talk-to with Story for Juna at Tears of Guthix", - group = "Swap Talk-To" - ) - default boolean swapStory() - { - return true; - } - - @ConfigItem( - keyName = "swapPlank", - name = "Buy Planks", - description = "Swap Talk-to with Buy-planks at the Lumber Yard.", - group = "Swap Talk-To" - ) - default boolean swapPlank() - { - return true; - } - - @ConfigItem( - keyName = "swapStun", - name = "Stun Hoop Snakes", - description = "Swap Attack with Stun" + keyName = "swapStun", + name = "Stun Hoop Snakes", + description = "Swap Attack with Stun", + position = 36, + group = "Miscellaneous" ) default boolean swapStun() { @@ -414,53 +517,11 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapMetamorphosis", - name = "Metamorphosis", - description = "Swap Talk-to with Metamorphosis for Baby Chinchompa pet.", - group = "Swap Talk-To" - ) - default boolean swapMetamorphosis() - { - return false; - } - - @ConfigItem( - keyName = "swapEscort", - name = "Escort", - description = "Swap Talk-to with Escort for the Temple Trekking mini-game.", - group = "Swap Talk-To" - ) - default boolean swapEscort() - { - return true; - } - - @ConfigItem( - keyName = "swapWildernessLever", - name = "Wilderness Lever", - description = "Swap wilderness lever left click to be Edgeville/Ardougne.", - group = "Swap Teleport" - ) - default boolean swapWildernessLever() - { - return true; - } - - @ConfigItem( - keyName = "swapNexus", - name = "Portal Nexus", - description = "Makes the teleport menu have priority over the left click destination on the portal nexus", - group = "Swap Teleport" - ) - default boolean swapNexus() - { - return true; - } - - @ConfigItem( - keyName = "swapSearch", - name = "Search", - description = "Swap Close, Shut with Search on chests, cupboards, etc." + keyName = "swapSearch", + name = "Search", + description = "Swap Close, Shut with Search on chests, cupboards, etc.", + position = 37, + group = "Miscellaneous" ) default boolean swapSearch() { @@ -468,12 +529,935 @@ public interface MenuEntrySwapperConfig extends Config } @ConfigItem( - keyName = "swapHardWoodGrove", - name = "Hardwood Grove", - description = "Swap Quick-Pay(100) and Send-Parcel at Hardwood Grove" + keyName = "swapHardWoodGrove", + name = "Hardwood Grove", + description = "Swap Quick-Pay(100) and Send-Parcel at Hardwood Grove", + position = 38, + group = "Miscellaneous" ) default boolean swapHardWoodGrove() { return true; } -} + + + + @ConfigItem( + keyName = "removeObjects", + name = "Remove Objects", + description = "Removes interaction with the listed objects.", + position = 39, + group = "Miscellaneous" + ) + default boolean getRemoveObjects() + { + return false; + } + + @ConfigItem( + keyName = "removedObjects", + name = "Objects", + description = "Objects listed here will have all interaction be removed.", + position = 40, + group = "Miscellaneous", + hidden = true, + unhide = "removeObjects" + ) + default String getRemovedObjects() + { + return ""; + } + + @ConfigItem( + keyName = "swapslayer", + name = "Swap slayer", + description = "", + position = 41, + group = "Teleportation" + ) + default boolean getSlayerRing() + { + return false; + } + + @ConfigItem( + keyName = "slayerringmode", + name = "Mode", + description = "", + position = 42, + group = "Teleportation", + hidden = true, + unhide = "swapslayer" + ) + default SlayerRingMode getSlayerRingMode() + { + return SlayerRingMode.CHECK; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "swapBuyOne", + name = "Swappable Buy One", + description = "", + position = 43, + group = "Shop / stores" + ) + default boolean getSwapBuyOne() + { + return false; + } + + @ConfigItem( + keyName = "buyOneItems", + name = "Items", + description = "", + group = "Shop / stores", + position = 44, + hidden = true, + unhide = "swapBuyOne" + ) + default String getBuyOneItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapBuyFive", + name = "Swappable Buy Five", + description = "", + position = 45, + group = "Shop / stores" + ) + default boolean getSwapBuyFive() + { + return false; + } + + @ConfigItem( + keyName = "buyFiveItems", + name = "Items", + description = "", + position = 46, + group = "Shop / stores", + hidden = true, + unhide = "swapBuyFive" + ) + default String getBuyFiveItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapBuyTen", + name = "Swappable Buy Ten", + description = "", + position = 47, + group = "Shop / stores" + ) + default boolean getSwapBuyTen() + { + return false; + } + + @ConfigItem( + keyName = "buyTenItems", + name = "Items", + description = "", + position = 48, + group = "Shop / stores", + hidden = true, + unhide = "swapBuyTen" + ) + default String getBuyTenItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapBuyFifty", + name = "Swappable Buy Fifty", + description = "", + position = 49, + group = "Shop / stores" + ) + default boolean getSwapBuyFifty() + { + return false; + } + + @ConfigItem( + keyName = "buyFiftyItems", + name = "Items", + description = "", + position = 50, + group = "Shop / stores", + hidden = true, + unhide = "swapBuyFifty" + ) + default String getBuyFiftyItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapSellOne", + name = "Swappable Sell One", + description = "", + position = 51, + group = "Shop / stores" + ) + default boolean getSwapSellOne() + { + return false; + } + + @ConfigItem( + keyName = "sellOneItems", + name = "Items", + description = "", + position = 52, + group = "Shop / stores", + hidden = true, + unhide = "swapSellOne" + ) + default String getSellOneItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapSellFive", + name = "Swappable Sell Five", + description = "", + position = 53, + group = "Shop / stores" + ) + default boolean getSwapSellFive() + { + return false; + } + + @ConfigItem( + keyName = "sellFiveItems", + name = "Items", + description = "", + position = 54, + group = "Shop / stores", + unhide = "swapSellFive" + ) + default String getSellFiveItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapSellTen", + name = "Swappable Sell Ten", + description = "", + position = 55, + group = "Shop / stores" + ) + default boolean getSwapSellTen() + { + return false; + } + + @ConfigItem( + keyName = "sellTenItems", + name = "Items", + description = "", + position = 56, + group = "Shop / stores", + hidden = true, + unhide = "swapSellTen" + ) + default String getSellTenItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapSellFifty", + name = "Swappable Sell Fifty", + description = "", + position = 57, + group = "Shop / stores" + ) + default boolean getSwapSellFifty() + { + return false; + } + + @ConfigItem( + keyName = "sellFiftyItems", + name = "Items", + description = "", + position = 58, + group = "Shop / stores", + hidden = true, + unhide = "swapSellFifty" + ) + default String getSellFiftyItems() + { + return ""; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "easyConstruction", + name = "Easy Construction", + description = "Makes \"Remove\"/\"Build\" the default option for listed item ID's in build mode.
Tip: Use dev tools \"Game Objects\" to find out the ID!", + position = 59, + group = "Skilling" + ) + default boolean getEasyConstruction() + { + return false; + } + + @ConfigItem( + keyName = "constructionItems", + name = "Construction Items", + description = "Makes \"Remove\"/\"Build\" the default option for listed item ID's in build mode.
Tip: Use dev tools \"Game Objects\" to find out the ID, and seperate values with a ','", + position = 60, + group = "Skilling", + hidden = true, + unhide = "easyConstruction" + ) + default String getConstructionItems() + { + return ""; + } + + @ConfigItem( + keyName = "swapSmithing", + name = "Swap Smithing", + description = "Enables swapping of smith-1 and smith-all options.", + position = 61, + group = "Skilling" + ) + default boolean getSwapSmithing() + { + return false; + } + + @ConfigItem( + keyName = "swapTanning", + name = "Swap Tanning", + description = "Enables swapping of tan-1 and tan-all options.", + position = 62, + group = "Skilling" + ) + default boolean getSwapTanning() + { + return false; + } + + @ConfigItem( + keyName = "swapSawmill", + name = "Swap Sawmill Operator", + description = "Makes Buy-plank the default option on the sawmill operator.", + position = 63, + group = "Skilling" + ) + default boolean getSwapSawmill() + { + return false; + } + + @ConfigItem( + keyName = "swapSawmillPlanks", + name = "Swap Buy Planks", + description = "Makes Buy All the default option in buy planks.", + position = 64, + group = "Skilling" + ) + default boolean getSwapSawmillPlanks() + { + return false; + } + + @ConfigItem( + keyName = "swapPuroPuro", + name = "Swap Puro Puro Wheat", + description = "", + position = 65, + group = "Skilling" + ) + default boolean getSwapPuro() + { + return false; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "swapAssignment", + name = "Assignment", + description = "Swap Talk-to with Assignment for Slayer Masters. This will take priority over swapping Trade.", + position = 66, + group = "Talk-To" + ) + default boolean swapAssignment() + { + return true; + } + + @ConfigItem( + keyName = "swapBanker", + name = "Bank", + description = "Swap Talk-to with Bank on Bank NPC
Example: Banker", + position = 67, + group = "Talk-To" + ) + default boolean swapBank() + { + return true; + } + + @ConfigItem( + keyName = "swapContract", + name = "Contract", + description = "Swap Talk-to with Contract on Guildmaster Jane", + position = 68, + group = "Talk-To" + ) + default boolean swapContract() + { + return true; + } + + @ConfigItem( + keyName = "claimDynamite", + name = "Claim Dynamite", + description = "Swap Talk-to with Claim Dynamite on Thirus", + position = 69, + group = "Talk-To" + ) + default boolean claimDynamite() + { + return true; + } + + @ConfigItem( + keyName = "claimSlime", + name = "Claim Slime", + description = "Swap Talk-to with Claim Slime from Morytania diaries", + position = 70, + group = "Talk-To" + ) + default boolean claimSlime() + { + return true; + } + + @ConfigItem( + keyName = "swapDarkMage", + name = "Repairs", + description = "Swap Talk-to with Repairs for Dark Mage", + position = 71, + group = "Talk-To" + ) + default boolean swapDarkMage() + { + return true; + } + + @ConfigItem( + keyName = "swapDecant", + name = "Decant", + description = "Swap Talk-to with Decant for Bob Barter and Murky Matt at the Grand Exchange.", + position = 72, + group = "Talk-To" + ) + default boolean swapDecant() + { + return false; + } + + @ConfigItem( + keyName = "swapExchange", + name = "Exchange", + description = "Swap Talk-to with Exchange on NPC
Example: Grand Exchange Clerk, Tool Leprechaun, Void Knight", + position = 73, + group = "Talk-To" + ) + default boolean swapExchange() + { + return true; + } + + @ConfigItem( + keyName = "swapPickpocket", + name = "Pickpocket on H.A.M.", + description = "Swap Talk-to with Pickpocket on H.A.M members", + position = 74, + group = "Talk-To" + ) + default boolean swapPickpocket() + { + return true; + } + + @ConfigItem( + keyName = "swapPay", + name = "Pay", + description = "Swap Talk-to with Pay on NPC
Example: Elstan, Heskel, Fayeth", + position = 75, + group = "Talk-To" + ) + default boolean swapPay() + { + return true; + } + + @ConfigItem( + keyName = "swapAbyssTeleport", + name = "Teleport to Abyss", + description = "Swap Talk-to with Teleport for the Mage of Zamorak", + position = 76, + group = "Talk-To" + ) + default boolean swapAbyssTeleport() + { + return true; + } + + @ConfigItem( + keyName = "swapTrade", + name = "Trade", + description = "Swap Talk-to with Trade on NPC
Example: Shop keeper, Shop assistant", + position = 77, + group = "Talk-To" + ) + default boolean swapTrade() + { + return true; + } + + @ConfigItem( + keyName = "swapTravel", + name = "Travel", + description = "Swap Talk-to with Travel, Take-boat, Pay-fare, Charter on NPC
Example: Squire, Monk of Entrana, Customs officer, Trader Crewmember", + position = 78, + group = "Talk-To" + ) + default boolean swapTravel() + { + return true; + } + + @ConfigItem( + keyName = "swapDream", + name = "Dream", + description = "Swap Talk-to with Dream for Dominic Onion", + position = 79, + group = "Talk-To" + ) + default boolean swapDream() + { + return true; + } + + @ConfigItem( + keyName = "swapStory", + name = "Story", + description = "Swap Talk-to with Story for Juna at Tears of Guthix", + position = 80, + group = "Talk-To" + ) + default boolean swapStory() + { + return true; + } + + @ConfigItem( + keyName = "swapPlank", + name = "Buy Planks", + description = "Swap Talk-to with Buy-planks at the Lumber Yard.", + position = 81, + group = "Talk-To" + ) + default boolean swapPlank() + { + return true; + } + + @ConfigItem( + keyName = "swapMetamorphosis", + name = "Metamorphosis", + description = "Swap Talk-to with Metamorphosis for Baby Chinchompa pet.", + position = 82, + group = "Talk-To" + ) + default boolean swapMetamorphosis() + { + return false; + } + + @ConfigItem( + keyName = "swapEscort", + name = "Escort", + description = "Swap Talk-to with Escort for the Temple Trekking mini-game.", + position = 83, + group = "Talk-To" + ) + default boolean swapEscort() + { + return true; + } + + //------------------------------------------------------------// + + @ConfigItem( + keyName = "swapFairyRing", + name = "Fairy ring", + description = "Swap Zanaris with Last-destination or Configure on Fairy rings", + position = 84, + group = "Teleportation" + ) + default boolean swapFairyRing() + { + return false; + } + + @ConfigItem( + keyName = "fairyring", + name = "Mode", + description = "", + position = 85, + group = "Teleportation", + hidden = true, + unhide = "swapFairyRing" + ) + default FairyRingMode swapFairyRingMode() + { + return FairyRingMode.LAST_DESTINATION; + } + + @ConfigItem( + keyName = "swapObelisk", + name = "Obelisk", + description = "Swap the options on wilderness obelisks between Activate, Set destination or Teleport to destination", + position = 86, + group = "Teleportation" + ) + default boolean swapObelisk() + { + return false; + } + + @ConfigItem( + keyName = "obelisk", + name = "Mode", + description = "", + position = 87, + group = "Teleportation", + hidden = true, + unhide = "swapObelisk" + ) + default ObeliskMode swapObeliskMode() + { + return ObeliskMode.ACTIVATE; + } + + @ConfigItem( + keyName = "swapTeleportItem", + name = "Teleport item", + description = "Swap Wear, Wield with Rub, Teleport on teleport item
Example: Amulet of glory, Explorer's ring, Chronicle", + position = 88, + group = "Teleportation" + ) + default boolean swapTeleportItem() + { + return false; + } + + @ConfigItem( + keyName = "swapWildernessLever", + name = "Wilderness Lever", + description = "Swap wilderness lever left click to be Edgeville/Ardougne.", + position = 89, + group = "Teleportation" + ) + default boolean swapWildernessLever() + { + return true; + } + + @ConfigItem( + keyName = "swapNexus", + name = "Portal Nexus", + description = "Makes the teleport menu have priority over the left click destination on the portal nexus", + position = 90, + group = "Teleportation" + ) + default boolean swapNexus() + { + return true; + } + + @ConfigItem( + keyName = "swapGamesNecklace", + name = "Swap Games Necklace", + description = "", + position = 91, + group = "Teleportation" + ) + default boolean getGamesNecklace() + { + return false; + } + + @ConfigItem( + keyName = "gamesNecklaceMode", + name = "Mode", + description = "", + position = 92, + group = "Teleportation", + hidden = true, + unhide = "swapGamesNecklace" + ) + default GamesNecklaceMode getGamesNecklaceMode() + { + return GamesNecklaceMode.BURTHORPE; + } + + @ConfigItem( + keyName = "swapDuelingRing", + name = "Swap Dueling Ring", + description = "", + position = 93, + group = "Teleportation" + ) + default boolean getDuelingRing() + { + return false; + } + + @ConfigItem( + keyName = "duelingRingMode", + name = "Mode", + description = "", + position = 94, + group = "Teleportation", + hidden = true, + unhide = "swapDuelingRing" + ) + default DuelingRingMode getDuelingRingMode() + { + return DuelingRingMode.DUEL_ARENA; + } + + @ConfigItem( + keyName = "swapGlory", + name = "Swap Glory", + description = "", + position = 95, + group = "Teleportation" + ) + default boolean getGlory() + { + return false; + } + + @ConfigItem( + keyName = "gloryMode", + name = "Mode", + description = "", + position = 96, + group = "Teleportation", + hidden = true, + unhide = "swapGlory" + ) + default GloryMode getGloryMode() + { + return GloryMode.EDGEVILLE; + } + + @ConfigItem( + keyName = "swapSkill", + name = "Swap Skill", + description = "", + position = 97, + group = "Teleportation" + ) + default boolean getSkillsNecklace() + { + return false; + } + + @ConfigItem( + keyName = "skillsnecklacemode", + name = "Mode", + description = "", + position = 98, + group = "Teleportation", + hidden = true, + unhide = "swapSkill" + ) + default SkillsNecklaceMode getSkillsNecklaceMode() + { + return SkillsNecklaceMode.FARMING_GUILD; + } + + @ConfigItem( + keyName = "swapPassage", + name = "Swap Passage", + description = "", + position = 99, + group = "Teleportation" + ) + default boolean getNecklaceofPassage() + { + return false; + } + + @ConfigItem( + keyName = "necklaceofpassagemode", + name = "Mode", + description = "", + position = 100, + group = "Teleportation", + hidden = true, + unhide = "swapPassage" + ) + default NecklaceOfPassageMode getNecklaceofPassageMode() + { + return NecklaceOfPassageMode.WIZARDS_TOWER; + } + + @ConfigItem( + keyName = "swapDigsite", + name = "Swap Digsite", + description = "", + position = 101, + group = "Teleportation" + ) + default boolean getDigsitePendant() + { + return false; + } + + @ConfigItem( + keyName = "digsitependantmode", + name = "Mode", + description = "", + position = 102, + group = "Teleportation", + hidden = true, + unhide = "swapDigsite" + ) + default DigsitePendantMode getDigsitePendantMode() + { + return DigsitePendantMode.FOSSIL_ISLAND; + } + + @ConfigItem( + keyName = "swapCombat", + name = "Swap Combat", + description = "", + position = 103, + group = "Teleportation" + ) + default boolean getCombatBracelet() + { + return false; + } + + @ConfigItem( + keyName = "combatbraceletmode", + name = "Mode", + description = "", + position = 104, + group = "Teleportation", + hidden = true, + unhide = "swapCombat" + ) + default CombatBraceletMode getCombatBraceletMode() + { + return CombatBraceletMode.WARRIORS_GUILD; + } + + @ConfigItem( + keyName = "swapburning", + name = "Swap burning", + description = "", + position = 105, + group = "Teleportation" + ) + default boolean getBurningAmulet() + { + return false; + } + + @ConfigItem( + keyName = "burningamuletmode", + name = "Mode", + description = "", + position = 106, + group = "Teleportation", + hidden = true, + unhide = "swapburning" + ) + default BurningAmuletMode getBurningAmuletMode() + { + return BurningAmuletMode.BANDIT_CAMP; + } + + @ConfigItem( + keyName = "swapxeric", + name = "Swap xeric", + description = "", + position = 107, + group = "Teleportation" + ) + default boolean getXericsTalisman() + { + return false; + } + + @ConfigItem( + keyName = "xericstalismanmode", + name = "Mode", + description = "", + position = 108, + group = "Teleportation", + hidden = true, + unhide = "swapxeric" + ) + default XericsTalismanMode getXericsTalismanMode() + { + return XericsTalismanMode.XERICS_LOOKOUT; + } + + @ConfigItem( + keyName = "swapwealth", + name = "Swap wealth", + description = "", + position = 109, + group = "Teleportation" + ) + default boolean getRingofWealth() + { + return false; + } + + @ConfigItem( + keyName = "ringofwealthmode", + name = "Mode", + description = "", + position = 110, + group = "Teleportation", + hidden = true, + unhide = "swapwealth" + ) + default RingOfWealthMode getRingofWealthMode() + { + return RingOfWealthMode.GRAND_EXCHANGE; + } + + //------------------------------------------------------------// +} \ No newline at end of file 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 ca79318593..9d3533653a 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 @@ -1,6 +1,8 @@ /* * Copyright (c) 2018, Adam * Copyright (c) 2018, Kamiel + * Copyright (c) 2018, Kyle + * Copyright (c) 2018, lucouswin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,28 +28,36 @@ package net.runelite.client.plugins.menuentryswapper; import com.google.common.base.Splitter; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.inject.Provides; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Set; import javax.inject.Inject; -import joptsimple.internal.Strings; import lombok.Getter; import lombok.Setter; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.ItemComposition; import net.runelite.api.MenuAction; +import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; +import static net.runelite.api.MenuAction.WALK; import net.runelite.api.MenuEntry; import net.runelite.api.NPC; +import net.runelite.api.Player; +import static net.runelite.api.Varbits.BUILDING_MODE; +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.MenuOpened; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.PostItemComposition; import net.runelite.api.events.WidgetMenuOptionClicked; +import net.runelite.api.events.VarbitChanged; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; @@ -60,6 +70,11 @@ 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.plugins.PluginType; +import net.runelite.client.plugins.menuentryswapper.util.FairyRingMode; +import net.runelite.client.plugins.menuentryswapper.util.HouseMode; +import net.runelite.client.plugins.menuentryswapper.util.ObeliskMode; +import net.runelite.client.plugins.menuentryswapper.util.OccultAltarMode; import static net.runelite.client.util.MenuUtil.swap; import net.runelite.client.util.Text; import org.apache.commons.lang3.ArrayUtils; @@ -68,7 +83,8 @@ import org.apache.commons.lang3.ArrayUtils; name = "Menu Entry Swapper", description = "Change the default option that is displayed when hovering over objects", tags = {"npcs", "inventory", "items", "objects"}, - enabledByDefault = false + enabledByDefault = false, + type = PluginType.UTILITY ) public class MenuEntrySwapperPlugin extends Plugin { @@ -78,6 +94,10 @@ public class MenuEntrySwapperPlugin extends Plugin private static final String MENU_TARGET = "Shift-click"; private static final String CONFIG_GROUP = "shiftclick"; private static final String ITEM_KEY_PREFIX = "item_"; + private static final int PURO_PURO_REGION_ID = 10307; + private MenuEntry[] entries; + private final Set leftClickConstructionIDs = new HashSet<>(); + private boolean buildingMode; private static final WidgetMenuOption FIXED_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE, MENU_TARGET, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB); @@ -157,6 +177,8 @@ public class MenuEntrySwapperPlugin extends Plugin } loadCustomSwaps(config.customSwaps()); + addSwaps(); + loadConstructionIDs(config.getConstructionItems()); } @Override @@ -165,6 +187,8 @@ public class MenuEntrySwapperPlugin extends Plugin disableCustomization(); loadCustomSwaps(""); // Removes all custom swaps + removeSwaps(); + loadConstructionIDs(""); } @Subscribe @@ -195,8 +219,651 @@ public class MenuEntrySwapperPlugin extends Plugin { clientThread.invoke(this::resetItemCompositionCache); } + + if (!"menuentryswapper".equals(event.getGroup())) + { + return; + } + + loadConstructionIDs(config.getConstructionItems()); + removeSwaps(); + addSwaps(); } + @Subscribe + public void onGameStateChanged(GameStateChanged event) + { + if (client.getGameState() != GameState.LOGGED_IN) + { + return; + } + + loadConstructionIDs(config.getConstructionItems()); + } + + @Subscribe + public void onVarbitChanged(VarbitChanged event) + { + buildingMode = client.getVar(BUILDING_MODE) == 1; + } + + @Subscribe + public void onMenuEntryAdded(MenuEntryAdded event) + { + if (client.getGameState() != GameState.LOGGED_IN) + { + return; + } + + final int eventId = event.getIdentifier(); + final String option = Text.removeTags(event.getOption()).toLowerCase(); + final String target = Text.removeTags(event.getTarget()).toLowerCase(); + final NPC hintArrowNpc = client.getHintArrowNpc(); + + entries = client.getMenuEntries(); + + if (option.contains("withdraw") || option.contains("deposit")) + { + if (config.getWithdrawOne()) + { + for (String item : Text.fromCSV(config.getWithdrawOneItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Withdraw-1", option, target); + swap(client, "Deposit-1", option, target); + } + } + } + + if (config.getWithdrawFive()) + { + for (String item : Text.fromCSV(config.getWithdrawFiveItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Withdraw-5", option, target); + swap(client, "Deposit-5", option, target); + } + } + } + + if (config.getWithdrawTen()) + { + for (String item : Text.fromCSV(config.getWithdrawTenItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Withdraw-10", option, target); + swap(client, "Deposit-10", option, target); + } + } + } + + if (config.getWithdrawX()) + { + for (String item : Text.fromCSV(config.getWithdrawXItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Withdraw-" + config.getWithdrawXAmount(), option, target); + swap(client, "Deposit-" + config.getWithdrawXAmount(), option, target); + } + } + } + + if (config.getWithdrawAll()) + { + for (String item : Text.fromCSV(config.getWithdrawAllItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Withdraw-All", option, target); + swap(client, "Deposit-All", option, target); + } + } + } + } + + if (option.contains("buy")) + { + if (config.getSwapBuyOne() && !config.getBuyOneItems().equals("")) + { + for (String item : Text.fromCSV(config.getBuyOneItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Buy 1", option, target); + } + } + } + + if (config.getSwapBuyFive() && !config.getBuyFiveItems().equals("")) + { + for (String item : Text.fromCSV(config.getBuyFiveItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Buy 5", option, target); + } + } + } + + if (config.getSwapBuyTen() && !config.getBuyTenItems().equals("")) + { + for (String item : Text.fromCSV(config.getBuyTenItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Buy 10", option, target); + } + } + } + + if (config.getSwapBuyFifty() && !config.getBuyFiftyItems().equals("")) + { + for (String item : Text.fromCSV(config.getBuyFiftyItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Buy 50", option, target); + } + } + } + } + else if (option.contains("sell")) + { + if (config.getSwapSellOne() && !config.getSellOneItems().equals("")) + { + for (String item : Text.fromCSV(config.getSellOneItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Sell 1", option, target); + } + } + } + + if (config.getSwapSellFive() && !Strings.isNullOrEmpty(config.getSellFiveItems())) + { + for (String item : Text.fromCSV(config.getSellFiveItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Sell 5", option, target); + } + } + } + + if (config.getSwapSellTen() && !Strings.isNullOrEmpty(config.getSellTenItems())) + { + for (String item : Text.fromCSV(config.getSellTenItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Sell 10", option, target); + } + } + } + + if (config.getSwapSellFifty() && !Strings.isNullOrEmpty(config.getSellFiftyItems())) + { + for (String item : Text.fromCSV(config.getSellFiftyItems())) + { + if (target.equals(Text.standardize(item))) + { + swap(client, "Sell 50", option, target); + } + } + } + } + + if (config.getRemoveObjects() && !config.getRemovedObjects().equals("")) + { + for (String removed : Text.fromCSV(config.getRemovedObjects())) + { + removed = Text.standardize(removed); + if (target.contains("(") && target.split(" \\(")[0].equals(removed)) + { + delete(event.getIdentifier()); + } + else if (target.contains("->")) + { + String trimmed = target.split("->")[1].trim(); + if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed)) + { + delete(event.getIdentifier()); + break; + } + } + else if (target.length() >= removed.length() && target.substring(0, removed.length()).equalsIgnoreCase(removed)) + { + delete(event.getIdentifier()); + break; + } + } + } + + if (config.getSwapPuro() && isPuroPuro()) + { + if (event.getType() == WALK.getId()) + { + MenuEntry menuEntry = entries[entries.length - 1]; + menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); + } + else if (option.equalsIgnoreCase("examine")) + { + swap(client, "push-through", option, target); + } + else if (option.equalsIgnoreCase("use")) + { + swap(client, "escape", option, target); + } + } + + else if (config.getSwapSmithing() && option.contains("smith")) + { + if (option.equalsIgnoreCase("Smith 1")) + { + swap(client, "Smith All", option, target); + } + else if (option.equalsIgnoreCase("Smith 1 Set")) + { + swap(client, "Smith All Sets", option, target); + } + } + + else if (config.getSwapTanning() && option.equalsIgnoreCase("Tan 1")) + { + swap(client, "Tan All", option, target); + } + + else if (config.getSwapSawmill() && target.equalsIgnoreCase("Sawmill operator")) + { + swap(client, "Buy-plank", option, target); + } + + else if (config.getSwapSawmillPlanks() && option.equalsIgnoreCase("Buy 1")) + { + swap(client, "Buy All", option, target); + } + + else if (option.equalsIgnoreCase("Clear-All") && target.equalsIgnoreCase("Bank Filler")) + { + swap(client, "Clear", option, target); + } + + else if (target.contains("ardougne cloak") && config.getSwapArdougneCape()) + { + swap(client, "Kandarin Monastery", option, target); + swap(client, "Monastery Teleport", option, target); + } + + else if (target.contains("crafting cape") && config.getSwapCraftingCape()) + { + swap(client, "Teleport", option, target); + } + + else if (target.contains("construct. cape") && config.getSwapConstructionCape()) + { + swap(client, "Tele to poh", option, target); + } + + else if (target.contains("magic cape") && config.getSwapMagicCape()) + { + swap(client, "Spellbook", option, target); + } + + else if (target.contains("explorer's ring") && config.getSwapExplorersRing()) + { + swap(client, "Teleport", option, target); + } + + if (hintArrowNpc != null + && hintArrowNpc.getIndex() == eventId + && NPC_MENU_TYPES.contains(MenuAction.of(event.getType()))) + { + return; + } + + if (option.equals("talk-to")) + { + if (config.swapPickpocket() && target.contains("h.a.m.")) + { + menuManager.addPriorityEntry("pickpocket", target); + } + + if (config.swapAbyssTeleport() && target.contains("mage of zamorak")) + { + menuManager.addPriorityEntry("teleport", target); + } + + if (config.swapHardWoodGrove() && target.contains("rionasta")) + { + menuManager.addPriorityEntry("send-parcel", target); + } + if (config.swapBank()) + { + menuManager.addPriorityEntry("bank", target); + } + + if (config.swapContract()) + { + menuManager.addPriorityEntry("contract", target); + } + + if (config.swapExchange()) + { + menuManager.addPriorityEntry("exchange", target); + } + + if (config.swapDarkMage()) + { + menuManager.addPriorityEntry("repairs", target); + } + + // make sure assignment swap is higher priority than trade swap for slayer masters + if (config.swapAssignment()) + { + menuManager.addPriorityEntry("assignment", target); + } + + if (config.swapPlank()) + { + menuManager.addPriorityEntry("buy-plank", target); + } + + if (config.swapTrade()) + { + menuManager.addPriorityEntry("trade", target); + menuManager.addPriorityEntry("trade-with", target); + } + + if (config.claimSlime() && target.equals("robin")) + { + menuManager.addPriorityEntry("claim-slime", target); + } + + if (config.claimDynamite() && target.contains("Thirus")) + { + menuManager.addPriorityEntry("claim-dynamite", target); + } + + if (config.swapTravel()) + { + menuManager.addPriorityEntry("travel", target); + menuManager.addPriorityEntry("pay-fare", target); + menuManager.addPriorityEntry("charter", target); + menuManager.addPriorityEntry("take-boat", target); + menuManager.addPriorityEntry("fly", target); + menuManager.addPriorityEntry("jatizso", target); + menuManager.addPriorityEntry("neitiznot", target); + menuManager.addPriorityEntry("rellekka", target); + menuManager.addPriorityEntry("follow", target); + menuManager.addPriorityEntry("transport", target); + } + + if (config.swapPay()) + { + menuManager.addPriorityEntry("pay", target); + menuManager.addPriorityEntry("pay (", target); + } + + if (config.swapDream()) + { + menuManager.addPriorityEntry("dream", target); + } + + if (config.swapDecant()) + { + menuManager.addPriorityEntry("decant", target); + } + + if (config.swapQuick()) + { + menuManager.addPriorityEntry("quick-travel", target); + } + + if (config.swapStory()) + { + menuManager.addPriorityEntry("story", target); + } + + if (config.swapEscort()) + { + menuManager.addPriorityEntry("escort", target); + } + } + + else if (config.swapWildernessLever() && target.equals("lever") && option.equals("ardougne")) + { + menuManager.addPriorityEntry("edgeville", target); + } + + else if (config.swapMetamorphosis() && target.contains("baby chinchompa")) + { + menuManager.addPriorityEntry("metamorphosis", target); + } + + else if (config.swapStun() && target.contains("hoop snake")) + { + menuManager.addPriorityEntry("stun", target); + } + + else if (config.swapTravel() && option.equals("pass") && target.equals("energy barrier")) + { + menuManager.addPriorityEntry("pay-toll(2-ecto)", target); + } + + else if (config.swapTravel() && option.equals("open") && target.equals("gate")) + { + menuManager.addPriorityEntry("pay-toll(10gp)", target); + } + + else if (config.swapTravel() && option.equals("inspect") && target.equals("trapdoor")) + { + menuManager.addPriorityEntry("travel", target); + } + + else if (config.swapHarpoon() && option.equals("cage")) + { + menuManager.addPriorityEntry("harpoon", target); + } + + else if (config.swapHarpoon() && (option.equals("big net") || option.equals("net"))) + { + menuManager.addPriorityEntry("harpoon", target); + } + + else if (config.swapBoxTrap() && (option.equals("check") || option.equals("dismantle"))) + { + menuManager.addPriorityEntry("reset", target); + } + + else if (config.swapBoxTrap() && option.equals("take")) + { + menuManager.addPriorityEntry("lay", target); + menuManager.addPriorityEntry("activate", target); + } + + else if (config.swapChase() && option.equals("pick-up")) + { + menuManager.addPriorityEntry("chase", target); + } + + else if (config.swapBirdhouseEmpty() && option.equals("interact") && target.contains("birdhouse")) + { + menuManager.addPriorityEntry("empty", target); + } + + else if (config.swapQuick() && option.equals("ring")) + { + menuManager.addPriorityEntry("quick-start", target); + } + + else if (config.swapQuick() && option.equals("pass")) + { + menuManager.addPriorityEntry("quick-pass", target); + menuManager.addPriorityEntry("quick pass", target); + } + + else if (config.swapQuick() && option.equals("open")) + { + menuManager.addPriorityEntry("quick-open", target); + } + + else if (config.swapAdmire() && option.equals("admire")) + { + menuManager.addPriorityEntry("teleport", target); + menuManager.addPriorityEntry("spellbook", target); + menuManager.addPriorityEntry("perks", target); + } + + else if (config.swapPrivate() && option.equals("shared")) + { + menuManager.addPriorityEntry("private", target); + } + + else if (config.swapPick() && option.equals("pick")) + { + menuManager.addPriorityEntry("pick-lots", target); + } + + else if (config.swapSearch() && (option.equals("close") || option.equals("shut"))) + { + menuManager.addPriorityEntry("search", target); + } + + else if (config.swapRogueschests() && target.contains("chest")) + { + menuManager.addPriorityEntry("search for traps", target); + } + + else if (config.rockCake() && option.equals("eat")) + { + menuManager.addPriorityEntry("guzzle", target); + } + + + else if (config.shiftClickCustomization() && shiftModifier && !option.equals("use")) + { + Integer customOption = getSwapConfig(eventId); + + if (customOption != null && customOption == -1) + { + menuManager.addPriorityEntry("use", target); + } + } + + // Put all item-related swapping after shift-click + else if (config.swapTeleportItem() && option.equals("wear")) + { + menuManager.addPriorityEntry("rub", target); + menuManager.addPriorityEntry("teleport", target); + } + + else if (option.equals("wield")) + { + if (config.swapTeleportItem()) + { + menuManager.addPriorityEntry("teleport", target); + } + } + + else if (config.swapBones() && option.equals("bury")) + { + menuManager.addPriorityEntry("use", target); + } + + else if (config.swapNexus() && target.contains("portal nexus")) + { + menuManager.addPriorityEntry("teleport menu", target); + } + + else if (config.swapHomePortalMode() != HouseMode.ENTER && option.equals("enter")) + { + switch (config.swapHomePortalMode()) + { + case HOME: + menuManager.addPriorityEntry("home", target); + break; + case BUILD_MODE: + menuManager.addPriorityEntry("build mode", target); + break; + case FRIENDS_HOUSE: + menuManager.addPriorityEntry("friend's house", target); + break; + } + } + + else if (config.swapOccultMode() != OccultAltarMode.VENERATE && option.equals("venerate")) + { + switch (config.swapOccultMode()) + { + case VENERATE: + menuManager.addPriorityEntry("Venerate", target); + break; + case ANCIENT: + menuManager.addPriorityEntry("Ancient", target); + break; + case LUNAR: + menuManager.addPriorityEntry("Lunar", target); + break; + case ARCEUUS: + menuManager.addPriorityEntry("Arceuus", target); + } + } + + else if (config.swapObeliskMode() != ObeliskMode.ACTIVATE && option.equals("activate")) + { + switch (config.swapObeliskMode()) + { + case ACTIVATE: + menuManager.addPriorityEntry("activate", target); + break; + case SET_DESTINATION: + menuManager.addPriorityEntry("set destination", target); + break; + case TELEPORT_TO_DESTINATION: + menuManager.addPriorityEntry("teleport to destination", target); + break; + } + } + + else if (config.swapHomePortalMode() != HouseMode.ENTER && option.equals("enter")) + { + switch (config.swapHomePortalMode()) + { + case HOME: + menuManager.addPriorityEntry("home", target); + break; + case BUILD_MODE: + menuManager.addPriorityEntry("build mode", target); + break; + case FRIENDS_HOUSE: + menuManager.addPriorityEntry("friend's house", target); + break; + } + } + + else if (config.swapFairyRingMode() != FairyRingMode.OFF && config.swapFairyRingMode() != FairyRingMode.ZANARIS + && (option.equals("zanaris") || option.equals("configure") || option.equals("tree"))) + { + if (config.swapFairyRingMode() == FairyRingMode.LAST_DESTINATION) + { + menuManager.addPriorityEntry("last-destination", target); + } + else if (config.swapFairyRingMode() == FairyRingMode.CONFIGURE) + { + menuManager.addPriorityEntry("configure", target); + } + } + + else if (config.swapFairyRingMode() == FairyRingMode.ZANARIS && option.equals("tree")) + { + menuManager.addPriorityEntry("zanaris", target); + } + } private void resetItemCompositionCache() { itemManager.invalidateItemCompositionCache(); @@ -372,343 +1039,151 @@ public class MenuEntrySwapperPlugin extends Plugin } } - @Subscribe - public void onMenuEntryAdded(MenuEntryAdded event) + private void addSwaps() +{ + if (config.getBurningAmulet()) { - if (client.getGameState() != GameState.LOGGED_IN) + menuManager.addSwap("remove", "burning amulet", config.getBurningAmuletMode().toString()); + } + + if (config.getCombatBracelet()) + { + menuManager.addSwap("remove", "combat bracelet", config.getCombatBraceletMode().toString()); + } + + if (config.getGamesNecklace()) + { + menuManager.addSwap("remove", "games necklace", config.getGamesNecklaceMode().toString()); + } + + if (config.getDuelingRing()) + { + menuManager.addSwap("remove", "ring of dueling", config.getDuelingRingMode().toString()); + } + + if (config.getGlory()) + { + menuManager.addSwap("remove", "amulet of glory", config.getGloryMode().toString()); + menuManager.addSwap("remove", "amulet of eternal glory", config.getGloryMode().toString()); + } + + if (config.getSkillsNecklace()) + { + menuManager.addSwap("remove", "skills necklace", config.getSkillsNecklaceMode().toString()); + } + + if (config.getNecklaceofPassage()) + { + menuManager.addSwap("remove", "necklace of passage", config.getNecklaceofPassageMode().toString()); + } + + if (config.getDigsitePendant()) + { + menuManager.addSwap("remove", "digsite pendant", config.getDigsitePendantMode().toString()); + } + + if (config.getSlayerRing()) + { + menuManager.addSwap("remove", "slayer ring", config.getSlayerRingMode().toString()); + } + + if (config.getXericsTalisman()) + { + menuManager.addSwap("remove", "xeric's talisman", config.getXericsTalismanMode().toString()); + } + + if (config.getRingofWealth()) + { + menuManager.addSwap("remove", "ring of wealth", config.getRingofWealthMode().toString()); + } + + if (config.swapMax()) + { + menuManager.addSwap("remove", "max cape", config.maxMode().toString()); + } +} + + private void removeSwaps() + { + menuManager.removeSwaps("burning amulet"); + menuManager.removeSwaps("combat bracelet"); + menuManager.removeSwaps("games necklace"); + menuManager.removeSwaps("ring of dueling"); + menuManager.removeSwaps("amulet of glory"); + menuManager.removeSwaps("amulet of eternal glory"); + menuManager.removeSwaps("skills necklace"); + menuManager.removeSwaps("necklace of passage"); + menuManager.removeSwaps("digsite pendant"); + menuManager.removeSwaps("slayer ring"); + menuManager.removeSwaps("xeric's talisman"); + menuManager.removeSwaps("ring of wealth"); + } + + private void delete(int target) + { + for (int i = entries.length - 1; i >= 0; i--) + { + if (entries[i].getIdentifier() == target) + { + entries = ArrayUtils.remove(entries, i); + i--; + } + } + client.setMenuEntries(entries); + } + + private boolean isPuroPuro() + { + Player player = client.getLocalPlayer(); + if (player == null) + { + return false; + } + else + { + WorldPoint location = player.getWorldLocation(); + return location.getRegionID() == PURO_PURO_REGION_ID; + } + } + + private void loadConstructionIDs(String from) + { + if (client.getGameState() != GameState.LOGGED_IN + || Strings.isNullOrEmpty(from) && leftClickConstructionIDs.isEmpty()) { return; } - final int eventId = event.getIdentifier(); - final String option = Text.removeTags(event.getOption()).toLowerCase(); - final String target = Text.removeTags(event.getTarget()).toLowerCase(); - final NPC hintArrowNpc = client.getHintArrowNpc(); - - if (hintArrowNpc != null - && hintArrowNpc.getIndex() == eventId - && NPC_MENU_TYPES.contains(MenuAction.of(event.getType()))) + if (!leftClickConstructionIDs.isEmpty()) { - return; - } - - if (option.equals("talk-to")) - { - if (config.swapPickpocket() && target.contains("h.a.m.")) + for (int i : leftClickConstructionIDs) { - swap(client, "pickpocket", option, target, true); + menuManager.toggleLeftClick("build", i, true); + menuManager.toggleLeftClick("remove", i, true); } - if (config.swapAbyssTeleport() && target.contains("mage of zamorak")) + leftClickConstructionIDs.clear(); + } + + if (config.getEasyConstruction() && + !Strings.isNullOrEmpty(from) && + buildingMode) + { + for (String s : Text.fromCSV(from)) { - swap(client, "teleport", option, target, true); + int id = Integer.parseInt(s.replaceAll("[^0-9]", "")); + + if (leftClickConstructionIDs.contains(id)) + { + continue; + } + + if (menuManager.toggleLeftClick("build", id, false) + || menuManager.toggleLeftClick("remove", id, false)) + { + leftClickConstructionIDs.add(id); + } } - - if (config.swapHardWoodGrove() && target.contains("rionasta")) - { - swap(client, "send-parcel", option, target, true); - } - if (config.swapBank()) - { - swap(client, "bank", option, target, true); - } - - if (config.swapContract()) - { - swap(client, "contract", option, target, true); - } - - if (config.swapExchange()) - { - swap(client, "exchange", option, target, true); - } - - if (config.swapDarkMage()) - { - swap(client, "repairs", option, target, true); - } - - // make sure assignment swap is higher priority than trade swap for slayer masters - if (config.swapAssignment()) - { - swap(client, "assignment", option, target, true); - } - - if (config.swapPlank()) - { - swap(client, "buy-plank", option, target, true); - } - - if (config.swapTrade()) - { - swap(client, "trade", option, target, true); - swap(client, "trade-with", option, target, true); - } - - if (config.claimSlime() && target.equals("robin")) - { - swap(client, "claim-slime", option, target, true); - } - - if (config.claimDynamite() && target.contains("Thirus")) - { - swap(client, "claim-dynamite", option, target, true); - } - - if (config.swapTravel()) - { - swap(client, "travel", option, target, true); - swap(client, "pay-fare", option, target, true); - swap(client, "charter", option, target, true); - swap(client, "take-boat", option, target, true); - swap(client, "fly", option, target, true); - swap(client, "jatizso", option, target, true); - swap(client, "neitiznot", option, target, true); - swap(client, "rellekka", option, target, true); - swap(client, "follow", option, target, true); - swap(client, "transport", option, target, true); - } - - if (config.swapPay()) - { - swap(client, "pay", option, target, true); - swap(client, "pay (", option, target, false); - } - - if (config.swapDream()) - { - swap(client, "dream", option, target, true); - } - - if (config.swapDecant()) - { - swap(client, "decant", option, target, true); - } - - if (config.swapQuick()) - { - swap(client, "quick-travel", option, target, true); - } - - if (config.swapStory()) - { - swap(client, "story", option, target, true); - } - - if (config.swapEscort()) - { - swap(client, "escort", option, target, true); - } - } - - else if (config.swapWildernessLever() && target.equals("lever") && option.equals("ardougne")) - { - swap(client, "edgeville", option, target, true); - } - - else if (config.swapMetamorphosis() && target.contains("baby chinchompa")) - { - swap(client, "metamorphosis", option, target, true); - } - - else if (config.swapStun() && target.contains("hoop snake")) - { - swap(client, "stun", option, target, true); - } - - else if (config.swapTravel() && option.equals("pass") && target.equals("energy barrier")) - { - swap(client, "pay-toll(2-ecto)", option, target, true); - } - - else if (config.swapTravel() && option.equals("open") && target.equals("gate")) - { - swap(client, "pay-toll(10gp)", option, target, true); - } - - else if (config.swapTravel() && option.equals("inspect") && target.equals("trapdoor")) - { - swap(client, "travel", option, target, true); - } - - else if (config.swapHarpoon() && option.equals("cage")) - { - swap(client, "harpoon", option, target, true); - } - - else if (config.swapHarpoon() && (option.equals("big net") || option.equals("net"))) - { - swap(client, "harpoon", option, target, true); - } - -else if (config.swapOccult() != OccultAltarMode.VENERATE && option.equals("venerate")) - { - switch (config.swapOccult()) - { - case VENERATE: - swap(client, "Venerate", option, target, true); - break; - case ANCIENT: - swap(client, "Ancient", option, target, true); - break; - case LUNAR: - swap(client, "Lunar", option, target, true); - break; - case ARCEUUS: - swap(client, "Arceuus", option, target, true); - } - - } - - else if (config.swapObelisk() != ObeliskMode.ACTIVATE && option.equals("activate")) - { - switch (config.swapObelisk()) - { - case ACTIVATE: - swap(client, "activate", option, target, true); - break; - case SET_DESTINATION: - swap(client, "set destination", option, target, true); - break; - case TELEPORT_TO_DESTINATION: - swap(client, "teleport to destination", option, target, true); - break; - } - } - - else if (config.swapHomePortal() != HouseMode.ENTER && option.equals("enter")) - { - switch (config.swapHomePortal()) - { - case HOME: - swap(client, "home", option, target, true); - break; - case BUILD_MODE: - swap(client, "build mode", option, target, true); - break; - case FRIENDS_HOUSE: - swap(client, "friend's house", option, target, true); - break; - } - } - else if (config.swapFairyRing() != FairyRingMode.OFF && config.swapFairyRing() != FairyRingMode.ZANARIS - && (option.equals("zanaris") || option.equals("configure") || option.equals("tree"))) - { - if (config.swapFairyRing() == FairyRingMode.LAST_DESTINATION) - { - swap(client, "last-destination", option, target, false); - } - else if (config.swapFairyRing() == FairyRingMode.CONFIGURE) - { - swap(client, "configure", option, target, false); - } - } - - else if (config.swapFairyRing() == FairyRingMode.ZANARIS && option.equals("tree")) - { - swap(client, "zanaris", option, target, false); - } - - else if (config.swapBoxTrap() && (option.equals("check") || option.equals("dismantle"))) - { - swap(client, "reset", option, target, true); - } - - else if (config.swapBoxTrap() && option.equals("take")) - { - swap(client, "lay", option, target, true); - swap(client, "activate", option, target, true); - } - - else if (config.swapChase() && option.equals("pick-up")) - { - swap(client, "chase", option, target, true); - } - - else if (config.swapBirdhouseEmpty() && option.equals("interact") && target.contains("birdhouse")) - { - swap(client, "empty", option, target, true); - } - - else if (config.swapQuick() && option.equals("ring")) - { - swap(client, "quick-start", option, target, true); - } - - else if (config.swapQuick() && option.equals("pass")) - { - swap(client, "quick-pass", option, target, true); - swap(client, "quick pass", option, target, true); - } - - else if (config.swapQuick() && option.equals("open")) - { - swap(client, "quick-open", option, target, true); - } - - else if (config.swapAdmire() && option.equals("admire")) - { - swap(client, "teleport", option, target, true); - swap(client, "spellbook", option, target, true); - swap(client, "perks", option, target, true); - } - - else if (config.swapPrivate() && option.equals("shared")) - { - swap(client, "private", option, target, true); - } - - else if (config.swapPick() && option.equals("pick")) - { - swap(client, "pick-lots", option, target, true); - } - - else if (config.swapSearch() && (option.equals("close") || option.equals("shut"))) - { - swap(client, "search", option, target, true); - } - - else if (config.swapRogueschests() && target.contains("chest")) - { - swap(client, "search for traps", option, target, true); - } - - else if (config.rockCake() && option.equals("eat")) - { - swap(client, "guzzle", option, target, true); - } - - - else if (config.shiftClickCustomization() && shiftModifier && !option.equals("use")) - { - Integer customOption = getSwapConfig(eventId); - - if (customOption != null && customOption == -1) - { - swap(client, "use", option, target, true); - } - } - - // Put all item-related swapping after shift-click - else if (config.swapTeleportItem() && option.equals("wear")) - { - swap(client, "rub", option, target, true); - swap(client, "teleport", option, target, true); - } - else if (option.equals("wield")) - { - if (config.swapTeleportItem()) - { - swap(client, "teleport", option, target, true); - } - } - else if (config.swapBones() && option.equals("bury")) - { - swap(client, "use", option, target, true); - } - else if (config.swapNexus() && target.contains("portal nexus")) - { - swap(client, "teleport menu", option, target, true); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/BurningAmuletMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/BurningAmuletMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/BurningAmuletMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/BurningAmuletMode.java index e1552adb67..3f198e2794 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/BurningAmuletMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/BurningAmuletMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum BurningAmuletMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/CombatBraceletMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/CombatBraceletMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/CombatBraceletMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/CombatBraceletMode.java index 000e8d8203..20bfe21abe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/CombatBraceletMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/CombatBraceletMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum CombatBraceletMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DigsitePendantMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DigsitePendantMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DigsitePendantMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DigsitePendantMode.java index 232feed044..95e84a3188 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DigsitePendantMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DigsitePendantMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum DigsitePendantMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DuelingRingMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DuelingRingMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DuelingRingMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DuelingRingMode.java index c3862fc8eb..6c4ebac7b6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/DuelingRingMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/DuelingRingMode.java @@ -22,7 +22,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum DuelingRingMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/FairyRingMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/FairyRingMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/FairyRingMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/FairyRingMode.java index 731561a9a6..13bab1fca1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/FairyRingMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/FairyRingMode.java @@ -22,7 +22,7 @@ * (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.menuentryswapper; +package net.runelite.client.plugins.menuentryswapper.util; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GamesNecklaceMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GamesNecklaceMode.java similarity index 95% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GamesNecklaceMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GamesNecklaceMode.java index 0f4abfb9a6..3d3bfb1e28 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GamesNecklaceMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GamesNecklaceMode.java @@ -22,7 +22,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum GamesNecklaceMode { @@ -30,7 +30,7 @@ public enum GamesNecklaceMode BARBARIAN_OUTPOST("Barbarian Outpost"), CORPOREAL_BEAST("Corporeal Beast"), TEARS_OF_GUTHIX("Tears of Guthix"), - WINTERTODT("Wintertodt Camp"); + WINTER("Wintertodt Camp"); private final String name; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GloryMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GloryMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GloryMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GloryMode.java index f3629af6cb..27a65bd379 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/GloryMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GloryMode.java @@ -22,7 +22,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum GloryMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/HouseMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HouseMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/HouseMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HouseMode.java index c445408f9e..ef5ae6e320 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/HouseMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HouseMode.java @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.menuentryswapper; +package net.runelite.client.plugins.menuentryswapper.util; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/MaxCapeMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/MaxCapeMode.java similarity index 87% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/MaxCapeMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/MaxCapeMode.java index 9290f8bc62..459f96a27f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/MaxCapeMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/MaxCapeMode.java @@ -1,4 +1,4 @@ -package net.runelite.client.plugins.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum MaxCapeMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/NecklaceOfPassageMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/NecklaceOfPassageMode.java similarity index 92% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/NecklaceOfPassageMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/NecklaceOfPassageMode.java index 74fae105d2..b0ae87e8c5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/NecklaceOfPassageMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/NecklaceOfPassageMode.java @@ -23,13 +23,13 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum NecklaceOfPassageMode { - WIZARDS_TOWER("Wizard's Tower"), + WIZARDS_TOWER("Wizards' Tower"), THE_OUTPOST("The Outpost"), - EAGLES_EYRIE("Eagle's Eyrie"); + EAGLES_EYRIE("Eagles' Eyrie"); private final String name; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ObeliskMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/ObeliskMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ObeliskMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/ObeliskMode.java index 150359dbc6..e233a879ff 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/ObeliskMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/ObeliskMode.java @@ -23,7 +23,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.client.plugins.menuentryswapper; +package net.runelite.client.plugins.menuentryswapper.util; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/OccultAltarMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/OccultAltarMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/OccultAltarMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/OccultAltarMode.java index fba9409acf..54778032de 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/OccultAltarMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/OccultAltarMode.java @@ -22,7 +22,7 @@ * (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.menuentryswapper; +package net.runelite.client.plugins.menuentryswapper.util; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/RingOfWealthMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/RingOfWealthMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/RingOfWealthMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/RingOfWealthMode.java index f30e74a6e4..adab01804a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/RingOfWealthMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/RingOfWealthMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum RingOfWealthMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SkillsNecklaceMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SkillsNecklaceMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SkillsNecklaceMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SkillsNecklaceMode.java index 7d60d834c3..a6624bf572 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SkillsNecklaceMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SkillsNecklaceMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum SkillsNecklaceMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SlayerRingMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SlayerRingMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SlayerRingMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SlayerRingMode.java index f9d1864f0e..2d103756ae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/SlayerRingMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/SlayerRingMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum SlayerRingMode { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/XericsTalismanMode.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/XericsTalismanMode.java similarity index 96% rename from runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/XericsTalismanMode.java rename to runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/XericsTalismanMode.java index ac5070143c..e559171fff 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/easyscape/util/XericsTalismanMode.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/XericsTalismanMode.java @@ -23,7 +23,7 @@ * (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.easyscape.util; +package net.runelite.client.plugins.menuentryswapper.util; public enum XericsTalismanMode {