- Contributors:
- connection_lost
TabListDeluxe v1.6
This plugin can let you change player name color, prefix and suffix in the TAB list, even beyond original 16-character limit. You may also specify dead player's special format.
This plugin uses Vault to read your chat formatting and Protocollib for packets.
It is just a little trick I discovered with Protocollib. Upon 1.8, clients receive player tab packets in JSON format, and there is no longer a length check of the player name. Changing the players' name in that JSON part will change their appearance in the player list. See this:
Code (Text):
public void onPacketSending(PacketEvent event) {
if (event.getPacketType() == PacketType.Play.Server.PLAYER_INFO) {
PacketContainer packet = event.getPacket();
PlayerInfoAction act = packet.getPlayerInfoAction().read(0);
if (act == PlayerInfoAction.UPDATE_DISPLAY_NAME || act == PlayerInfoAction.ADD_PLAYER) {
List<PlayerInfoData> infoList = (List<PlayerInfoData>) packet.getPlayerInfoDataLists().read(0);
List<PlayerInfoData> newList = new ArrayList<PlayerInfoData>();
PlayerInfoData pid = (PlayerInfoData) infoList.get(0);
if (pid.getDisplayName() == null) return;
Player p = Bukkit.getPlayerExact(pid.getProfile().getName());
String pname = p.getDisplayName(); // This is the player name string example
pid.getDisplayName().setJson("{\"text\":\"" + pname + "\"}"); // This is how to set the player name in packet
for (int i = 0; i < infoList.size(); i++) {
pid = (PlayerInfoData) infoList.get(i);
newList.add(new PlayerInfoData(pid.getProfile(), pid.getPing(), pid.getGameMode(), pid.getDisplayName()));
}
packet.getPlayerInfoDataLists().write(0, newList);
event.setPacket(packet);
}
}
}
Features:
- Change your Tab List header and footer.
- Header and footer in tab list has several placeholders, such as player name, time, day, and ping etc.
- Change the player names in Tab List. You may use Vault's prefix+suffix or bring your own. See configuration for more details.
- Dead player may appear as a special format. See image above.
Requirements & How to make it work:
You need those two plugins as dependency:
Vault and Protocollib
This plugin reads your prefix/suffix from vault, which should usually become your player's chat prefix/suffix already.
For instance, if a player "abc" already has a prefix of [ADMIN] on your server, this plugin will simply reads this. See configuration part for more information.
Protocollib is for packet handling.
Configuration:
The above code reflects the first image of this post. Notice player "connection_lost" is alive while "YangNiuLoveMe" is dead. Because I used PermissionEX, which hooked into Vault for player prefix and suffix managing, player "connection_lost" has a prefix of [O], which is shown in the tab list too.Code (Text):# *pre* prefix
# *suf* suffix
# *name* plain player name
# *dname* player's display name (such as essential's /nick name)
# Defines name to display
# There is no length limit of names!
# But seriously don't overdo it.
# Strip means to ignore all color from any sources, except this config itself.
# Remember to use & as a color char
normal: ' *pre**name**suf* '
normal-strip: false
dead: ' [DEAD] &7*pre**name**suf* '
dead-strip: true
Pro Tip: Add an extra space in the beginning of player's list name will make it look much better.
Commands:
Permission:
- /chattab reload: reload current configuration
Suggestions?
- chattab.admin: access to /chattab reload
I am not so creative. Why not leave a suggestion below?
Disclaimer:
More Screenshots:
- This plugin was made months ago, originally released as "ChatTab" as a premium resource. Since ideas are not protected in here, I took it down myself.
- This plugin used to be a private plugin for myself.
- This plugin is 100% original.
- My English is bad, don't get mad at me.
Use Permission:
When I have more free time I will make it open source on GitHub.
You are not allowed to redistribute it without my permission. Contact me using PM.

TabListDeluxe (Originally ChatTab) [Abandoned] 1.8
Change player's name color, format in the tab list even beyond character limit
Recent Updates
- Able to disable header & footer Dec 8, 2015
- Fix config & color codes in header/footer Apr 29, 2015
- Config Changes Apr 28, 2015