Add Team showcase in tablist #438
@ -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);
|
||||
Lixfel markierte diese Unterhaltung als gelöst
Veraltet
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
Lixfel markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
hier auch noch das issue. hier auch noch das issue.
|
||||
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<Integer> teamPlayers, Collection<ProxiedPlayer> onlinePlayers){
|
||||
Lixfel markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Statt sich erst den proxiedplayer und dann davon den SWUser zu holen solltest du wenn direkt den SWUser holen (mit der UUID) Statt sich erst den proxiedplayer und dann davon den SWUser zu holen solltest du wenn direkt den SWUser holen (mit der UUID)
YoyoNow
hat
Stimmt, danke für die Info, das vergesse ich irgendwie immer. Stimmt, danke für die Info, das vergesse ich irgendwie immer.
YoyoNow
hat
Aber ich brauche den player um das Item zu erzeugen. Aber ich brauche den player um das Item zu erzeugen.
Lixfel
hat
SWUser.get(ProxiedPlayer) ist highly deprecated. Nutz trotzdem die uuid. SWUser.get(ProxiedPlayer) ist highly deprecated. Nutz trotzdem die uuid.
YoyoNow
hat
So dann jetzt richtig oder? So dann jetzt richtig oder?
|
||||
@ -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<Item> teamify(List<Item> 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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
.