chat-commands: add league points command

This commit is contained in:
dekvall
2020-10-06 03:38:13 +02:00
committed by Adam
parent a2d693fc74
commit 901f294e06
2 changed files with 35 additions and 2 deletions

View File

@@ -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<br> !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"

View File

@@ -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;