
AddHeads
Adds player heads to chat and tablist, exposes reusable head placeholders for PlaceholderAPI-based plugins | No RP and Mod neded. Offline mode support.

AddHeads
AddHeads is a lightweight Paper/Purpur plugin for servers that adds player heads in chat and in the in-game tab list. It also provides reusable head placeholders for custom integrations. NO RP AND MOD NEEDED
🚀 Just Download and it works!
No additional plugin settings for chat and tab - the plugin works on top of them.
Everything works on a vanilla client, does not require any resource pack or mods.
🌍 Languages
Bundled languages:
en-us | es-es | de-de | fr-fr | pt-br | zh-cn | ru-ru
✨ What it does
- automatically prepends the player's head to the in-game player list name

- keeps working with vanilla player lists and with tab-related plugins without manual placeholder insertion even in offline mod
- adds the player's head before the chat message

- preserves existing chat formatting from other plugins
- supports shared skin resolution with SkinsRestorer when available
- keeps a single reusable skin cache for chat and placeholders
- includes a localized
/hd settingsGUI for admins
⚙️ Features
- Vanilla chat head rendering
- automatic player-list head insertion without extra setup
- public Bukkit service API for other plugins
- PlaceholderAPI support with multiple export formats
- SkinsRestorer-aware skin lookup
- automatic skin and cache refresh
- personal chat and player-list visibility toggles
- localized settings GUI
- live config and language reload
- automatic config and language key backfill on reload
- configurable spacing between the head and the text in both chat and the player list
- separate shadow settings for chat heads and player-list heads
- update checks from GitHub and Modrinth
💬 SUPPORTS ANY CHAT PLUGIN
🧩 Supported Player List Plugins
AddHeads supports these player-list plugins directly:
-
TABNative support is implemented through the
TABAPI, so heads are added correctly even whenTABformats prefixes, suffixes, colors, and tab list names. -
CMI / PowerBoard / PowerBoard / Any otherSupported through the standard compatibility path.
AddHeads also works with other player-list plugins that do not block external tab list modifications.
If a plugin allows the final tab list name to be modified externally, AddHeads can usually prepend the head through its normal compatibility path. For TAB, native API integration is used instead, so heads are rendered correctly even with TAB formatting features enabled.
📋 Requirements
- Paper or Purpur
1.21.9+ - Java
21
🔌 Optional dependencies
- PlaceholderAPI
- SkinsRestorer
🛠 Commands
| Command | Description | Permission |
|---|---|---|
/hd togglechat | Toggles chat heads for the executing player. | addhead.togglechat |
/hd toggletab | Toggles tab heads for the executing player. | addhead.toggletab |
/hd settings | Opens the localized config GUI. | addhead.settings |
/hd info | Shows plugin name, version, and author. | None |
/hd reload | Reloads config, language files, and skin cache. | addhead.reload |
🔐 Permissions
addhead.togglechat- Allows toggling your own chat heads.addhead.toggletab- Allows toggling your own tab heads.addhead.settings- Allows opening the settings GUI.addhead.reload- Allows reloading the plugin and using repair actions.addhead.premium- Used only whenpremium.mode=permission.
📦 Installation
- Download
AddHeads-{version}.jar. - Place it in your server
plugins/folder. - Start or restart the server.
- Edit
config.ymlandlanguages/*.ymlor use/hd settingsif needed. - Use
/hd reloadafter making changes.
📝 Notes
- AddHeads does not force one specific chat formatter.
- It decorates the final chat component after other chat plugins finish formatting it.
- The default tab path does not require any placeholder setup.
- The tab head is inserted automatically through the in-game player list name.
- This works with vanilla player lists and is designed to keep working even if another tab-related plugin rewrites the list name later.
- PlaceholderAPI placeholders are still available for custom layouts, prefixes, scoreboards, and similar UI.
- New language keys and config keys are backfilled automatically from the bundled defaults on reload.
🧠 Placeholders
%addhead_head%- JSON component head for chat and component-aware plugins.%addhead_tab%- Optional tab head placeholder for custom PlaceholderAPI-based layouts.%addhead_texture_value%- Raw texture value.%addhead_texture_signature%- Raw texture signature.%addhead_texture_hash%-textures.minecraft.nethash.%addhead_skin_ready%-trueorfalse, whether the shared skin cache already has a confirmed skin.%addhead_tab_visible%-trueorfalse, whether tab head output is enabled for that player.
🎨 Skin Sources
AddHeads resolves skins in this order:
- SkinsRestorer
- live Paper player profile
- Paper profile update lookup
- Mojang profile/session lookup by player name
- cached value already resolved by AddHeads
💫 My Other Plugins:
- PremiumBridge - auto-authenticate premium players (Supports AddHeads)
- PointCoordinates - save important places, keep coordinates organized
