Documentation menu

Look anyone up

Find any player on your whole network, online or offline, by UUID or name. Powers /whois, moderation and friend lists.

Three read-only lookups answer “who is this player, and where are they?” across your entire network - every server, online or offline, in one call. They’re what /whois, moderation tools and friend lists are built from.

Unlike fetchPlayerData, none of these create a row - they’re pure reads, safe to call on anyone you’ve never met.

CallGives youBuilt for
fetchProfile(uuid, gameMode)full profile + live location/whois, friend lists
findByUsername(name)all players matching a namemoderation by name
listPlayers(search, page, limit)a browsable, searchable directoryadmin / player picker

Profile + live location, in one call

fetchProfile returns an Optional<PlayerProfile> - the player’s data plus whether they’re online() and, if so, a PlayerConnection (serverId, serverType, worldId) pointing at exactly where they are this second:

Whois.java
// One call tells you who they are AND where they are right now.
hive.player().fetchProfile(targetUuid, "global").thenAccept(maybe -> {
  if (maybe.isEmpty()) { sender.sendMessage("Never seen them."); return; }
  PlayerProfile p = maybe.get();
  if (p.online()) {
    PlayerConnection at = p.connection();
    sender.sendMessage(p.data().getUsername() + " is on " + at.serverId());
  } else {
    sender.sendMessage("Last seen " + p.data().getLastSeen());
  }
});

That live online / connection state is fed by matchmaking and the server registry - so a lookup always reflects where the player actually is, not where they were last save.

Search the network

findByUsername resolves a name to players, most-recently-seen first (names aren’t unique over time, so it returns every match). listPlayers browses or searches the whole network, offline players included, newest first - the backing query for an admin player picker or a directory page.

Next