Tablist
The tab-list header, footer, column layout and player skins, drawn from packets.
The tablist module shapes the player list: the multi-line header and footer, how players are arranged into columns, and the skin rendered next to each name. Like the rest of the HUD it is drawn from packets rather than vanilla scoreboard teams, and it registers no commands: everything is config.
Module tablist · disabled by default · modules/tablist/config.conf
Permissions
| Node | Default | Grants |
|---|---|---|
uxmessentials.module.tablist | op | Hot-reload / inspect the tablist module (the player list header, footer and rows). |
Settings
| Key | Default | What it does |
|---|---|---|
refresh-ticks | 20 | How often every viewer is re-rendered, in server ticks (20 ticks = one second). Must be positive. This is the GLOBAL cadence, in both shapes below. A file from 0.10.0 or older may also set tablist.refresh-ticks: that value is used only when this one is still 20. |
tablist.header | [...] | The tablist header lines, joined top to bottom with newlines. This example uses the built-in {tokens} above, so it shows real values with or without PlaceholderAPI; edit it to taste. (Leaving BOTH header and footer empty would leave the player's tab untouched rather than blanking it; the header and footer are sent together.) |
tablist.footer | [...] | The tablist footer lines, joined top to bottom with newlines. |
tablist.world-blacklist | [] | World names where the tablist is suppressed entirely. |
Placeholders
| Placeholder | Renders |
|---|---|
%uxmessentials_tablist_format% | The tablist format the player's tab is drawn from, or a dash when they are drawn none. |
%uxmessentials_tablist_shown% | Whether the player's tab is being drawn from a format at all (yes/no). |
Notes
- Skins resolve on cracked servers too. A skin named
player:<name>is read from that player's live profile while they are online, and fetched from Mojang otherwise, so an offline-mode server still renders faces. - Header and footer share the HUD content grammar: built-in
{tokens}, PlaceholderAPI placeholders when PAPI is present, and animations paced by the refresh setting. - An animation frame can be a catalogue line. Write a frame as
@custom.tab.storeand put the token alone on its line (footer = [ "%anim_links%" ]): each viewer reads the frame in their own language, so a footer that turns through Discord, the store and help keeps its words inmessages_<lang>.conf. Two animations with the same interval and frame count step together, so a second line can explain the link the first one lights.interval-tickscounts refreshes: withrefresh-ticks = 20, a value of 3 shows each frame for three seconds. - A filler grid can own every cell. With
exact = trueon the filler block, all 80 cells are drawn, including the ones you did not author, so a designed grid keeps its shape instead of collapsing around the real player list. It needssuppress-real-players = trueon the same format and refuses to switch itself on otherwise: the native roster and a full synthetic grid cannot both decide the layout. - The layout arranges players into columns, which is how a network builds a per-server or per-rank grid instead of one alphabetical list.
Related: Scoreboard, Nametags, Vanish
Was this page helpful?