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 8, 2013How to get/add: Players: name1 name2 name3 name4 name5
-
View User Profile
-
Send Message
Posted Feb 8, 2013@Double_0_negative
Ah Yeah Thank you, kinda missed it :P
-
View User Profile
-
Send Message
Posted Feb 8, 2013@JohnnyCrazy
Look at the limititations
"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. "
-
View User Profile
-
Send Message
Posted Feb 8, 2013@Double_0_negative
Yep I know but I don't use it. And the global tab list makes smaller servers look bigger! :P
-
View User Profile
-
Send Message
Posted Feb 8, 2013This: http://pastebin.com/11HYCNjs
gives me that Screen:
http://puu.sh/1ZgLb
whats wrong O.o
-
View User Profile
-
Send Message
Posted Feb 8, 2013@Double_0_negative
Ah okay! I figured it out! For anyone else, If you run TabAPI.updatePlayer(<Player>);, and then change something in their tab list it doesn't work all of the time. By the way, whenever I do /reload and THEN a player logs out, It throws an error in the console.
06:44:36 [SEVERE] Could not pass event PlayerQuitEvent to * v1.0.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:35) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_R1.PlayerList.disconnect(PlayerList.java:209) at net.minecraft.server.v1_4_R1.PlayerConnection.a(PlayerConnection.java:717) at net.minecraft.server.v1_4_R1.NetworkManager.b(NetworkManager.java:295) at net.minecraft.server.v1_4_R1.PlayerConnection.d(PlayerConnection.java:113) at net.minecraft.server.v1_4_R1.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_R1.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_R1.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at org.mcsg.double0negative.tabapi.TabAPI.updatePlayer(TabAPI.java:211) at me.macguy8.*.*PlayerJoinEvent.onPlayerQuit(ccTabListPlayerJoinEvent.java:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 15 more
It only happens when you do /reload and then a player logs off. I'm not quite sure if it's an issue with my plugin, or with this API, or what it could be, but I thought it'd be best to report it. Thanks for the support!
-
View User Profile
-
Send Message
Posted Feb 8, 2013http://dev.bukkit.org/server-mods/tabapi/forum/development/request/48567-listener/
-
View User Profile
-
Send Message
Posted Feb 8, 2013Please someone make this: http://dev.bukkit.org/server-mods/tabapi/forum/development/request/48523-custom-tab-list/#p1
-
View User Profile
-
Send Message
Posted Feb 7, 2013@YoFuzzy3
It works if you set it to Tab_list: 3
-
View User Profile
-
Send Message
Posted Feb 7, 2013@west420 Please READ.
-
View User Profile
-
Send Message
Posted Feb 7, 2013This plugin dosent work...
-
View User Profile
-
Send Message
Posted Feb 7, 2013Sweet plugin! If only it worked with Bungee's global tab list.
-
View User Profile
-
Send Message
Posted Feb 7, 2013@macguy8
you need to call TabAPI.updatePlayer(p) after every time that you finish updating their tab.
-
View User Profile
-
Send Message
Posted Feb 7, 2013Hello! I can't get this to work! In player join, I have TabAPI.setPriority(plugin, player, 2); TabAPI.updatePlayer(player); TabUtils.updateTabAll(); TabAPI.updatePlayer(player); I tried to do some other things with it, including the delay, etc, but the tab list just stayed clear. In my TabUtils.updateTabAll() function I have... int nextSlotX = 0; int nextSlotY = 7;
for (Player p : Bukkit.getServer().getOnlinePlayers()) { if (player.canSee(p)) { TabAPI.setTabString(plugin, player, nextSlotY, nextSlotX, getTabName(p));
nextSlotX;
if (nextSlotX > 2) { nextSlotX = 0; nextSlotY; } } } to update everyone in the list. I don't quite get it. I also do have TabAPI.updatePlayer() after that.
-
View User Profile
-
Send Message
Posted Feb 7, 2013so cool we are you going to put up the survival games update and will that support this?
-
View User Profile
-
Send Message
Posted Feb 6, 2013Can we get some listeners?
-
View User Profile
-
Send Message
Posted Feb 6, 2013@surferdude999
Good catch, fixed.
-
View User Profile
-
Send Message
Posted Feb 6, 2013Listed as tagapi
-
View User Profile
-
Send Message
Posted Feb 6, 2013@frazz86
Nope, just waiting approval still
-
View User Profile
-
Send Message
Posted Feb 6, 2013NUUUU File removed :(