Cosmetics System
NapMC stores chat and lobby cosmetics in a database so your style persists across resets. Cosmetics unlock through ranks, events, or staff grants. Every slot has its own permission (see the table below) and most can be set with simple commands.
Core Chat Cosmetics
- Prefix / Suffix —
/prefix <text>,/suffix <text>. Supports MiniMessage formatting where your permission allows it. Entries are moderated automatically to block staff titles and filtered words. - Nickname —
/nickname <name|off>for yourself. Trusted players can assist teammates with/nickname <player> <name>. Names sync to Discord bots when enabled. - Chat Colour —
/chatcoloropens a GUI with solid colours, gradients, and rainbow styles./chatcolor resetrestores defaults. - Chat Mode —
/chatmode <global|proximity|team>switches where your default chat is routed. Proximity chat respects the configured radius; team chat is private to/team. - Message Animation —
/msganimationtoggles animated type-out of your last message.mode <letters|words>anddelay <ticks>fine-tune the effect.
Personal Messages
When you unlock the slot you can theme the broadcasts that include your name:
/joinmessage <text|off|reset>/leavemessage <text|off|reset>/killmessage <text|off|reset>/deathmessage <text|off|reset>
Messages accept MiniMessage formatting. The moderation pipeline censors disallowed content, and /cosmetic ban lets staff temporarily revoke abusive cosmetics.
Server List Cosmetics
With the corresponding permission you can theme how the server listing appears to you and friends:
- Profile line, hover text, ping text, and personal MOTD are stored and injected by the
ServerListManager. - Use
/cosmetic grant <player> serverlist.profile(staff) to unlock slots for event winners, or/cosmetic clear <player> serverlist.profileto reset. - Placeholders like
%nap_prefix%or%nap_nickname%are available through PlaceholderAPI when building custom components.
Toasts & Title Cards
Unlockable slots toast and title_card power bespoke popups:
- Custom Toasts let you queue notifications with
/toast <player> <title> | <subtitle>. - Title Cards display formatted fullscreen titles tied to events.
- Both honour timed bans through
/cosmetic ban.
Permissions by Category
| Slot | Permission | Command |
|---|---|---|
| Prefix | napsmp.cosmetic.prefix | /prefix |
| Suffix | napsmp.cosmetic.suffix | /suffix |
| Chat Colour | napsmp.cosmetic.chatcolor | /chatcolor |
| Chat Mode | napsmp.cosmetic.chatmode | /chatmode |
| Nickname | napsmp.cosmetic.nickname | /nickname |
| Join Message | napsmp.cosmetic.joinmessage | /joinmessage |
| Leave Message | napsmp.cosmetic.leavemessage | /leavemessage |
| Kill Message | napsmp.cosmetic.killmessage | /killmessage |
| Death Message | napsmp.cosmetic.deathmessage | /deathmessage |
| Message Visibility | napsmp.cosmetic.msgvisibility | GUI toggle (future) |
| Server List (profile/hover/ping/motd) | napsmp.cosmetic.serverlist.* | Staff grant via /cosmetic |
| Custom Toast | napsmp.cosmetic.toast | /toast (staff-triggered for now) |
| Title Card | napsmp.cosmetic.titlecard | Event scripts / /cosmetic |
Staff Tools
/cosmetic ban|unban <player> <slot> [duration] [reason]/cosmetic clear <player> <slot|all>/cosmetic grant|revoke <player> <slot>/cosmetic info <player> <slot>to inspect stored payloads for moderation.
All cosmetic data persists in the plugin database (cosmetics_values, cosmetics_bans) and survives restarts. Season resets that call /seasonreset offer an option to wipe cosmetics if you want a clean slate.