From 8cbdb4d9c6d846a829b5b7a6688fd14b029a5c3e Mon Sep 17 00:00:00 2001 From: Andreas Troelsen Date: Thu, 1 Jul 2021 23:06:05 +0200 Subject: [PATCH] Use MobArena's global messenger for query commands. Changes the command output in the query commands to the same approach used in the import/export and delete commands for better consistency (and arguably prettier output). It could probably still do with some fine tuning or maybe custmization options, but that's out of scope for this particular issue. Closes #1 --- .../stats/command/ArenaStatsCommand.java | 27 +++++++++++++------ .../stats/command/GlobalStatsCommand.java | 23 ++++++++++++---- .../stats/command/PlayerStatsCommand.java | 21 +++++++++++---- 3 files changed, 53 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/mobarena/stats/command/ArenaStatsCommand.java b/src/main/java/org/mobarena/stats/command/ArenaStatsCommand.java index f82b51c..43b0061 100644 --- a/src/main/java/org/mobarena/stats/command/ArenaStatsCommand.java +++ b/src/main/java/org/mobarena/stats/command/ArenaStatsCommand.java @@ -1,5 +1,6 @@ package org.mobarena.stats.command; +import com.garbagemule.MobArena.Messenger; import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.framework.ArenaMaster; @@ -11,8 +12,14 @@ import org.mobarena.stats.MobArenaStatsPlugin; import org.mobarena.stats.store.ArenaStats; import org.mobarena.stats.store.StatsStore; +import java.util.Arrays; import java.util.List; +import static java.lang.String.format; +import static org.bukkit.ChatColor.AQUA; +import static org.bukkit.ChatColor.RESET; +import static org.bukkit.ChatColor.YELLOW; + @CommandInfo( name = "arena-stats", pattern = "arena-stats", @@ -32,17 +39,21 @@ public class ArenaStatsCommand implements Command { } String slug = Slugs.create(args[0]); + Messenger messenger = am.getGlobalMessenger(); plugin.getAsyncExecutor().execute(() -> { StatsStore store = plugin.getStatsStore(); ArenaStats stats = store.getArenaStats(slug); - sender.sendMessage("Stats for arena " + slug + ":"); - sender.sendMessage("- Highest wave: " + stats.highestWave); - sender.sendMessage("- Longest duration: " + stats.highestSeconds + " secs"); - sender.sendMessage("- Most kills: " + stats.highestKills); - sender.sendMessage("- Total sessions: " + stats.totalSessions); - sender.sendMessage("- Total duration: " + stats.totalSeconds + " secs"); - sender.sendMessage("- Total kills: " + stats.totalKills); - sender.sendMessage("- Total waves: " + stats.totalWaves); + List lines = Arrays.asList( + format("Stats for arena %s%s%s:", YELLOW, slug, RESET), + format("- Highest wave: %s%d%s", AQUA, stats.highestWave, RESET), + format("- Longest duration: %s%d%s secs", AQUA, stats.highestSeconds, RESET), + format("- Most kills: %s%d%s", AQUA, stats.highestKills, RESET), + format("- Total sessions: %s%d%s", AQUA, stats.totalSessions, RESET), + format("- Total duration: %s%d%s secs", AQUA, stats.totalSeconds, RESET), + format("- Total kills: %s%d%s", AQUA, stats.totalKills, RESET), + format("- Total waves: %s%d%s", AQUA, stats.totalWaves, RESET) + ); + messenger.tell(sender, String.join("\n", lines)); }); return true; diff --git a/src/main/java/org/mobarena/stats/command/GlobalStatsCommand.java b/src/main/java/org/mobarena/stats/command/GlobalStatsCommand.java index 74aaf78..fa9ff9f 100644 --- a/src/main/java/org/mobarena/stats/command/GlobalStatsCommand.java +++ b/src/main/java/org/mobarena/stats/command/GlobalStatsCommand.java @@ -1,5 +1,6 @@ package org.mobarena.stats.command; +import com.garbagemule.MobArena.Messenger; import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.framework.ArenaMaster; @@ -9,6 +10,14 @@ import org.mobarena.stats.MobArenaStatsPlugin; import org.mobarena.stats.store.GlobalStats; import org.mobarena.stats.store.StatsStore; +import java.util.Arrays; +import java.util.List; + +import static java.lang.String.format; +import static org.bukkit.ChatColor.AQUA; +import static org.bukkit.ChatColor.RESET; +import static org.bukkit.ChatColor.YELLOW; + @CommandInfo( name = "global-stats", pattern = "global-stats", @@ -23,14 +32,18 @@ public class GlobalStatsCommand implements Command { // :( MobArenaStats plugin = MobArenaStatsPlugin.getInstance(); + Messenger messenger = am.getGlobalMessenger(); plugin.getAsyncExecutor().execute(() -> { StatsStore store = plugin.getStatsStore(); GlobalStats stats = store.getGlobalStats(); - sender.sendMessage("Global stats:"); - sender.sendMessage("- Total sessions: " + stats.totalSessions); - sender.sendMessage("- Total duration: " + stats.totalSeconds + " secs"); - sender.sendMessage("- Total kills: " + stats.totalKills); - sender.sendMessage("- Total waves: " + stats.totalWaves); + List lines = Arrays.asList( + format("Global stats across %sall arenas%s:", YELLOW, RESET), + format("- Total sessions: %s%d%s", AQUA, stats.totalSessions, RESET), + format("- Total duration: %s%d%s secs", AQUA, stats.totalSeconds, RESET), + format("- Total kills: %s%d%s", AQUA, stats.totalKills, RESET), + format("- Total waves: %s%d%s", AQUA, stats.totalWaves, RESET) + ); + messenger.tell(sender, String.join("\n", lines)); }); return true; diff --git a/src/main/java/org/mobarena/stats/command/PlayerStatsCommand.java b/src/main/java/org/mobarena/stats/command/PlayerStatsCommand.java index 9b1daeb..445a25f 100644 --- a/src/main/java/org/mobarena/stats/command/PlayerStatsCommand.java +++ b/src/main/java/org/mobarena/stats/command/PlayerStatsCommand.java @@ -1,5 +1,6 @@ package org.mobarena.stats.command; +import com.garbagemule.MobArena.Messenger; import com.garbagemule.MobArena.commands.Command; import com.garbagemule.MobArena.commands.CommandInfo; import com.garbagemule.MobArena.framework.ArenaMaster; @@ -10,8 +11,14 @@ import org.mobarena.stats.MobArenaStatsPlugin; import org.mobarena.stats.store.PlayerStats; import org.mobarena.stats.store.StatsStore; +import java.util.Arrays; import java.util.List; +import static java.lang.String.format; +import static org.bukkit.ChatColor.AQUA; +import static org.bukkit.ChatColor.RESET; +import static org.bukkit.ChatColor.YELLOW; + @CommandInfo( name = "player-stats", pattern = "player-stats", @@ -36,14 +43,18 @@ public class PlayerStatsCommand implements Command { name = args[0]; } + Messenger messenger = am.getGlobalMessenger(); plugin.getAsyncExecutor().execute(() -> { StatsStore store = plugin.getStatsStore(); PlayerStats stats = store.getPlayerStats(name); - sender.sendMessage("Stats for player " + name + ":"); - sender.sendMessage("- Total sessions: " + stats.totalSessions); - sender.sendMessage("- Total duration: " + stats.totalSeconds + " secs"); - sender.sendMessage("- Total kills: " + stats.totalKills); - sender.sendMessage("- Total waves: " + stats.totalWaves); + List lines = Arrays.asList( + format("Stats for player %s%s%s:", YELLOW, name, RESET), + format("- Total sessions: %s%d%s", AQUA, stats.totalSessions, RESET), + format("- Total duration: %s%d%s secs", AQUA, stats.totalSeconds, RESET), + format("- Total kills: %s%d%s", AQUA, stats.totalKills, RESET), + format("- Total waves: %s%d%s", AQUA, stats.totalWaves, RESET) + ); + messenger.tell(sender, String.join("\n", lines)); }); return true;