Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Nicknames
A Paper plugin that scrambles player identities for scripted or staged SMPs. A nicknamed player becomes someone else everywhere it's visible — name tag, tab list, chat, join/leave, death and advancement messages, the multiplayer server-list hover, and their skin — all through Paper's real profile-swap API, not a display-name trick layered on top of it.
By default nothing happens automatically: players keep their real identity until staff nick them, or you turn on scramble-on-join for arrivals to be renamed on sight.
🎭 Main Features
🪪 Identity Swapping
- Assign an exact nickname to a player, fixed and persistent across restarts
- Or hand out a random name from a pool you define, with no two online players ever sharing one
- Scramble a player to a brand-new random name on the spot (a staged death, a new "arc")
- Reset back to a real identity at any time
- Assignments (fixed or random) survive a restart — a player who logs back in keeps whichever name they were last wearing
🖼️ Real Skins, Not Just a Name
For each nickname, a skin is resolved in order:
- An explicit skin you've configured for that specific nickname
- If the nickname happens to be a real Mojang account, that account's actual skin (fetched live)
- A random skin file from a folder you fill with your own cast
- The default skin (Steve, Alex, or none)
👁️ Every Surface, Rewritten
- Name tag, tab list, and chat all follow the real player-profile swap, not a cosmetic overlay
- Join and leave messages rewritten to the nickname
- Death and kill messages rewritten — everyone's nickname substituted, not just the one who died
- Advancement broadcasts rewritten the same way
- The multiplayer server-list player sample (hover-to-see-who's-online) shows nicknames instead of real names
- A nicked player's login session is re-asserted with AuthMe (if installed) after every profile swap, since AuthMe keys its own sessions on name — without this, changing a player's visible name would demand they register again
🙈 Staying Out of It
- A blacklist (by name or UUID) for players who should never be auto-nicked on join — manual
/nick setstill works on them - Scoreboard-tag opt-out, so bot/NPC plugins never get renamed and become impossible to command by name — PvpBot's own bots (
pvpbot) and most NPC plugins (NPC) are exempted by default, andnonickexempts anyone else you tag with it
⚠️ Honest Limits
Bukkit deliberately keeps a player's real login name fixed for the whole session — no public API can override it. So vanilla command targeting and tab-completion (/tp, /msg, and similar) still resolve players by their real name even while nicked; only the player-facing surfaces above are rewritten.
📋 Commands
All under /nick, gated by the nick.admin permission.
/nick set <player> <nickname> - assign a fixed nickname, remembered across restarts
/nick scramble <player> - force a brand-new random nickname right now
/nick reset <player> - restore their real identity (aliases: clear, off, real)
/nick blacklist add <player> - exempt a player from auto-nicking on join
/nick blacklist remove <player>
/nick blacklist list
/nick list - show everyone currently nicked, real name -> nickname
/nick reload - reload config.yml and clear the cached skin lookups
⚙️ Configuration Highlights (config.yml)
scramble-on-join— hand a random pool name to any unassigned arrival (off by default)blacklist/ignore-tags— who never gets auto-nickedfixed— permanent name -> nickname assignments (what/nick setwrites into)name-pool— the cast of random names handed out;pool-exhausteddecides whether to invent aGuestNNNNname or leave the pool emptyskins.use-mojang-lookup,skins.folder,skins.default,skins.by-nick— the skin resolution order described aboverewrite.*— toggle each surface (join-leave, chat, death, advancement, server-list) independently

