From bdf556f4bd0ba46dd866e21ff0b1fff7e68ddfe8 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 6 Apr 2022 10:22:15 -0400 Subject: [PATCH] chat commands: support boss shortnames for !lvl --- .../runelite/client/hiscore/HiscoreSkill.java | 2 +- .../chatcommands/ChatCommandsPlugin.java | 26 ++++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java index 6cf3dc94ca..69b0f11b67 100644 --- a/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java +++ b/runelite-client/src/main/java/net/runelite/client/hiscore/HiscoreSkill.java @@ -94,7 +94,7 @@ public enum HiscoreSkill KALPHITE_QUEEN("Kalphite Queen", BOSS), KING_BLACK_DRAGON("King Black Dragon", BOSS), KRAKEN("Kraken", BOSS), - KREEARRA("Kree'Arra", BOSS), + KREEARRA("Kree'arra", BOSS), KRIL_TSUTSAROTH("K'ril Tsutsaroth", BOSS), MIMIC("Mimic", BOSS), NEX("Nex", BOSS), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index ef23035963..b01dbec300 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -1339,13 +1339,8 @@ public class ChatCommandsPlugin extends Plugin search = message.substring(LEVEL_COMMAND_STRING.length() + 1); } - search = SkillAbbreviations.getFullName(search); - final HiscoreSkill skill; - try - { - skill = HiscoreSkill.valueOf(search.toUpperCase()); - } - catch (IllegalArgumentException i) + final HiscoreSkill skill = findHiscoreSkill(search); + if (skill == null) { return; } @@ -2171,4 +2166,21 @@ public class ChatCommandsPlugin extends Plugin return WordUtils.capitalize(boss); } } + + private static HiscoreSkill findHiscoreSkill(String search) + { + String s = SkillAbbreviations.getFullName(search); + if (s == search) + { + s = longBossName(search); + } + for (HiscoreSkill skill : HiscoreSkill.values()) + { + if (skill.getName().equals(s)) + { + return skill; + } + } + return null; + } }