From 10e02233f314a1ad050afd6beb2cf5d11b8e198b Mon Sep 17 00:00:00 2001 From: William Date: Sun, 26 Feb 2023 20:34:21 +0000 Subject: [PATCH] Fix wrong team names being sent in packets to joining players --- .../net/william278/velocitab/packet/ScoreboardManager.java | 4 ++-- .../java/net/william278/velocitab/tab/PlayerTabList.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java b/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java index 9bc4e10..eb2f3c1 100644 --- a/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java +++ b/src/main/java/net/william278/velocitab/packet/ScoreboardManager.java @@ -27,11 +27,11 @@ public class ScoreboardManager { roleMappings.remove(player.getUniqueId()); } - public void sendTeamPackets(@NotNull Player player, @NotNull Map playerRoles) { + public void setRoles(@NotNull Player player, @NotNull Map playerRoles) { playerRoles.entrySet().stream() .collect(Collectors.groupingBy( Map.Entry::getValue, - Collectors.mapping(entry -> entry.getKey().getUsername(), Collectors.toList()) + Collectors.mapping(Map.Entry::getKey, Collectors.toList()) )) .forEach((role, players) -> updateRoles(player, role, players.toArray(new String[0]))); } diff --git a/src/main/java/net/william278/velocitab/tab/PlayerTabList.java b/src/main/java/net/william278/velocitab/tab/PlayerTabList.java index d9d0673..49f6d43 100644 --- a/src/main/java/net/william278/velocitab/tab/PlayerTabList.java +++ b/src/main/java/net/william278/velocitab/tab/PlayerTabList.java @@ -56,9 +56,9 @@ public class PlayerTabList { plugin.getServer().getScheduler() .buildTask(plugin, () -> { final TabList tabList = joined.getTabList(); - final Map playerRoles = new HashMap<>(); + final Map playerRoles = new HashMap<>(); players.forEach(player -> { - playerRoles.put(player.getPlayer(), tabPlayer.getTeamName()); + playerRoles.put(player.getPlayer().getUsername(), player.getTeamName()); tabList.getEntries().stream() .filter(e -> e.getProfile().getId().equals(player.getPlayer().getUniqueId())).findFirst() .ifPresentOrElse( @@ -68,7 +68,7 @@ public class PlayerTabList { addPlayerToTabList(player, tabPlayer); player.sendHeaderAndFooter(this); }); - plugin.getScoreboardManager().sendTeamPackets(joined, playerRoles); + plugin.getScoreboardManager().setRoles(joined, playerRoles); }) .delay(500, TimeUnit.MILLISECONDS) .schedule();