Add getEntry to TabList.java

This commit is contained in:
Corey Shupe 2023-02-20 10:11:33 -05:00
parent e0e156a420
commit d733e88677
3 changed files with 19 additions and 0 deletions

View File

@ -61,6 +61,15 @@ public interface TabList {
*/
boolean containsEntry(UUID uuid);
/**
* Retrieves the tab list entry associated with the given uuid.
*
* @param uuid The player's {@link UUID} the {@link TabListEntry} is in reference to.
* @return {@code Optional.empty()} if the player is not present in the provided player's
* {@link TabList} otherwise a present {@link TabListEntry} in relation to the player.
*/
Optional<TabListEntry> getEntry(UUID uuid);
/**
* Returns an immutable {@link Collection} of the {@link TabListEntry}s in the tab list.
*

View File

@ -111,6 +111,11 @@ public class KeyedVelocityTabList implements InternalTabList {
return entries.containsKey(uuid);
}
@Override
public Optional<TabListEntry> getEntry(UUID uuid) {
return Optional.ofNullable(this.entries.get(uuid));
}
/**
* Clears all entries from the tab list. Note that the entries are written with
* {@link MinecraftConnection#delayedWrite(Object)}, so make sure to do an explicit

View File

@ -162,6 +162,11 @@ public class VelocityTabList implements InternalTabList {
return this.entries.containsKey(uuid);
}
@Override
public Optional<TabListEntry> getEntry(UUID uuid) {
return Optional.ofNullable(this.entries.get(uuid));
}
@Override
public Collection<TabListEntry> getEntries() {
return this.entries.values().stream().map(e -> (TabListEntry) e).collect(Collectors.toList());