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.
| Call | Gives you | Built for |
|---|---|---|
fetchProfile(uuid, gameMode) | full profile + live location | /whois, friend lists |
findByUsername(name) | all players matching a name | moderation by name |
listPlayers(search, page, limit) | a browsable, searchable directory | admin / 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:
// 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
- Player data overview - the identity model and load-on-join.
- Punishments - act on the players you look up.