diff --git a/src/de/steamwar/bungeecore/tablist/TablistBuild.java b/src/de/steamwar/bungeecore/tablist/TablistBuild.java index db469f21..15039fe4 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistBuild.java +++ b/src/de/steamwar/bungeecore/tablist/TablistBuild.java @@ -21,9 +21,7 @@ package de.steamwar.bungeecore.tablist; import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Subserver; -import de.steamwar.bungeecore.sql.SteamwarUser; import de.steamwar.messages.ChatSender; -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)); } - int team = SteamwarUser.get(player).getTeam(); for (ServerInfo info : servers) { - players.get(info).stream() - .map(item -> { - ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); - if (p == null) return item; - if (SteamwarUser.get(p.getUniqueId()).getTeam() != team) return item; - return new Item(p, true); - }).forEach(((server == info) ? direct : tablist)::add); + 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 59a56f2a..2a63645b 100644 --- a/src/de/steamwar/bungeecore/tablist/TablistServer.java +++ b/src/de/steamwar/bungeecore/tablist/TablistServer.java @@ -33,6 +33,7 @@ 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 { @@ -75,13 +76,7 @@ public class TablistServer implements TablistPart { items.add(new Item(null, "§7§l" + server.getName(), LIGHT_GRAY)); } - 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.getUniqueId()).getTeam() != team) return item; - return new Item(p, true); - }).forEach(items::add); + teamify(players, player).forEach(items::add); } private void addPlayers(String prefix, List teamPlayers, Collection onlinePlayers){ @@ -91,4 +86,14 @@ public class TablistServer implements TablistPart { (p1, p2) -> p1.getName().compareToIgnoreCase(p2.getName()) ).forEachOrdered(player -> players.add(new Item(player.getUniqueId(), prefix + player.getName(), Item.playerProperties(player)))); } + + public static Stream teamify(List players, ProxiedPlayer player) { + int team = SteamwarUser.get(player.getUniqueId()).getTeam(); + return players.stream().map(item -> { + ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid()); + if (p == null) return item; + if (SteamwarUser.get(p.getUniqueId()).getTeam() != team) return item; + return new Item(p, true); + }); + } }