From 141d4eac0de122b8ffc434e0644a03fe4821d4dc Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 12 Jun 2021 15:02:00 -0400 Subject: [PATCH] menu swapper: add achievement diary items with non-standard teleport options Co-authored-by: GG46KG --- .../MenuEntrySwapperConfig.java | 84 +++++++++++++++++++ .../MenuEntrySwapperPlugin.java | 16 ++++ 2 files changed, 100 insertions(+) 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 e9ed2db3fb..07eef368c3 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 @@ -66,6 +66,46 @@ public interface MenuEntrySwapperConfig extends Config ) String uiSection = "ui"; + enum ArdougneCloakMode + { + WEAR, + MONASTERY, + FARM, + } + + enum KaramjaGlovesMode + { + WEAR, + GEM_MINE, + DURADEL, + } + + enum MorytaniaLegsMode + { + WEAR, + ECTOFUNTUS, + BURGH_DE_ROTT; + + @Override + public String toString() + { + switch (this) + { + case BURGH_DE_ROTT: + return "Burgh de Rott"; + default: + return name(); + } + } + } + + enum RadasBlessingMode + { + EQUIP, + KOUREND_WOODLAND, + MOUNT_KARUULM, + } + @ConfigItem( position = -2, keyName = "shiftClickCustomization", @@ -430,6 +470,50 @@ public interface MenuEntrySwapperConfig extends Config return false; } + @ConfigItem( + keyName = "swapKaramjaGloves", + name = "Karamja Gloves", + description = "Swap Wear with the Gem Mine or Duradel teleport on the Karamja Gloves 3 and 4", + section = itemSection + ) + default KaramjaGlovesMode swapKaramjaGlovesMode() + { + return KaramjaGlovesMode.WEAR; + } + + @ConfigItem( + keyName = "swapArdougneCloak", + name = "Ardougne Cloak", + description = "Swap Wear with Monastery Teleport or Farm Teleport on the Ardougne cloak.", + section = itemSection + ) + default ArdougneCloakMode swapArdougneCloakMode() + { + return ArdougneCloakMode.WEAR; + } + + @ConfigItem( + keyName = "swapRadasBlessing", + name = "Rada's Blessing", + description = "Swap Equip with the Woodland or Mount Karuulm teleport on Rada's Blessing.", + section = itemSection + ) + default RadasBlessingMode swapRadasBlessingMode() + { + return RadasBlessingMode.EQUIP; + } + + @ConfigItem( + keyName = "swapMorytaniaLegs", + name = "Morytania Legs", + description = "Swap Wear with the Ectofunctus or Burgh de Rott teleport on the Morytania Legs.", + section = itemSection + ) + default MorytaniaLegsMode swapMorytaniaLegsMode() + { + return MorytaniaLegsMode.WEAR; + } + @ConfigItem( keyName = "swapAbyssTeleport", name = "Teleport to Abyss", 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 11a73a776b..df8b0b3014 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 @@ -68,6 +68,10 @@ 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 static net.runelite.client.plugins.menuentryswapper.MenuEntrySwapperConfig.ArdougneCloakMode; +import static net.runelite.client.plugins.menuentryswapper.MenuEntrySwapperConfig.KaramjaGlovesMode; +import static net.runelite.client.plugins.menuentryswapper.MenuEntrySwapperConfig.MorytaniaLegsMode; +import static net.runelite.client.plugins.menuentryswapper.MenuEntrySwapperConfig.RadasBlessingMode; import net.runelite.client.util.Text; import org.apache.commons.lang3.ArrayUtils; @@ -354,6 +358,18 @@ public class MenuEntrySwapperPlugin extends Plugin swap("wield", "teleport", config::swapTeleportItem); swap("wield", "invoke", config::swapTeleportItem); + swap("wear", "farm teleport", () -> config.swapArdougneCloakMode() == ArdougneCloakMode.FARM); + swap("wear", "monastery teleport", () -> config.swapArdougneCloakMode() == ArdougneCloakMode.MONASTERY); + + swap("wear", "gem mine", () -> config.swapKaramjaGlovesMode() == KaramjaGlovesMode.GEM_MINE); + swap("wear", "duradel", () -> config.swapKaramjaGlovesMode() == KaramjaGlovesMode.DURADEL); + + swap("equip", "kourend woodland", () -> config.swapRadasBlessingMode() == RadasBlessingMode.KOUREND_WOODLAND); + swap("equip", "mount karuulm", () -> config.swapRadasBlessingMode() == RadasBlessingMode.MOUNT_KARUULM); + + swap("wear", "ecto teleport", () -> config.swapMorytaniaLegsMode() == MorytaniaLegsMode.ECTOFUNTUS); + swap("wear", "burgh teleport", () -> config.swapMorytaniaLegsMode() == MorytaniaLegsMode.BURGH_DE_ROTT); + swap("bury", "use", config::swapBones); swap("wield", "battlestaff", "use", config::swapBattlestaves);