3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-07-06 07:18:03 +02:00

Cleanup /viaversion list and pps command (#3933)

Dieser Commit ist enthalten in:
EnZaXD 2024-06-15 15:53:09 +02:00 committet von GitHub
Ursprung c68915b261
Commit 9a9ca9676d
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: B5690EEEBB952194
2 geänderte Dateien mit 18 neuen und 18 gelöschten Zeilen

Datei anzeigen

@ -20,6 +20,7 @@ package com.viaversion.viaversion.commands.defaultsubs;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.command.ViaCommandSender; import com.viaversion.viaversion.api.command.ViaCommandSender;
import com.viaversion.viaversion.api.command.ViaSubCommand; import com.viaversion.viaversion.api.command.ViaSubCommand;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
@ -46,10 +47,9 @@ public class ListSubCmd implements ViaSubCommand {
public boolean execute(ViaCommandSender sender, String[] args) { public boolean execute(ViaCommandSender sender, String[] args) {
Map<ProtocolVersion, Set<String>> playerVersions = new TreeMap<>(ProtocolVersion::compareTo); Map<ProtocolVersion, Set<String>> playerVersions = new TreeMap<>(ProtocolVersion::compareTo);
for (ViaCommandSender p : Via.getPlatform().getOnlinePlayers()) { for (UserConnection p : Via.getManager().getConnectionManager().getConnections()) {
int playerVersion = Via.getAPI().getPlayerVersion(p.getUUID()); ProtocolVersion version = p.getProtocolInfo().protocolVersion();
ProtocolVersion key = ProtocolVersion.getProtocol(playerVersion); playerVersions.computeIfAbsent(version, s -> new HashSet<>()).add(p.getProtocolInfo().getUsername());
playerVersions.computeIfAbsent(key, s -> new HashSet<>()).add(p.getName());
} }
for (Map.Entry<ProtocolVersion, Set<String>> entry : playerVersions.entrySet()) { for (Map.Entry<ProtocolVersion, Set<String>> entry : playerVersions.entrySet()) {

Datei anzeigen

@ -46,26 +46,25 @@ public class PPSSubCmd implements ViaSubCommand {
@Override @Override
public boolean execute(ViaCommandSender sender, String[] args) { public boolean execute(ViaCommandSender sender, String[] args) {
Map<Integer, Set<String>> playerVersions = new HashMap<>(); Map<ProtocolVersion, Set<String>> playerVersions = new TreeMap<>(ProtocolVersion::compareTo);
int totalPackets = 0; int totalPackets = 0;
int clients = 0; int clients = 0;
long max = 0; long max = 0;
for (ViaCommandSender p : Via.getPlatform().getOnlinePlayers()) { for (UserConnection p : Via.getManager().getConnectionManager().getConnections()) {
int playerVersion = Via.getAPI().getPlayerVersion(p.getUUID()); ProtocolVersion playerVersion = p.getProtocolInfo().protocolVersion();
if (!playerVersions.containsKey(playerVersion)) if (!playerVersions.containsKey(playerVersion)) {
playerVersions.put(playerVersion, new HashSet<>()); playerVersions.put(playerVersion, new HashSet<>());
UserConnection uc = Via.getManager().getConnectionManager().getConnectedClient(p.getUUID()); }
if (uc != null && uc.getPacketTracker().getPacketsPerSecond() > -1) { if (p.getPacketTracker().getPacketsPerSecond() > -1) {
playerVersions.get(playerVersion).add(p.getName() + " (" + uc.getPacketTracker().getPacketsPerSecond() + " PPS)"); playerVersions.get(playerVersion).add(p.getProtocolInfo().getUsername() + " (" + p.getPacketTracker().getPacketsPerSecond() + " PPS)");
totalPackets += uc.getPacketTracker().getPacketsPerSecond(); totalPackets += p.getPacketTracker().getPacketsPerSecond();
if (uc.getPacketTracker().getPacketsPerSecond() > max) { if (p.getPacketTracker().getPacketsPerSecond() > max) {
max = uc.getPacketTracker().getPacketsPerSecond(); max = p.getPacketTracker().getPacketsPerSecond();
} }
clients++; clients++;
} }
} }
Map<Integer, Set<String>> sorted = new TreeMap<>(playerVersions);
sendMessage(sender, "&4Live Packets Per Second"); sendMessage(sender, "&4Live Packets Per Second");
if (clients > 1) { if (clients > 1) {
sendMessage(sender, "&cAverage: &f" + (totalPackets / clients)); sendMessage(sender, "&cAverage: &f" + (totalPackets / clients));
@ -74,9 +73,10 @@ public class PPSSubCmd implements ViaSubCommand {
if (clients == 0) { if (clients == 0) {
sendMessage(sender, "&cNo clients to display."); sendMessage(sender, "&cNo clients to display.");
} }
for (Map.Entry<Integer, Set<String>> entry : sorted.entrySet()) for (Map.Entry<ProtocolVersion, Set<String>> entry : playerVersions.entrySet()) {
sendMessage(sender, "&8[&6%s&8]: &b%s", ProtocolVersion.getProtocol(entry.getKey()).getName(), entry.getValue()); sendMessage(sender, "&8[&6%s&8]: &b%s", entry.getKey().getName(), entry.getValue());
sorted.clear(); }
playerVersions.clear();
return true; return true;
} }
} }