Package org.bukkit.profile

# Interface PlayerProfile

All Superinterfaces:
  `Cloneable`, `ConfigurationSerializable`

All Known Subinterfaces:
  `PlayerProfile`

@Deprecated public interface PlayerProfile extends Cloneable, ConfigurationSerializable
Deprecated.
see `PlayerProfile`
A player profile.

A player profile always provides a unique id, a non-empty name, or both. Its unique id and name are immutable, but other properties (such as its textures) can be altered.

New profiles can be created via `Server.createPlayerProfile(UUID, String)`.

## Method Summary

Modifier and Type
Method
Description
`@NotNull PlayerProfile`
`clone()`
Deprecated.
`@Nullable String`
`getName()`
Deprecated.
Gets the player name.
`@NotNull PlayerTextures`
`getTextures()`
Deprecated.
Gets the `PlayerTextures` of this profile.
`@Nullable UUID`
`getUniqueId()`
Deprecated.
`boolean`
`isComplete()`
Deprecated.
Checks whether this profile is complete.
`void`
`setTextures(@Nullable PlayerTextures textures)`
Deprecated.
Copies the given textures.
`@NotNull CompletableFuture<? extends PlayerProfile>`
`update()`
Deprecated.
Produces an updated player profile based on this profile.

### Methods inherited from interface org.bukkit.configuration.serialization.ConfigurationSerializable

`serialize`

## Method Details

### getUniqueId

@Nullable @Deprecated @Nullable UUID getUniqueId()
Deprecated.
Gets the player's unique id.

Returns:
  the player's unique id, or `null` if not available

### getName

@Nullable @Nullable String getName()
Deprecated.
Gets the player name.

Returns:
  the player name, or `null` if not available

### getTextures

@NotNull @NotNull PlayerTextures getTextures()
Deprecated.
Gets the `PlayerTextures` of this profile.

Returns:
  the textures, not `null`

### setTextures

void setTextures(@Nullable @Nullable PlayerTextures textures)
Deprecated.
Copies the given textures.

Parameters:
  `textures` - the textures to copy, or `null` to clear the textures

### isComplete

boolean isComplete()
Deprecated.
Checks whether this profile is complete.

A profile is currently considered complete if it has a name, a unique id, and textures.

Returns:
  `true` if this profile is complete

### update

@NotNull @NotNull CompletableFuture<? extends PlayerProfile> update()
Deprecated.
Produces an updated player profile based on this profile.

This tries to produce a completed profile by filling in missing properties (name, unique id, textures, etc.), and updates existing properties (e.g. name, textures, etc.) to their official and up-to-date values. This operation does not alter the current profile, but produces a new updated `PlayerProfile`.

If no player exists for the unique id or name of this profile, this operation yields a profile that is equal to the current profile, which might not be complete.

This is an asynchronous operation: Updating the profile can result in an outgoing connection in another thread in order to fetch the latest profile properties. The returned `CompletableFuture` will be completed once the updated profile is available. In order to not block the server's main thread, you should not wait for the result of the returned CompletableFuture on the server's main thread. Instead, if you want to do something with the updated player profile on the server's main thread once it is available, you could do something like this:

     profile.update().thenAcceptAsync(updatedProfile -> {
         // Do something with the updated profile:
         // ...
     }, runnable -> Bukkit.getScheduler().runTask(plugin, runnable));

Returns:
  a completable future that gets completed with the updated PlayerProfile once it is available

### clone

@NotNull @NotNull PlayerProfile clone()
Deprecated.