# Overview
Sign is a lightweight nametag plugin that replaces vanilla player nametags with fully customizable, packet-based text displays. It uses client-side entities powered by PacketEvents, meaning no server-side entities are created and no other plugins are required.
---
## What is Sign?
Sign renders nametags as text display entities mounted on players via packets. Each line of a nametag can be individually styled with MiniMessage formatting, PlaceholderAPI placeholders, and conditional visibility tags. Nametags automatically hide when a player is crouching, invisible, in spectator mode, or out of range.
---
## Features
- **Packet-based rendering** -- no server-side entities, everything is client-side via PacketEvents
- **MiniMessage formatting** -- full MiniMessage support for colors, gradients, hover text, and more
- **PlaceholderAPI support** -- use any PAPI placeholder in nametag lines
- **Built-in placeholders** -- `{player}` for the player's name, `{health}` for current health
- **Conditional lines** -- `<condition:'%placeholder%'>text</condition>` to show/hide lines based on placeholder values
- **Blank line hiding** -- lines that resolve to empty are automatically hidden with no gaps
- **Crouching support** -- nametag opacity lowers and see-through disables when sneaking
- **Condensed mode** -- option to use one text display per line for tighter backgrounds, or combine all lines into one display
- **Per-viewer overrides** -- developers can show different nametags to different viewers via the API
- **Profile refresh detection** -- nametags re-mount automatically when a player's profile is refreshed (e.g. nicking)
- **Version updater** -- console log and op notification when a newer version is available
---
## Dependencies
| Dependency | Version | Type |
|---|---|---|
| Paper API | 1.21+ | Server platform |
| Java | 21 | Runtime |
PacketEvents, CommandAPI, and bStats are shaded into the plugin jar. No external dependencies need to be installed.
All-in-all, you **do not** need to install any additional plugins.
---
## Optional Integrations
| Plugin | Purpose |
|---|---|
| PlaceholderAPI | Dynamic placeholder support in nametag lines |
| TAB | Automatic vanilla nametag hiding when TAB's nametag manager is active |
---
## Related Pages
- [[Sign/Server Owners/Configuration]] — full config.yml breakdown
- [[Sign/Server Owners/Commands]] — complete command reference
- [[Sign/Developers/Overview]] — developer API documentation