diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java index 30fc30ab96..4a8d46bd4e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsConfig.java @@ -157,6 +157,17 @@ public interface ChatCommandsConfig extends Config @ConfigItem( position = 11, + keyName = "lp", + name = "LP Command", + description = "Configures whether the League Points command is enabled
!lp" + ) + default boolean lp() + { + return true; + } + + @ConfigItem( + position = 12, keyName = "clearSingleWord", name = "Clear Single Word", description = "Enable hot key to clear single word at a time" @@ -167,7 +178,7 @@ public interface ChatCommandsConfig extends Config } @ConfigItem( - position = 12, + position = 13, keyName = "clearEntireChatBox", name = "Clear Chat Box", description = "Enable hotkey to clear entire chat box" 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 5fce86024c..0424e0a961 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 @@ -126,6 +126,7 @@ public class ChatCommandsPlugin extends Plugin private static final String PB_COMMAND = "!pb"; private static final String GC_COMMAND_STRING = "!gc"; private static final String DUEL_ARENA_COMMAND = "!duels"; + private static final String LEAGUE_POINTS_COMMAND = "!lp"; @VisibleForTesting static final int ADV_LOG_EXPLOITS_TEXT_INDEX = 1; @@ -184,6 +185,7 @@ public class ChatCommandsPlugin extends Plugin chatCommandManager.registerCommandAsync(BOUNTY_HUNTER_ROGUE_COMMAND, this::bountyHunterRogueLookup); chatCommandManager.registerCommandAsync(CLUES_COMMAND_STRING, this::clueLookup); chatCommandManager.registerCommandAsync(LAST_MAN_STANDING_COMMAND, this::lastManStandingLookup); + chatCommandManager.registerCommandAsync(LEAGUE_POINTS_COMMAND, this::leaguePointsLookup); chatCommandManager.registerCommandAsync(KILLCOUNT_COMMAND_STRING, this::killCountLookup, this::killCountSubmit); chatCommandManager.registerCommandAsync(QP_COMMAND_STRING, this::questPointsLookup, this::questPointsSubmit); chatCommandManager.registerCommandAsync(PB_COMMAND, this::personalBestLookup, this::personalBestSubmit); @@ -206,6 +208,7 @@ public class ChatCommandsPlugin extends Plugin chatCommandManager.unregisterCommand(BOUNTY_HUNTER_ROGUE_COMMAND); chatCommandManager.unregisterCommand(CLUES_COMMAND_STRING); chatCommandManager.unregisterCommand(LAST_MAN_STANDING_COMMAND); + chatCommandManager.unregisterCommand(LEAGUE_POINTS_COMMAND); chatCommandManager.unregisterCommand(KILLCOUNT_COMMAND_STRING); chatCommandManager.unregisterCommand(QP_COMMAND_STRING); chatCommandManager.unregisterCommand(PB_COMMAND); @@ -1218,6 +1221,16 @@ public class ChatCommandsPlugin extends Plugin } } + private void leaguePointsLookup(ChatMessage chatMessage, String message) + { + if (!config.lp()) + { + return; + } + + minigameLookup(chatMessage, HiscoreSkill.LEAGUE_POINTS); + } + private void bountyHunterHunterLookup(ChatMessage chatMessage, String message) { if (!config.bh()) @@ -1254,7 +1267,13 @@ public class ChatCommandsPlugin extends Plugin { final Skill hiscoreSkill; final HiscoreLookup lookup = getCorrectLookupFor(chatMessage); - final HiscoreResult result = hiscoreClient.lookup(lookup.getName(), lookup.getEndpoint()); + + // League points only exist on the league hiscores + final HiscoreEndpoint endPoint = minigame == HiscoreSkill.LEAGUE_POINTS ? + HiscoreEndpoint.LEAGUE : + lookup.getEndpoint(); + + final HiscoreResult result = hiscoreClient.lookup(lookup.getName(), endPoint); if (result == null) { @@ -1273,6 +1292,9 @@ public class ChatCommandsPlugin extends Plugin case LAST_MAN_STANDING: hiscoreSkill = result.getLastManStanding(); break; + case LEAGUE_POINTS: + hiscoreSkill = result.getLeaguePoints(); + break; default: log.warn("error looking up {} score: not implemented", minigame.getName().toLowerCase()); return;