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
@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.
@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...
This plugin just flat out doesn't work.
I can't belive anyone is expecting a reply from Double0negative he will never reply
Ok it won't load on my server how do I get it to work
Is it possible to put it on a bungee server so you can have it running though out the network
Hey 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
ERROR?
Is this error caused by tabAPI or my side?
please update
TabAPI.getHorizSize() returns 3 even thought in tab I only see 1 column.
Try to make a 1.6.4 update
@mcprogamer
Download a Dev build here http://ci.drtshock.com/view/Double0negative/job/TabAPI/7/
@waremanu
I know it's possible already with TabConfig.
Its 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
I need TabAPI working for BungeeCord with the GLOBAL_PING setting, may you please make this? That would be insane awesome!
my 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
@BenjiButton
you need to but the tab on SERVER in the config from bungee
I got the tab to work on the server, but I can't get bungee to show it
Does this work reliably without error on 1.6.2 r1.0 ?
WE WANT AN UPDATE !