
Better TabList
A server-side Minecraft mod that fully customizes the in-game tab list with animated headers/footers, AFK detection, player sorting, and FTB Ranks integration.
Supports NeoForge, Fabric for Minecraft 1.21–1.21.11 and Forge 1.21-1.21.1.
Inspired by: Tab List on Modrinth
Overview

Better TabList replaces the default tab list with a fully customizable version featuring live server data, animated frames, and per-player information.
Features
- Animated Header & Footer — Define multiple frames that cycle automatically with configurable speed
- AFK Detection — Players go grey after a configurable timeout, with an
#AFKplaceholder - Player Sorting — Sort the tab list alphabetically or by rank (via FTB Ranks)
- FTB Ranks Integration — Optional; uses rank permissions for custom display names and sorting
- Hex Color Support — Full
&#RRGGBBhex colors alongside standard&color codes - Gradient Support — Smooth color transitions with MiniMessage and TAB-style syntax
- Efficient Updates — Only sends packets when content actually changes
Installation
- Download the JAR for your mod loader (NeoForge, Fabric, or Forge).
- Place it in your server's
mods/folder. - Start the server — a
config/tablist.tomlfile will be generated with defaults. - Edit the config and restart or do
/tablist reloadto apply changes.
Configuration
All settings live in config/tablist.toml.
Placeholders
| Placeholder | Description |
|---|---|
#N | New line |
#SERVERNAME | Server name (set in config) |
#TPS | Ticks per second |
#CTPS | TPS with automatic color (green/yellow/red) |
#MSPT | Milliseconds per tick |
#PLAYERCOUNT | Number of online players |
#MAXPLAYERS | Maximum player slots |
#PLAYERNAME | Viewing player's name |
#PING | Player ping in ms |
#RANK | Player rank (requires FTB Ranks) |
#AFK | Shows "AFK" if the player is AFK, empty otherwise |
#WORLD | Player's current dimension |
#MEMORY | Memory usage (used / max) |
#UPTIME | Server uptime |
#DATE | Real date (yyyy-MM-dd) |
#TIME | Real time (HH:mm) |
Color Codes
- Standard:
&a(green),&c(red),&l(bold),&r(reset), etc. - Hex:
&#FF5555for any RGB color
Gradients
Gradients smoothly transition text between two or more colors. Two syntax styles are supported:
MiniMessage-style (supports 2 or more color stops):
<gradient:#FF0000:#0000FF>Red to Blue</gradient>
<gradient:#FF0000:#00FF00:#0000FF>Red to Green to Blue</gradient>
TAB-style (exactly 2 colors):
<#FF0000>Red to Blue</#0000FF>
Formatting codes go inside the gradient tags and are preserved across the text:
<gradient:#FFD700:#FF4500>&lBold gold to red</gradient>
<#00FFFF>&oItalic cyan to purple</#AA00FF>
Display Name Format
The display_name_format option controls how player names appear in the tab list. Use {name} and {rank} as placeholders:
display_name_format = "{name} &7#AFK"
Example Config
[appearance]
server_name = "My Server"
header = [
"#N <gradient:#FF5555:#FF9955>&l#SERVERNAME</gradient> #N&#AAAAAA&m &r#N",
"#N <gradient:#5555FF:#55FFFF>&l#SERVERNAME</gradient> #N&#AAAAAA&m &r#N"
]
footer = [
"&fOnline: &e#PLAYERCOUNT&7/&e#MAXPLAYERS #N&7TPS: #CTPS &7| MSPT: 7FFFF#MSPT #N&7Memory: &#AA55FF#MEMORY &7| Uptime: &#FFAA00#UPTIME"
]
display_name_format = "{name} &7#AFK"
update_interval = 500
animation_interval = 4
[sorting]
sort_mode = "NONE"
[ftbranks]
enable_ftbranks_formatting = true
[afk]
afk_enabled = true
afk_timeout = 300


