# NickPlayer
> Data class representing a player's nick state, including original identity, current nick, and skin data.
`gg.lode.nametagapi.api.NickPlayer`
---
## Signature
```java
public class NickPlayer
```
---
## Constructor
| Constructor | Description |
|-------------|-------------|
| `NickPlayer(UUID uuid)` | Creates a NickPlayer with the given UUID. Sets `originalUniqueId` and `nickedUniqueId` to the same value. |
---
## Identity Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `getUuid()` | `UUID` | The player's real UUID. |
| `getOriginalUniqueId()` | `UUID` | The player's original UUID (immutable). |
| `getOriginalName()` | `String` | The player's original Minecraft username. |
| `setOriginalName(String)` | `void` | Sets the original name. Also sets `nickedName` if it's currently null. |
| `getNickedUniqueId()` | `UUID` | The UUID the player is currently presenting as. |
| `setNickedUniqueId(UUID)` | `void` | Sets the spoofed UUID. |
| `getNickedName()` | `String` | The name the player is currently presenting as. |
| `setNickedName(String)` | `void` | Sets the nicked display name. |
## Nickname Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `getNickname()` | `@Nullable String` | The current nickname, or `null` if not nicked. |
| `setNickname(@Nullable String)` | `void` | Sets the nickname. Also updates `nickedName`. |
| `hasNick()` | `boolean` | Whether the player has any nick state (name, skin, or texture). |
| `isCurrentlyNicked()` | `boolean` | Alias for `hasNick()`. |
| `reset()` | `void` | Clears all nick state, restoring `nickedUniqueId` to the original. |
## Skin Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `getSkinName()` | `@Nullable String` | The name of the player whose skin is applied, or `null`. |
| `setSkinName(@Nullable String)` | `void` | Sets the skin source player name. |
| `getTexture()` | `@Nullable String` | The raw texture value, or `null`. |
| `setTexture(@Nullable String)` | `void` | Sets the texture value. Also updates `nickedTexture`. |
| `getSignature()` | `@Nullable String` | The texture signature, or `null`. |
| `setSignature(@Nullable String)` | `void` | Sets the signature. Also updates `nickedSignature`. |
| `getSkin()` | `@Nullable Skin` | Returns a [[Name Tag/API/Skin\|Skin]] record if both texture and signature are set. |
| `setSkin(@Nullable Skin)` | `void` | Sets texture and signature from a [[Name Tag/API/Skin\|Skin]] record. |
## Original Skin Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `getOriginalTexture()` | `String` | The player's original skin texture. |
| `setOriginalTexture(String)` | `void` | Sets the original texture. Also sets `nickedTexture` if null. |
| `getOriginalSignature()` | `String` | The player's original skin signature. |
| `setOriginalSignature(String)` | `void` | Sets the original signature. Also sets `nickedSignature` if null. |
---
## Usage
```java
// NickPlayer is typically retrieved from the plugin's internal cache,
// but its fields are accessible through the API query methods:
INameTagAPI api = NameTagAPI.getApi();
// Check if a player is nicked
if (api.hasNick(player)) {
String nick = api.getNick(player);
Skin skin = api.getSkin(player);
}
```
---
## Related Pages
- [[Name Tag/API/INameTagAPI]]
- [[Name Tag/API/Skin]]