Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-10-05 01:31:05 +02:00
Cleanup /viaversion list and pps command (#3933)
Dieser Commit ist enthalten in:
Ursprung
c68915b261
Commit
9a9ca9676d
@ -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()) {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren