Return earlier, predict list's size for tab clearing

This commit is contained in:
xDark
2020-07-31 19:19:26 +03:00
parent 933c81b9bf
commit a282afb5db

View File

@@ -89,15 +89,17 @@ public class VelocityTabList implements TabList {
* MinecraftConnection#flush()}.
*/
public void clearAll() {
List<PlayerListItem.Item> items = new ArrayList<>();
for (TabListEntry value : entries.values()) {
Collection<VelocityTabListEntry> listEntries = entries.values();
if (listEntries.isEmpty()) {
return;
}
List<PlayerListItem.Item> items = new ArrayList<>(listEntries.size());
for (TabListEntry value : listEntries) {
items.add(PlayerListItem.Item.from(value));
}
entries.clear();
if (!items.isEmpty()) {
connection.delayedWrite(new PlayerListItem(PlayerListItem.REMOVE_PLAYER, items));
}
}
@Override
public Collection<TabListEntry> getEntries() {