From cbc3552d1504ed9dcab75490a981debbd216eb60 Mon Sep 17 00:00:00 2001 From: hex Date: Sun, 18 May 2025 20:25:11 +0200 Subject: [PATCH] add: team info --- .../java/rip/iwakura/civil/commands/Team.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/main/java/rip/iwakura/civil/commands/Team.java b/src/main/java/rip/iwakura/civil/commands/Team.java index fb56dc4..7242f20 100644 --- a/src/main/java/rip/iwakura/civil/commands/Team.java +++ b/src/main/java/rip/iwakura/civil/commands/Team.java @@ -1,5 +1,6 @@ package rip.iwakura.civil.commands; +import java.util.List; import java.sql.SQLException; import java.text.Format; @@ -188,12 +189,42 @@ public class Team { }))); }; + // List team info. + private LiteralArgumentBuilder getTeamInfo() { + return Commands.literal("info") + .then( + Commands.argument("team", new TeamArgument(database)) + .executes(ctx -> { + try { + CivilTeam civilTeam = ctx.getArgument("team", CivilTeam.class); + CommandSender sender = ctx.getSource().getSender(); + + String finalMessage = String.format( + "Team: %s\nPrefix: %s\nPlayers:", + civilTeam.getName(), civilTeam.getPrefix()); + + List members = database.getAllPlayers(civilTeam); + + for (CivilPlayer member : members) + finalMessage += " " + member.getName(); + + sender.sendMessage(MiniMessage.miniMessage().deserialize(finalMessage)); + + return Command.SINGLE_SUCCESS; + } catch (SQLException e) { + e.printStackTrace(); + return -1; + } + })); + }; + public LiteralCommandNode getCommand() { return Commands.literal("team") .then(createTeam()) .then(joinTeam()) .then(teamChat()) .then(homeCommand()) + .then(getTeamInfo()) .build(); }