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 b01dbec300..ec92e92d39 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 @@ -2167,9 +2167,82 @@ public class ChatCommandsPlugin extends Plugin } } + private static String longSkillName(String skill) + { + switch (skill.toUpperCase()) + { + case "ATK": + case "ATT": + return net.runelite.api.Skill.ATTACK.getName(); + case "DEF": + return net.runelite.api.Skill.DEFENCE.getName(); + case "STR": + return net.runelite.api.Skill.STRENGTH.getName(); + case "HEALTH": + case "HIT": + case "HITPOINT": + case "HP": + return net.runelite.api.Skill.HITPOINTS.getName(); + case "RANGE": + case "RANGING": + case "RNG": + return net.runelite.api.Skill.RANGED.getName(); + case "PRAY": + return net.runelite.api.Skill.PRAYER.getName(); + case "MAG": + case "MAGE": + return net.runelite.api.Skill.MAGIC.getName(); + case "COOK": + return net.runelite.api.Skill.COOKING.getName(); + case "WC": + case "WOOD": + case "WOODCUT": + return net.runelite.api.Skill.WOODCUTTING.getName(); + case "FLETCH": + return net.runelite.api.Skill.FLETCHING.getName(); + case "FISH": + return net.runelite.api.Skill.FISHING.getName(); + case "FM": + case "FIRE": + return net.runelite.api.Skill.FIREMAKING.getName(); + case "CRAFT": + return net.runelite.api.Skill.CRAFTING.getName(); + case "SMITH": + return net.runelite.api.Skill.SMITHING.getName(); + case "MINE": + return net.runelite.api.Skill.MINING.getName(); + case "HL": + case "HERB": + return net.runelite.api.Skill.HERBLORE.getName(); + case "AGI": + case "AGIL": + return net.runelite.api.Skill.AGILITY.getName(); + case "THIEF": + return net.runelite.api.Skill.THIEVING.getName(); + case "SLAY": + return net.runelite.api.Skill.SLAYER.getName(); + case "FARM": + return net.runelite.api.Skill.FARMING.getName(); + case "RC": + case "RUNE": + case "RUNECRAFTING": + return net.runelite.api.Skill.RUNECRAFT.getName(); + case "HUNT": + return net.runelite.api.Skill.HUNTER.getName(); + case "CON": + case "CONSTRUCT": + return net.runelite.api.Skill.CONSTRUCTION.getName(); + case "ALL": + case "TOTAL": + return net.runelite.api.Skill.OVERALL.getName(); + default: + return skill; + } + } + private static HiscoreSkill findHiscoreSkill(String search) { - String s = SkillAbbreviations.getFullName(search); + String s = longSkillName(search); if (s == search) { s = longBossName(search); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/SkillAbbreviations.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/SkillAbbreviations.java deleted file mode 100644 index 754c2f869e..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/SkillAbbreviations.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.client.plugins.chatcommands; - -import com.google.common.collect.ImmutableMap; -import java.util.Map; -import net.runelite.api.Skill; - -class SkillAbbreviations -{ - private static final Map MAP; - - static - { - ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); - builder.put("ATK", Skill.ATTACK.getName()); - builder.put("ATT", Skill.ATTACK.getName()); - builder.put("DEF", Skill.DEFENCE.getName()); - builder.put("STR", Skill.STRENGTH.getName()); - builder.put("HEALTH", Skill.HITPOINTS.getName()); - builder.put("HIT", Skill.HITPOINTS.getName()); - builder.put("HITPOINT", Skill.HITPOINTS.getName()); - builder.put("HP", Skill.HITPOINTS.getName()); - builder.put("RANGE", Skill.RANGED.getName()); - builder.put("RANGING", Skill.RANGED.getName()); - builder.put("RNG", Skill.RANGED.getName()); - builder.put("PRAY", Skill.PRAYER.getName()); - builder.put("MAG", Skill.MAGIC.getName()); - builder.put("MAGE", Skill.MAGIC.getName()); - builder.put("COOK", Skill.COOKING.getName()); - builder.put("WC", Skill.WOODCUTTING.getName()); - builder.put("WOOD", Skill.WOODCUTTING.getName()); - builder.put("WOODCUT", Skill.WOODCUTTING.getName()); - builder.put("FLETCH", Skill.FLETCHING.getName()); - builder.put("FISH", Skill.FISHING.getName()); - builder.put("FM", Skill.FIREMAKING.getName()); - builder.put("FIRE", Skill.FIREMAKING.getName()); - builder.put("CRAFT", Skill.CRAFTING.getName()); - builder.put("SMITH", Skill.SMITHING.getName()); - builder.put("MINE", Skill.MINING.getName()); - builder.put("HL", Skill.HERBLORE.getName()); - builder.put("HERB", Skill.HERBLORE.getName()); - builder.put("AGI", Skill.AGILITY.getName()); - builder.put("AGIL", Skill.AGILITY.getName()); - builder.put("THIEF", Skill.THIEVING.getName()); - builder.put("SLAY", Skill.SLAYER.getName()); - builder.put("FARM", Skill.FARMING.getName()); - builder.put("RC", Skill.RUNECRAFT.getName()); - builder.put("RUNE", Skill.RUNECRAFT.getName()); - builder.put("RUNECRAFTING", Skill.RUNECRAFT.getName()); - builder.put("HUNT", Skill.HUNTER.getName()); - builder.put("CON", Skill.CONSTRUCTION.getName()); - builder.put("CONSTRUCT", Skill.CONSTRUCTION.getName()); - builder.put("ALL", Skill.OVERALL.getName()); - builder.put("TOTAL", Skill.OVERALL.getName()); - MAP = builder.build(); - } - - /** - * Takes a string representing the name of a skill, and if abbreviated, - * expands it into its full canonical name. Case-insensitive. - * - * @param abbrev Skill name that may be abbreviated. - * @return Full skill name if recognized, else the original string. - */ - static String getFullName(String abbrev) - { - return MAP.getOrDefault(abbrev.toUpperCase(), abbrev); - } -}