From 779d5f57dc59482edca696849e815bdc5cee332b Mon Sep 17 00:00:00 2001 From: Lixfel Date: Tue, 19 Dec 2023 16:54:41 +0100 Subject: [PATCH] Revert "Update Tablist colors" This reverts commit 23291a7732c2e186446586c091e758a528c9eddb. --- .../steamwar/bungeecore/tablist/Tablist.java | 18 ++-------- .../bungeecore/tablist/TablistBuild.java | 12 ++----- .../bungeecore/tablist/TablistServer.java | 35 ++++++++++--------- 3 files changed, 22 insertions(+), 43 deletions(-) diff --git a/src/de/steamwar/bungeecore/tablist/Tablist.java b/src/de/steamwar/bungeecore/tablist/Tablist.java index 24f2031..4ac0208 100644 --- a/src/de/steamwar/bungeecore/tablist/Tablist.java +++ b/src/de/steamwar/bungeecore/tablist/Tablist.java @@ -21,8 +21,6 @@ package de.steamwar.bungeecore.tablist; import de.steamwar.bungeecore.Storage; import de.steamwar.messages.ChatSender; -import de.steamwar.sql.SteamwarUser; -import de.steamwar.sql.UserPerm; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelPipeline; @@ -214,19 +212,13 @@ public class Tablist extends MessageToMessageDecoder { break; case ADD_PLAYER: boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo()); - SteamwarUser viewee = SteamwarUser.get(player.getUniqueId()); for (PlayerListItem.Item item : list.getItems()) { item.setPing(1); if (playerNotOnTeamserver) { item.setDisplayName(new TextComponent()); item.setListed(false); } else if (item.getDisplayName() == null) { - String color = "§f"; - UserPerm.Prefix prefix = SteamwarUser.get(item.getUuid()).prefix(); - if (prefix != UserPerm.emptyPrefix || !TablistServer.hasTeamColor(viewee, item.getUuid())) { - color = prefix.getChatPrefix(); - } - item.setDisplayName(TextComponent.fromLegacy(color + item.getUsername())); + item.setDisplayName(TextComponent.fromLegacy("§7" + item.getUsername())); } item.setPublicKey(null); if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3) @@ -272,7 +264,6 @@ public class Tablist extends MessageToMessageDecoder { } boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo()); - SteamwarUser viewee = SteamwarUser.get(player.getUniqueId()); for(PlayerListItemUpdate.Action action : actions) { switch (action) { case ADD_PLAYER: @@ -282,12 +273,7 @@ public class Tablist extends MessageToMessageDecoder { item.setDisplayName(new TextComponent()); item.setListed(false); } else if (item.getDisplayName() == null) { - String color = "§f"; - UserPerm.Prefix prefix = SteamwarUser.get(item.getUuid()).prefix(); - if (prefix != UserPerm.emptyPrefix || !TablistServer.hasTeamColor(viewee, item.getUuid())) { - color = prefix.getChatPrefix(); - } - item.setDisplayName(TextComponent.fromLegacy(color + item.getUsername())); + item.setDisplayName(TextComponent.fromLegacy("§7" + item.getUsername())); } item.setPublicKey(null); if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3) diff --git a/src/de/steamwar/bungeecore/tablist/TablistBuild.java b/src/de/steamwar/bungeecore/tablist/TablistBuild.java index 64f554e..4f7f2b6 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistBuild.java +++ b/src/de/steamwar/bungeecore/tablist/TablistBuild.java @@ -22,8 +22,6 @@ package de.steamwar.bungeecore.tablist; import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Subserver; import de.steamwar.messages.ChatSender; -import de.steamwar.sql.SteamwarUser; -import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -64,15 +62,9 @@ public class TablistBuild implements TablistPart { tablist.add(new Item(null, viewer.parseToLegacy("TABLIST_BAU"), TablistServer.LIGHT_GRAY)); } - SteamwarUser steamwarUser = SteamwarUser.get(player.getUniqueId()); for (ServerInfo info : servers) { - players.get(info).forEach(item -> { - if (TablistServer.hasTeamColor(steamwarUser, item.getUuid())) { - ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); - item = new Item(p, true); - } - (server == info ? direct : tablist).add(item); - }); + TablistServer.teamify(players.get(info), player) + .forEach(((server == info) ? direct : tablist)::add); } } } diff --git a/src/de/steamwar/bungeecore/tablist/TablistServer.java b/src/de/steamwar/bungeecore/tablist/TablistServer.java index 3896f34..812588d 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistServer.java +++ b/src/de/steamwar/bungeecore/tablist/TablistServer.java @@ -21,16 +21,20 @@ package de.steamwar.bungeecore.tablist; import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Subserver; +import de.steamwar.sql.SteamwarUser; import de.steamwar.messages.ChatSender; import de.steamwar.network.packets.common.FightInfoPacket; -import de.steamwar.sql.SteamwarUser; 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; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; +import java.util.stream.Stream; public class TablistServer implements TablistPart { @@ -73,14 +77,7 @@ public class TablistServer implements TablistPart { items.add(new Item(null, "§7§l" + server.getName(), LIGHT_GRAY)); } - SteamwarUser steamwarUser = viewer.user(); - for (Item item : players) { - if (hasTeamColor(steamwarUser, item.getUuid())) { - ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); - item = new Item(p, true); - } - items.add(item); - } + teamify(players, player).forEach(items::add); } private void addPlayers(String prefix, List teamPlayers, Collection onlinePlayers){ @@ -91,12 +88,16 @@ public class TablistServer implements TablistPart { ).forEachOrdered(player -> players.add(new Item(player.getUniqueId(), prefix + player.getName(), Item.playerProperties(player)))); } - public static boolean hasTeamColor(SteamwarUser viewer, UUID viewee) { - if (viewer.getTeam() == 0) return false; - ProxiedPlayer p = BungeeCord.getInstance().getPlayer(viewee); - if (p == null) return false; - Subserver subserver = Subserver.getSubserver(p.getServer().getInfo()); - if (subserver != null && subserver.getType() == Servertype.ARENA) return false; - return SteamwarUser.get(p.getUniqueId()).getTeam() == viewer.getTeam(); + public static Stream teamify(List players, ProxiedPlayer player) { + int team = SteamwarUser.get(player.getUniqueId()).getTeam(); + if (team == 0) return players.stream(); + return players.stream().map(item -> { + ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); + if (p == null) return item; + Subserver subserver = Subserver.getSubserver(p.getServer().getInfo()); + if (subserver != null && subserver.getType() == Servertype.ARENA) return item; + if (SteamwarUser.get(p.getUniqueId()).getTeam() != team) return item; + return new Item(p, true); + }); } }