forked from Upstream/Velocitab
Fix wrong team names being sent in packets to joining players
This commit is contained in:
parent
6cea56364e
commit
10e02233f3
@ -27,11 +27,11 @@ public class ScoreboardManager {
|
|||||||
roleMappings.remove(player.getUniqueId());
|
roleMappings.remove(player.getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendTeamPackets(@NotNull Player player, @NotNull Map<Player, String> playerRoles) {
|
public void setRoles(@NotNull Player player, @NotNull Map<String, String> playerRoles) {
|
||||||
playerRoles.entrySet().stream()
|
playerRoles.entrySet().stream()
|
||||||
.collect(Collectors.groupingBy(
|
.collect(Collectors.groupingBy(
|
||||||
Map.Entry::getValue,
|
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])));
|
.forEach((role, players) -> updateRoles(player, role, players.toArray(new String[0])));
|
||||||
}
|
}
|
||||||
|
@ -56,9 +56,9 @@ public class PlayerTabList {
|
|||||||
plugin.getServer().getScheduler()
|
plugin.getServer().getScheduler()
|
||||||
.buildTask(plugin, () -> {
|
.buildTask(plugin, () -> {
|
||||||
final TabList tabList = joined.getTabList();
|
final TabList tabList = joined.getTabList();
|
||||||
final Map<Player, String> playerRoles = new HashMap<>();
|
final Map<String, String> playerRoles = new HashMap<>();
|
||||||
players.forEach(player -> {
|
players.forEach(player -> {
|
||||||
playerRoles.put(player.getPlayer(), tabPlayer.getTeamName());
|
playerRoles.put(player.getPlayer().getUsername(), player.getTeamName());
|
||||||
tabList.getEntries().stream()
|
tabList.getEntries().stream()
|
||||||
.filter(e -> e.getProfile().getId().equals(player.getPlayer().getUniqueId())).findFirst()
|
.filter(e -> e.getProfile().getId().equals(player.getPlayer().getUniqueId())).findFirst()
|
||||||
.ifPresentOrElse(
|
.ifPresentOrElse(
|
||||||
@ -68,7 +68,7 @@ public class PlayerTabList {
|
|||||||
addPlayerToTabList(player, tabPlayer);
|
addPlayerToTabList(player, tabPlayer);
|
||||||
player.sendHeaderAndFooter(this);
|
player.sendHeaderAndFooter(this);
|
||||||
});
|
});
|
||||||
plugin.getScoreboardManager().sendTeamPackets(joined, playerRoles);
|
plugin.getScoreboardManager().setRoles(joined, playerRoles);
|
||||||
})
|
})
|
||||||
.delay(500, TimeUnit.MILLISECONDS)
|
.delay(500, TimeUnit.MILLISECONDS)
|
||||||
.schedule();
|
.schedule();
|
||||||
|
Loading…
Reference in New Issue
Block a user