Skip to content

Commit

Permalink
Allow using * to update all boards in updateplayer command
Browse files Browse the repository at this point in the history
  • Loading branch information
ajgeiss0702 committed Jul 12, 2023
1 parent eff68eb commit ef1a8c6
Showing 1 changed file with 15 additions and 4 deletions.
Expand Up @@ -6,6 +6,7 @@
import us.ajg0702.commands.SubCommand;
import us.ajg0702.leaderboards.LeaderboardPlugin;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

Expand All @@ -23,7 +24,9 @@ public UpdatePlayer(LeaderboardPlugin plugin) {
public List<String> autoComplete(CommandSender commandSender, String[] args) {
if(args.length == 2) return null;
if(args.length == 1) {
return plugin.getTopManager().getBoards();
List<String> boards = new ArrayList<>(plugin.getTopManager().getBoards());
boards.add("*");
return boards;
}
return Collections.emptyList();
}
Expand All @@ -36,16 +39,24 @@ public void execute(CommandSender sender, String[] args, String label) {
}
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
String board = args[0];
if(!plugin.getCache().boardExists(board)) {
if(!plugin.getCache().boardExists(board) && !board.equals("*")) {
sender.sendMessage(message("&cThe board '"+board+"' does not exist."));
return;
}
@SuppressWarnings("deprecation")
OfflinePlayer p = Bukkit.getOfflinePlayer(args[1]);
plugin.getCache().updateStat(board, p);
if(board.equals("*")) {
plugin.getCache().updatePlayerStats(p);
} else {
plugin.getCache().updateStat(board, p);
}

boolean attemptHasWarning = CheckUpdate.checkUpdate(board, p, plugin, sender);
sender.sendMessage(message("&"+ (attemptHasWarning ? "e" : "a") +"Attempted to update stat for "+p.getName()+" on board "+board));
sender.sendMessage(message(
"&"+ (attemptHasWarning ? "e" : "a") +
"Attempted to update stat for "+p.getName()+" on " +
(board.equals("*") ? "all boards" : "board "+board)
));
});
}
}

0 comments on commit ef1a8c6

Please sign in to comment.