SteamWar/BungeeCore
Archiviert
13
2

Revert "Update Tablist colors"
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

This reverts commit 23291a7732.
Dieser Commit ist enthalten in:
Lixfel 2023-12-19 16:54:41 +01:00
Ursprung 5162c5b05b
Commit 779d5f57dc
3 geänderte Dateien mit 22 neuen und 43 gelöschten Zeilen

Datei anzeigen

@ -21,8 +21,6 @@ package de.steamwar.bungeecore.tablist;
import de.steamwar.bungeecore.Storage; import de.steamwar.bungeecore.Storage;
import de.steamwar.messages.ChatSender; import de.steamwar.messages.ChatSender;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.sql.UserPerm;
import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPipeline; import io.netty.channel.ChannelPipeline;
@ -214,19 +212,13 @@ public class Tablist extends MessageToMessageDecoder<PacketWrapper> {
break; break;
case ADD_PLAYER: case ADD_PLAYER:
boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo()); boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo());
SteamwarUser viewee = SteamwarUser.get(player.getUniqueId());
for (PlayerListItem.Item item : list.getItems()) { for (PlayerListItem.Item item : list.getItems()) {
item.setPing(1); item.setPing(1);
if (playerNotOnTeamserver) { if (playerNotOnTeamserver) {
item.setDisplayName(new TextComponent()); item.setDisplayName(new TextComponent());
item.setListed(false); item.setListed(false);
} else if (item.getDisplayName() == null) { } else if (item.getDisplayName() == null) {
String color = "§f"; item.setDisplayName(TextComponent.fromLegacy("§7" + item.getUsername()));
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.setPublicKey(null); item.setPublicKey(null);
if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3) if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3)
@ -272,7 +264,6 @@ public class Tablist extends MessageToMessageDecoder<PacketWrapper> {
} }
boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo()); boolean playerNotOnTeamserver = !Storage.teamServers.containsValue(player.getServer().getInfo());
SteamwarUser viewee = SteamwarUser.get(player.getUniqueId());
for(PlayerListItemUpdate.Action action : actions) { for(PlayerListItemUpdate.Action action : actions) {
switch (action) { switch (action) {
case ADD_PLAYER: case ADD_PLAYER:
@ -282,12 +273,7 @@ public class Tablist extends MessageToMessageDecoder<PacketWrapper> {
item.setDisplayName(new TextComponent()); item.setDisplayName(new TextComponent());
item.setListed(false); item.setListed(false);
} else if (item.getDisplayName() == null) { } else if (item.getDisplayName() == null) {
String color = "§f"; item.setDisplayName(TextComponent.fromLegacy("§7" + item.getUsername()));
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.setPublicKey(null); item.setPublicKey(null);
if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3) if(!player.getUniqueId().equals(item.getUuid()) && item.getGamemode() == 3)

Datei anzeigen

@ -22,8 +22,6 @@ package de.steamwar.bungeecore.tablist;
import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Servertype;
import de.steamwar.bungeecore.Subserver; import de.steamwar.bungeecore.Subserver;
import de.steamwar.messages.ChatSender; 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.ProxyServer;
import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.ProxiedPlayer; 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)); tablist.add(new Item(null, viewer.parseToLegacy("TABLIST_BAU"), TablistServer.LIGHT_GRAY));
} }
SteamwarUser steamwarUser = SteamwarUser.get(player.getUniqueId());
for (ServerInfo info : servers) { for (ServerInfo info : servers) {
players.get(info).forEach(item -> { TablistServer.teamify(players.get(info), player)
if (TablistServer.hasTeamColor(steamwarUser, item.getUuid())) { .forEach(((server == info) ? direct : tablist)::add);
ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid());
item = new Item(p, true);
}
(server == info ? direct : tablist).add(item);
});
} }
} }
} }

Datei anzeigen

@ -21,16 +21,20 @@ package de.steamwar.bungeecore.tablist;
import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Servertype;
import de.steamwar.bungeecore.Subserver; import de.steamwar.bungeecore.Subserver;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.messages.ChatSender; import de.steamwar.messages.ChatSender;
import de.steamwar.network.packets.common.FightInfoPacket; import de.steamwar.network.packets.common.FightInfoPacket;
import de.steamwar.sql.SteamwarUser;
import net.md_5.bungee.BungeeCord; import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.protocol.Property; 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.Collectors;
import java.util.stream.Stream;
public class TablistServer implements TablistPart { 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)); items.add(new Item(null, "§7§l" + server.getName(), LIGHT_GRAY));
} }
SteamwarUser steamwarUser = viewer.user(); teamify(players, player).forEach(items::add);
for (Item item : players) {
if (hasTeamColor(steamwarUser, item.getUuid())) {
ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid());
item = new Item(p, true);
}
items.add(item);
}
} }
private void addPlayers(String prefix, List<Integer> teamPlayers, Collection<ProxiedPlayer> onlinePlayers){ private void addPlayers(String prefix, List<Integer> teamPlayers, Collection<ProxiedPlayer> onlinePlayers){
@ -91,12 +88,16 @@ public class TablistServer implements TablistPart {
).forEachOrdered(player -> players.add(new Item(player.getUniqueId(), prefix + player.getName(), Item.playerProperties(player)))); ).forEachOrdered(player -> players.add(new Item(player.getUniqueId(), prefix + player.getName(), Item.playerProperties(player))));
} }
public static boolean hasTeamColor(SteamwarUser viewer, UUID viewee) { public static Stream<Item> teamify(List<Item> players, ProxiedPlayer player) {
if (viewer.getTeam() == 0) return false; int team = SteamwarUser.get(player.getUniqueId()).getTeam();
ProxiedPlayer p = BungeeCord.getInstance().getPlayer(viewee); if (team == 0) return players.stream();
if (p == null) return false; return players.stream().map(item -> {
Subserver subserver = Subserver.getSubserver(p.getServer().getInfo()); ProxiedPlayer p = BungeeCord.getInstance().getPlayer(item.getUuid());
if (subserver != null && subserver.getType() == Servertype.ARENA) return false; if (p == null) return item;
return SteamwarUser.get(p.getUniqueId()).getTeam() == viewer.getTeam(); 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);
});
} }
} }