<dd><code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Cloneable.html"title="class or interface in java.lang"class="external-link">Cloneable</a></code>, <code><ahref="../configuration/serialization/ConfigurationSerializable.html"title="interface in org.bukkit.configuration.serialization">ConfigurationSerializable</a></code></dd>
</dl>
<dlclass="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><ahref="../../../com/destroystokyo/paper/profile/PlayerProfile.html"title="interface in com.destroystokyo.paper.profile">PlayerProfile</a></code></dd>
</dl>
<hr>
<divclass="type-signature"><spanclass="annotations"><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html"title="class or interface in java.lang"class="external-link">@Deprecated</a>
extends <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Cloneable.html"title="class or interface in java.lang"class="external-link">Cloneable</a>, <ahref="../configuration/serialization/ConfigurationSerializable.html"title="interface in org.bukkit.configuration.serialization">ConfigurationSerializable</a></span></div>
<divclass="deprecation-comment">see <ahref="../../../com/destroystokyo/paper/profile/PlayerProfile.html"title="interface in com.destroystokyo.paper.profile"><code>PlayerProfile</code></a></div>
</div>
<divclass="block">A player profile.
<p>
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)
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="PlayerProfile.html"title="interface in org.bukkit.profile">PlayerProfile</a></code></div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></code></div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="PlayerTextures.html"title="interface in org.bukkit.profile">PlayerTextures</a></code></div>
<divclass="block">Gets the <ahref="PlayerTextures.html"title="interface in org.bukkit.profile"><code>PlayerTextures</code></a> of this profile.</div>
</div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a></code></div>
<divclass="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="#setTextures(org.bukkit.profile.PlayerTextures)"class="member-name-link">setTextures</a><wbr>(<ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="PlayerTextures.html"title="interface in org.bukkit.profile">PlayerTextures</a> textures)</code></div>
<divclass="block">Copies the given textures.</div>
</div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CompletableFuture.html"title="class or interface in java.util.concurrent"class="external-link">CompletableFuture</a><? extends <ahref="PlayerProfile.html"title="interface in org.bukkit.profile">PlayerProfile</a>></code></div>
<divclass="block">Produces an updated player profile based on this profile.</div>
</div>
</div>
</div>
</div>
<divclass="inherited-list">
<h3id="methods-inherited-from-class-org.bukkit.configuration.serialization.ConfigurationSerializable">Methods inherited from interface org.bukkit.configuration.serialization.<ahref="../configuration/serialization/ConfigurationSerializable.html"title="interface in org.bukkit.configuration.serialization">ConfigurationSerializable</a></h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a>
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html"title="class or interface in java.lang"class="external-link">@Deprecated</a>
</span><spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a></span> <spanclass="element-name">getUniqueId</span>()</div>
<divclass="block">Gets the player's unique id.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>the player's unique id, or <code>null</code> if not available</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getName()">
<h3>getName</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a>
</span><spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></span> <spanclass="element-name">getName</span>()</div>
<dd>the player name, or <code>null</code> if not available</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getTextures()">
<h3>getTextures</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a>
</span><spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="PlayerTextures.html"title="interface in org.bukkit.profile">PlayerTextures</a></span> <spanclass="element-name">getTextures</span>()</div>
<divclass="member-signature"><spanclass="return-type">void</span> <spanclass="element-name">setTextures</span><wbr><spanclass="parameters">(<ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a>
<ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/Nullable.html"title="class or interface in org.jetbrains.annotations"class="external-link">@Nullable</a><ahref="PlayerTextures.html"title="interface in org.bukkit.profile">PlayerTextures</a> textures)</span></div>
<divclass="block">Checks whether this profile is complete.
<p>
A profile is currently considered complete if it has a name, a unique id,
and textures.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd><code>true</code> if this profile is complete</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="update()">
<h3>update</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a>
</span><spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CompletableFuture.html"title="class or interface in java.util.concurrent"class="external-link">CompletableFuture</a><? extends <ahref="PlayerProfile.html"title="interface in org.bukkit.profile">PlayerProfile</a>></span> <spanclass="element-name">update</span>()</div>
<divclass="block">Produces an updated player profile based on this profile.
<p>
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 <ahref="PlayerProfile.html"title="interface in org.bukkit.profile"><code>PlayerProfile</code></a>.
<p>
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.
<p>
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 <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CompletableFuture.html"title="class or interface in java.util.concurrent"class="external-link"><code>CompletableFuture</code></a> 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:
<dd>a completable future that gets completed with the updated
PlayerProfile once it is available</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="clone()">
<h3>clone</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a>
</span><spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="PlayerProfile.html"title="interface in org.bukkit.profile">PlayerProfile</a></span> <spanclass="element-name">clone</span>()</div>