# INameTagAPI
> Main interface providing access to all Name Tag nickname and skin operations.
`gg.lode.nametagapi.INameTagAPI`
---
## Signature
```java
public interface INameTagAPI
```
---
## Nickname Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `setNickname(Player, String)` | `void` | Set a player's display name. Supports MiniMessage formatting. |
| `setNickname(Player, Component)` | `void` | Set a player's display name using an Adventure Component. |
| `setNickFromPlayer(Player, String)` | `void` | Disguise a player as another player — sets both name and skin. |
| `resetNickname(Player)` | `void` | Reset only the player's display name to their original. |
| `resetNick(Player)` | `void` | Fully reset the player — restores original name, skin, and display names. |
| `resetAllNicks()` | `void` | Reset all online players and wipe all stored nick data. |
## Skin Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `setSkinFromPlayer(Player, String)` | `void` | Apply another player's skin by name. |
| `setSkinFromMineskinId(Player, String)` | `boolean` | Apply a skin from a Mineskin skin ID. Returns `false` if fetch fails. |
| `setSkinFromMineskinUrl(Player, String)` | `boolean` | Apply a skin from a Mineskin URL. Returns `false` if fetch fails. |
| `setSkinFromTextureAndSignature(Player, String, String)` | `boolean` | Apply a skin from raw texture value and signature. |
| `resetSkin(Player)` | `void` | Reset only the player's skin to their original. |
## Query Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `hasNick(Player)` | `boolean` | Whether the player is currently nicked. |
| `getNick(Player)` | `@Nullable String` | The player's current nickname, or `null`. |
| `getNick(UUID)` | `@Nullable String` | Get a nickname by UUID (works for offline players in storage). |
| `getNickComponent(Player)` | `@Nullable Component` | The nickname as an Adventure Component. |
| `getNickComponent(UUID)` | `@Nullable Component` | The nickname as an Adventure Component by UUID. |
| `getSkin(Player)` | `@Nullable Skin` | The player's current custom [[Name Tag/API/Skin\|Skin]], or `null`. |
| `getSkin(UUID)` | `@Nullable Skin` | Get a custom [[Name Tag/API/Skin\|Skin]] by UUID. |
| `getSkinFromMineskinId(String)` | `@Nullable Skin` | Fetch a [[Name Tag/API/Skin\|Skin]] from a Mineskin ID without applying it. |
| `getSkinFromMineskinUrl(String)` | `@Nullable Skin` | Fetch a [[Name Tag/API/Skin\|Skin]] from a Mineskin URL without applying it. |
## UUID Spoofing
| Method | Return Type | Description |
|--------|-------------|-------------|
| `shouldChangeUniqueId(boolean)` | `void` | Enable or disable UUID spoofing at runtime. |
| `shouldChangeUniqueId()` | `boolean` | Whether UUID spoofing is currently enabled. |
---
## Usage
```java
INameTagAPI api = NameTagAPI.getApi();
// Disguise a player
api.setNickFromPlayer(player, "Notch");
// Set only the display name
api.setNickname(player, "<gradient:gold:yellow>GoldenPlayer</gradient>");
// Check and reset
if (api.hasNick(player)) {
api.resetNick(player);
}
```
---
## Related Pages
- [[Name Tag/API/NameTagAPI]]
- [[Name Tag/API/Skin]]
- [[Name Tag/API/NickPlayer]]