From 6c94efaf90f8cf45b87a6e664057fa25ff9956bd Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Mon, 10 Nov 2025 09:00:13 +0100 Subject: [PATCH] Improve TeamCommand.info --- .../SQL/src/de/steamwar/sql/TeamTeilnahme.kt | 8 ++++++ .../velocitycore/commands/TeamCommand.java | 27 +++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/CommonCore/SQL/src/de/steamwar/sql/TeamTeilnahme.kt b/CommonCore/SQL/src/de/steamwar/sql/TeamTeilnahme.kt index 4a278aef..1fd92e3c 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/TeamTeilnahme.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/TeamTeilnahme.kt @@ -81,6 +81,14 @@ class TeamTeilnahme(id: EntityID) : CompositeEntity(id) { fun getEvents(teamId: Int) = useDb { find { TeamTeilnahmeTable.teamId eq teamId }.map { Event.byId(it.eventId.value) }.toSet() } + + @JvmStatic + fun getPlacement(team: Team, event: Event) = useDb { + get(CompositeID { + it[TeamTeilnahmeTable.teamId] = team.id + it[TeamTeilnahmeTable.eventId] = event.id + }).placement + } } val teamId by TeamTeilnahmeTable.teamId diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java index 9fce599b..b17a4fcc 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java @@ -39,6 +39,7 @@ import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.velocitycore.inventory.SWItem; import de.steamwar.velocitycore.inventory.SWListInv; +import lombok.val; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.HoverEvent; @@ -307,7 +308,29 @@ public class TeamCommand extends SWCommand { Set events = TeamTeilnahme.getEvents(team.getTeamId()); if(!events.isEmpty()){ - sender.prefixless("TEAM_INFO_EVENTS", events.size(), events.stream().map(Event::getEventName).collect(Collectors.joining(", "))); + sender.prefixless("TEAM_INFO_EVENTS", events.size(), events.stream().map(event -> { + Integer placement = TeamTeilnahme.getPlacement(team, event); + if (placement != null) { + String prefix; + switch (placement) { + case 1: + prefix = "§x§F§F§D§7§0§e\uD83C\uDFC6 "; + break; + case 2: + prefix = "§x§C§0§C§0§C§7\uD83C\uDFC6 "; + break; + case 3: + prefix = "§x§8§C§7§8§5§6\uD83C\uDFC6 "; + break; + default: + prefix = "§f" + placement + ". "; + break; + } + return prefix + event.getEventName(); + } else { + return event.getEventName(); + } + }).collect(Collectors.joining("§8,§e "))); } } @@ -328,7 +351,7 @@ public class TeamCommand extends SWCommand { st.append(user.getUserName()); return st.toString(); }) - .collect(Collectors.joining(" ")); + .collect(Collectors.joining("§8,§r ")); } @Register("list")