TabAPI
TabAPI

Check it out in action! Join play.mc-sg.org
What is it
TabAPI is an API that is designed to allow developers make use of the Player Tab List in their plugins. It allows a simple way for Dev's to take control of it on a per-player basis to provide ingame stats, custom tab menus, hud's and more!
Examples

Requirements
This plugin requires Protocollib to function.
For Server Owners
If you are a server owner, then simply select the version that matches your server version and download it. This will allow plugins that use this API to take advantage of the API to change the tab list.
Plugins Using TabAPI
- SuperSpleef - When the New update is released.
- TabConfig - Fully Customizable Tab list!
- McMMO TabSkillz - View your McMMO skills on the tab!
- TabToTheMax - Customizable Tab List!
- More Coming Soon!
Limits
- The minecraft tab list does not support two tabs of the same content. So for example, if you set one square to "test" and anther to "test", only one will be displayed. A workaround for this is you can just add either spaces or color codes to the end to make them unique.
- the updatePlayer function has to clear the entire tab list and resend it due to mc just appending new packets to the end of the list. therefor, only call this functions as needed (ie once a loop is done, not in the loop), otherwise it will end up causing both lag and high bandwidth usage.
- Currently only supports tab list with three columns (dev release issue)
- Currently If no plugin takes control of the tab list, it will show a blank list instead of the default player list (dev release issue)
Graphics and Page design by Malo






-
View User Profile
-
Send Message
Posted Feb 16, 2014@MCer202
This plugin does NOT change the tab on its own. You must make your own plugin or Download one that supports it. Please do not comment saying it doesn't work.
-
View User Profile
-
Send Message
Posted Feb 3, 2014@MCer202
@MCer202
First of all, stop spamming the comments. This plugin is an API, meaning that it does not do ANYTHING AT ALL without another plugin that uses it. Get one of the plugins listed under addons to get it to work... Also if you want to get in contact with the developer then private message him, don't annoy him...
-
View User Profile
-
Send Message
Posted Feb 1, 2014This plugin just flat out doesn't work.
-
View User Profile
-
Send Message
Posted Feb 1, 2014I can't belive anyone is expecting a reply from Double0negative he will never reply
-
View User Profile
-
Send Message
Posted Jan 25, 2014Ok it won't load on my server how do I get it to work
-
View User Profile
-
Send Message
Posted Jan 24, 2014Is it possible to put it on a bungee server so you can have it running though out the network
-
View User Profile
-
Send Message
Posted Dec 23, 2013Hey Double_0_negative,
When I have set the tab to show 3 lists but it only shows one. Could you please help me or even update the plugin (Really needed i think). Yes i am making my own plugin for my server and no i don;t want to use someone else's plugin.
- jrobi230
-
View User Profile
-
Send Message
Posted Dec 14, 2013ERROR?
-
View User Profile
-
Send Message
Posted Dec 6, 2013Is this error caused by tabAPI or my side?
-
View User Profile
-
Send Message
Posted Nov 30, 2013please update
-
View User Profile
-
Send Message
Posted Nov 22, 2013TabAPI.getHorizSize() returns 3 even thought in tab I only see 1 column.
-
View User Profile
-
Send Message
Posted Nov 15, 2013Try to make a 1.6.4 update
-
View User Profile
-
Send Message
Posted Oct 30, 2013@mcprogamer
Download a Dev build here http://ci.drtshock.com/view/Double0negative/job/TabAPI/7/
@waremanu
I know it's possible already with TabConfig.
-
View User Profile
-
Send Message
Posted Oct 30, 2013Its Crashed My Server Please Update The Plugin It Comes Up With This:
23:22:44 [SEVERE] null
org.bukkit.command.CommandException Unhandled exception executing command 'taba
pi' in plugin TabAPI vB 0.1.15
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:19
2)
at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServe
r.java:528)
at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerCon
nection.java:968
at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.j
ava:886)
at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java
:837)
at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49)
at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296
)
at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java
:116)
at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:3
0)
at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
92)
at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
27)
at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
88)
at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
:421)
at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
83)
Caused by: java.lang.NullPointerException
at org.mcsg.double0negative.tabapi.TabAPI.updatePlayer(TabAPI.java:256)
at org.mcsg.double0negative.tabapi.TabAPI.updateAll(TabAPI.java:314)
at org.mcsg.double0negative.tabapi.TabAPI.onCommand(TabAPI.java:132)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 15 more
-
View User Profile
-
Send Message
Posted Oct 21, 2013I need TabAPI working for BungeeCord with the GLOBAL_PING setting, may you please make this? That would be insane awesome!
-
View User Profile
-
Send Message
Posted Oct 10, 2013my server crashed :(
00:34:04 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) 00:34:04 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:523) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerConnection.java:959) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.java:877) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:834) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 00:34:04 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: 3 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabObject.setTab(TabObject.java:66) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:235) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:215) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.resetTabList(TabAPI.java:205) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.onEnable(TabAPI.java:86) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 00:34:04 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadPlugin(Utilities.java:294) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadCommand(Utilities.java:258) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.PlugManCommands.onCommand(PlugManCommands.java:64) 00:34:04 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 00:34:04 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) 00:34:04 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:523) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerConnection.java:959) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.java:877) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:834) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 00:34:04 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: 3 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabObject.setTab(TabObject.java:66) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:235) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:215) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.resetTabList(TabAPI.java:205) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.onEnable(TabAPI.java:86) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 00:34:04 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadPlugin(Utilities.java:294) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadCommand(Utilities.java:258) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.PlugManCommands.onCommand(PlugManCommands.java:64) 00:34:04 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 00:34:04 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) 00:34:04 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:523) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerConnection.java:959) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.java:877) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:834) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 00:34:04 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: 3 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabObject.setTab(TabObject.java:66) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:235) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.setTabString(TabAPI.java:215) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.resetTabList(TabAPI.java:205) 00:34:04 [SEVERE] at org.mcsg.double0negative.tabapi.TabAPI.onEnable(TabAPI.java:86) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 00:34:04 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 00:34:04 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadPlugin(Utilities.java:294) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.loadCommand(Utilities.java:258) 00:34:04 [SEVERE] at com.ryanclancy000.plugman.PlugManCommands.onCommand(PlugManCommands.java:64) 00:34:04 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 00:34:04 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) 00:34:04 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:523) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.handleCommand(PlayerConnection.java:959) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.java:877) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:834) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421) 00:34:04 [SEVERE] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 00:34:04 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: 3
-
View User Profile
-
Send Message
Posted Sep 27, 2013@BenjiButton
you need to but the tab on SERVER in the config from bungee
-
View User Profile
-
Send Message
Posted Sep 15, 2013I got the tab to work on the server, but I can't get bungee to show it
-
View User Profile
-
Send Message
Posted Sep 12, 2013Does this work reliably without error on 1.6.2 r1.0 ?
-
View User Profile
-
Send Message
Posted Sep 6, 2013WE WANT AN UPDATE !