Code Patterns
Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.
All
225
Command
60
Damage
2
Ecs
27
Entity
5
Gui
75
Interaction
2
Inventory
4
Moderation
3
Permission
2
Player
9
Plugin
4
Storage
2
Teleport
3
Ui
22
Util
5
← Back to Patterns
java
player
Player Profile Lookup
Look up player profile by username, checking online players first then auth service
Example Code
@Nullable
public static ProfileServiceClient.PublicGameProfile getProfile(String playerName) {
// First check online players
for (World world : Universe.get().getWorlds().values()) {
Collection<PlayerRef> playerRefs = world.getPlayerRefs();
PlayerRef playerRef = NameMatching.DEFAULT.find(playerRefs, playerName, PlayerRef::getUsername);
if (playerRef != null) {
return new ProfileServiceClient.PublicGameProfile(playerRef.getUuid(), playerRef.getUsername());
}
}
// Fall back to auth service
ServerAuthManager authManager = ServerAuthManager.getInstance();
String sessionToken = authManager.getSessionToken();
if (sessionToken == null) {
return null;
}
ProfileServiceClient profileClient = authManager.getProfileServiceClient();
return profileClient.getProfileByUsername(playerName, sessionToken);
}