TabList & Scoreboards

Features

TabList & Scoreboards

Live TabList

The tablist section drives one live header/footer, refreshed continuously. Any PlaceholderAPI placeholder works, plus animations and conditions.

tablist:
  enabled: true
  # condition: ""      # optional named condition
  # permission: ""     # optional
  # worlds: []         # optional
  header:
  - "%animation:brand%"
  - "<gray>Welcome, <white>%player_name%"
  footer:
  - "<gray>Online: <yellow>%server_online%<gray>/<yellow>%server_max_players%"

Players can hide it with /xannounce toggle tablists.

Live Scoreboards

Define one or more sidebars under scoreboards. For each player, the first scoreboard whose condition (and permission / worlds) matches is shown — config order is priority.

scoreboards:
  vip:
    enabled: true
    condition: is-vip          # only VIP players get this board
    title: "%animation:brand%"
    lines:
    - "<gray>Rank: <gold>VIP"
    - "<gray>Ping: <yellow>%player_ping%ms"
    - "%xannounce_condition_low-health%"   # line hidden unless the condition matches
  default:
    enabled: true               # fallback for everyone else
    title: "%animation:brand%"
    lines:
    - "<gray>Player: <white>%player_name%"
PropertyDescription
enabledTurn a scoreboard off without deleting it
condition / permission / worldsWho sees this board (first match wins)
titleThe sidebar title (MiniMessage, placeholders, animations)
linesUp to 15 lines; a line that resolves to empty is hidden

Packet-based & Folia-safe. XAnnounce sends the scoreboard packets directly (via FastBoard) instead of the Bukkit Scoreboard API, which cannot create scoreboards on Folia. Score numbers are hidden, and only changed lines are re-sent — no flicker. Static lines (no placeholder) are parsed once and shared across players, so the refresh loop stays cheap even with many players.

Refresh Rate

A single async clock drives both the tab-list and the scoreboards; the per-player work runs on each player's region thread.

display:
  refresh-ticks: 5   # 5 ticks = 0.25s. Lower = smoother, costlier.

Players hide their scoreboard with /xannounce toggle sidebars.

Still need help?

Ask our team on Discord or browse the source.