From 70a8d8e3ed0916cbc3f47b62f8d0c7f6aaf67f48 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Mon, 24 Oct 2022 17:16:16 +0200 Subject: [PATCH] Add Team showcase in tablist --- src/de/steamwar/bungeecore/tablist/TablistPart.java | 12 +++++++++++- .../steamwar/bungeecore/tablist/TablistServer.java | 10 +++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/de/steamwar/bungeecore/tablist/TablistPart.java b/src/de/steamwar/bungeecore/tablist/TablistPart.java index 23881162..b140114d 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistPart.java +++ b/src/de/steamwar/bungeecore/tablist/TablistPart.java @@ -20,6 +20,7 @@ package de.steamwar.bungeecore.tablist; import de.steamwar.bungeecore.sql.SteamwarUser; +import de.steamwar.bungeecore.sql.UserGroup; import de.steamwar.messages.ChatSender; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -51,8 +52,17 @@ interface TablistPart { } public Item(ProxiedPlayer player) { + this(player, false); + } + + public Item(ProxiedPlayer player, boolean sameTeam) { this.uuid = player.getUniqueId(); - this.displayName = reformat(SteamwarUser.get(player.getUniqueId()).getUserGroup().getColorCode() + player.getName()); + UserGroup userGroup = SteamwarUser.get(player.getUniqueId()).getUserGroup(); + if (userGroup == UserGroup.Member && sameTeam) { + this.displayName = reformat("§f" + player.getName()); + } else { + this.displayName = reformat(userGroup.getColorCode() + player.getName()); + } this.properties = playerProperties(player); } diff --git a/src/de/steamwar/bungeecore/tablist/TablistServer.java b/src/de/steamwar/bungeecore/tablist/TablistServer.java index 0a95a48b..3e47f261 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistServer.java +++ b/src/de/steamwar/bungeecore/tablist/TablistServer.java @@ -19,9 +19,11 @@ package de.steamwar.bungeecore.tablist; +import de.steamwar.bungeecore.BungeeCore; import de.steamwar.bungeecore.sql.SteamwarUser; import de.steamwar.messages.ChatSender; import de.steamwar.network.packets.common.FightInfoPacket; +import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.protocol.Property; @@ -73,7 +75,13 @@ public class TablistServer implements TablistPart { items.add(new Item(null, "§7§l" + server.getName(), LIGHT_GRAY)); } - items.addAll(players); + int team = SteamwarUser.get(player).getTeam(); + players.stream().map(item -> { + ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); + if (p == null) return item; + if (SteamwarUser.get(p).getTeam() != team) return item; + return new Item(p, true); + }).forEach(items::add); } private void addPlayers(String prefix, List teamPlayers, Collection onlinePlayers){