# Configuration Sign uses `config.yml` for all nametag settings. Changes are applied by running `/sign reload`. The config includes automatic version migration when new options are added. --- ## Config Version | Field | Type | Default | Description | |---|---|---|---| | `version` | Integer | `1` | Internal config version. Do not modify. | --- ## General Settings | Field | Type | Default | Description | |---|---|---|---| | `nametags.enabled` | Boolean | `true` | Enables nametag rendering. When `false`, vanilla nametags are restored. | | `nametags.show-self` | Boolean | `true` | Whether players see their own nametag above their head. | | `nametags.update-interval` | Integer | `20` | How often nametags update, in ticks. Lower values are more responsive but use more CPU. | | `nametags.visibility-distance` | Integer | `32` | Maximum distance (in blocks) at which nametags are visible. | --- ## Display Settings ### Lines | Field | Type | Default | Description | |---|---|---|---| | `nametags.display.lines` | String List | `["{player}", "❤ {health}"]` | The lines of text shown on the nametag, from top to bottom. Supports MiniMessage formatting and PlaceholderAPI. | **Built-in placeholders:** | Placeholder | Description | |---|---| | `{player}` | The player's name | | `{health}` | The player's current health (e.g. `20`) | **Conditional tags:** Lines support `<condition:'value'>text</condition>` syntax. When `value` resolves to `true`, the text is shown. Otherwise the line is hidden. Useful with PlaceholderAPI boolean placeholders. ```yaml lines: - "<gray>{player}" - "<condition:'%player_is_op%'><gold>OP</condition>" - "<red>❤ <white>{health}" ``` Lines that resolve to empty (after stripping colors) are automatically hidden with no gaps. --- ### Text Display Properties | Field | Type | Default | Description | |---|---|---|---| | `nametags.display.text-shadow` | Boolean | `true` | Enables text shadow on the nametag display. | | `nametags.display.see-through` | Boolean | `false` | Whether the nametag is visible through blocks. Automatically set to `false` when crouching. | | `nametags.display.support-crouching` | Boolean | `true` | When enabled, crouching lowers nametag opacity and disables see-through. | | `nametags.display.condense-holograms` | Boolean | `false` | When `true`, all lines are combined into a single text display. When `false`, each line gets its own display for tighter backgrounds. | | `nametags.display.text-alignment` | String | `center` | Text alignment. Available values: `left`, `right`, `center`. | | `nametags.display.background` | String | `default` | Background color. Use a hex color (e.g. `#FFFFFF`), `transparent`, or `default`. | | `nametags.display.billboard` | String | `center` | Billboard mode. Available values: `fixed`, `vertical`, `horizontal`, `center`. | --- ### Scale | Field | Type | Default | Description | |---|---|---|---| | `nametags.display.scale.x` | Number | `1` | Horizontal scale of the nametag display. | | `nametags.display.scale.y` | Number | `1` | Vertical scale of the nametag display. | | `nametags.display.scale.z` | Number | `1` | Depth scale of the nametag display. | --- ## Config Migration Sign automatically migrates configs from older versions. The migration runs on startup when the `version` field is below the current version. | From | To | Changes | |---|---|---| | `0` | `1` | `update-interval` converted from seconds to ticks. Added `support-crouching` and `condense-holograms` options. | --- ## Example Configuration ```yaml version: 1 nametags: enabled: true show-self: true update-interval: 20 visibility-distance: 32 display: lines: - "<gray>{player}" - "<red>❤ <white>{health}" text-shadow: true see-through: false support-crouching: true condense-holograms: false text-alignment: "center" background: "default" billboard: "center" scale: x: 1 y: 1 z: 1 ``` --- ## Related Pages - [[Sign/Server Owners/Overview]] — plugin features and dependencies - [[Sign/Server Owners/Commands]] — command reference