# 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. | | `setNickname(Player, String, String)` | `void` | Set a player's display name and apply a fake rank for TAB display. | | `setNickFromPlayer(Player, String)` | `void` | Disguise a player as another player — sets both name and skin. | | `setNickFromPlayer(Player, String, String)` | `void` | Disguise a player as another player and apply a fake rank for TAB display. | | `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. | ## Random Nick Methods | Method | Return Type | Description | |--------|-------------|-------------| | `randomNick(Player)` | `void` | Assign a random nickname and skin. Picks a random fake rank if LuckPerms is present. | | `randomNick(Player, String)` | `void` | Assign a random nickname and skin, forcing a specific LuckPerms group as the fake rank. | ## Fake Rank Methods > Requires LuckPerms. Fake ranks only affect TAB display (prefix/suffix) — no permissions are modified. | Method | Return Type | Description | |--------|-------------|-------------| | `setFakeRank(Player, String)` | `void` | Apply a fake rank override for TAB display without changing the nickname. The `groupName` must be a valid LuckPerms group. | | `clearFakeRank(Player)` | `void` | Remove the fake rank override, restoring LuckPerms-driven TAB display. | ## 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"); // Disguise as another player and show a specific rank in TAB api.setNickFromPlayer(player, "Notch", "admin"); // Set only the display name api.setNickname(player, "<gradient:gold:yellow>GoldenPlayer</gradient>"); // Set display name with a fake rank shown in TAB api.setNickname(player, "GoldenPlayer", "vip"); // Random nick (auto-picks a random eligible fake rank if LuckPerms is present) api.randomNick(player); // Random nick, force a specific rank in TAB api.randomNick(player, "mod"); // Change only the TAB rank without renicking api.setFakeRank(player, "owner"); // Remove fake rank (TAB reverts to real LuckPerms rank) api.clearFakeRank(player); // Check and reset if (api.hasNick(player)) { api.resetNick(player); } ``` --- ## Related Pages - [[Name Tag/API/NameTagAPI]] - [[Name Tag/API/Skin]] - [[Name Tag/API/NickPlayer]]