mcMMO TabSkillz
mcMMO TabSkillz v1.6.6
Tired of typing /mcstats over and over? Just press Tab!
This is my first plugin so far and I'll appreciate any feedback or constructive criticism.
This plugin is as of now discontinued. Its functionality has been taken over by my new plugin ProTab. Using the Addon ProTab-mcMMO you will be able to get the exact same character sheet as this plugin generated. For a player list on a second page you can use ProTab-Basic.
Features
- Modifies the standard player list called by tab to show your mcMMO-skills.
- Shows all information /mcstats would provide.
- Can also show the progress in a skill in form of a bar or percentages.
- Will only show a skill if the player has the mcmmo-permission-node for it.
- The usual player list will begin just below the skill tab.
- Can be disabled to allow viewing more of the player list.
- Can be fully configured to your liking (see default tabConfig.yml file).
Config
- EnabledOnFirstConnect: State the standard status for a newly joining player here.
- ThirdColumnContent: Specify what should show up in the third column.
- Possible values: xpbar, percentage, both, none
- 'none' will cause the second-column-info to be extended into the third column.
- This will only do anything if your server has a player limit higher than 40.
- XpbarPercentageInMiddle: You can control if the percentages are in the middle of the xpbars or if they should move according to the length of their respective xpbar.
- This will only do anything if using 'both' as ThirdColumnContent.
- Playerlist:
- UsePrefix: Wether the prefix (defined by a permission-plugin) should show up in the player list or not.
- PrioritySorting: Wether players in the player list should be sorted by their ranks (defined by a permission-plugin) or not.
- Language: The Language the plugin should use.
- Currently supported: en_US, de, fr.
- If you want more to be supported, PM me and create a new one for another language.
Commands
- /tstoggle: Toggles the skill-sheet in the tab.
- /tsreload: Reloads the plugin, recognizing changes in the config and the tabConfig.
Permission Nodes
- tabskillz.show - Allows a player to see and toggle his stats when pressing tab (Default: Everyone)
- tabskillz.admin - Allows a player to reload the plugin (Default: Op)
- tabskillz.* / tabskillz.all - Inherits all the above permissions (Default: No-one)
Screenshots
With xp-bar:
Without xp-bar:

FAQ
- What are all these underscores doing there?
- There is a problem with the width of a space in Minecraft. It's way thinner than a usual character and to get a fixed distance between everything I needed a character that's just as wide as the others while still being considerably "empty". I decided to use the underscore.
- What are these blocks and numbers in the right column supposed to be?
- In the right column I tried to create some kind of progress bar for your respective skill. The blocks are forming the bar and the underscores the empty space which is to fill. The numbers printed either between the blocks or underscores are giving you the exact percentage of how full the bar is.
- Why is smelting not shown in the tab?
- Smelting is a child skill that mcMMO itself does not list it in /mcstats, so I won't do it as well.
Installation
- Make sure you installed all the required plugins found below.
- Drop the mcMMO TabSkillz.jar into your plugin folder.
- Make sure you have your player limit high enough to get at least 2 columns when you press tab (minimum: 21, max-sized tab: 60+)
- Have fun!
Requirements
- mcMMO v1.4.07
- TabAPI v0.1.15
- ProtocolLib v 3.0.1
Optional / Supported Plugins
- VanishNoPacket v3.18.7
- Will not show vanished players in the player list.
- PermissionsEx v1.20.4
- Will use rankings and prefixes in the player list. (configurable)
- bPermissions v2.10.7c
- Will use priorities and prefixes in the player list. (configurable)
Incompatible Plugins
- Any other plugins using TabAPI.
- Only 1 tab modifying plugin will be visible.
- Health Bar
- Will break the tab list. To fix this please set the Health Bar config option 'fix-tab-names' to 'false'.
To-Do
Enable / Disable Command- DONEMake xp-bar togglable and switch to xp-points if disabled- DONEAdd disable options for every single skill in the config- DONEHook into Vanish, so that vanished players are not displayed in the player list.- DONEAdd support for mcMMO Localizations- DONEReduce Lag- DONE (hopefully)Localized messages for the plugin.- DONEMake headers customizable- DONERearrangement for servers with player limit 21-40- DONEOptions to rearrange the skill- DONEOption to activate "compressed mode" for saving space in the tab (no headers or empty tabs)- DONE (by configuration)Option to put the progress percentages into the middle of their respective bars- DONEOption to give priority to certain groups in the player list, maybe colors / tags for them- DONEOption to switch content of the third bar between percentage, bar and percentage + bar- DONE- Create my own Tab API to remove the dependency from an outdated plugin
- Any Suggestions?
Known Bugs
- Lagging on servers with high numbers on players - working on it over time - is fixed?
-
View User Profile
-
Send Message
Posted Jun 22, 2013Tosh94 is awesome. Thank you for your patience and prompt help!
-
View User Profile
-
Send Message
Posted Jun 21, 2013@Tosh94
No worries, no rush. Thank you for the attention on this. =)
-
View User Profile
-
Send Message
Posted Jun 20, 2013@ellanon
Thanks for the info, I'll try to fix whatever causes this on weekend, but I can't make any guarantees. Until then: Have fun with mcMMO :)
-
View User Profile
-
Send Message
Posted Jun 20, 2013@Tosh94
Java 7. No Spout or Spigot.
bPermissions ChestCommands ChestShop Healthbar HomeSpawnWarp iConomy mcMMO MultiMOTD ProtocolLib SignPortals Towny
Our server is mostly for my wife and I, and the kids get on occasionally. My wife and I are having a blast with mcMMO and are in a friendly competition to see who can skill up faster. We love the idea of your plugin, and are excited to see it working properly. If any of those plugins are at fault, we'll remove them and test things out.
-
View User Profile
-
Send Message
Posted Jun 20, 2013@ellanon
I don't know how you could fix this yourself, this is likely a mistake on my part. Yet, even with the exact setup that Touljo provided me, I was not able to reproduce the error, so I'm still not sure why this is happening. Could give me a list of all the plugins that are running at the time of that error? Apart from that, are you using Spout or Spigot? Are you using Java 6 or Java 7?
-
View User Profile
-
Send Message
Posted Jun 19, 2013@Touljo
I have the same problem. My wife and I are very excited to see this working properly!
TabAPI 0.1.15 ProtocolLib 2.4.3 mcmmo 1.4.05
Screenshot - http://i.imgur.com/OLOCxVJ.png It appears the issue is the character name in the upper left corner throwing everything off. Is this something I can fix?
-
View User Profile
-
Send Message
Posted May 20, 2013Hello!
First, this is a very nice PlugIn!
But since i use Bukkit for MC1.5.2, my columns look weird. The 3rd one is now the first and some lines are a little bit confused. Is this a known problem? Maybe someone can help me.
Sorry for my bad english :)
-
View User Profile
-
Send Message
Posted May 18, 2013@Maibenrai
I didn't think about white lists when writing my stuff. Thanks for the report, should be fixed next version.
EDIT: A new version is in approval and it should fix that error.
-
View User Profile
-
Send Message
Posted May 17, 2013Bukkit-1.5.2-R0.1-1-g53734d2-b2772jnks
New not white listed players generate this (should you be checking for powerlevel==0?) when they are trying to log in:
18:26:40 [INFO] Disconnecting Farsatar [/xyxyxyxy:11464]
18:26:40 [WARNING] [mcMMO TabSkillz] Task #45813 for mcMMO TabSkillz v1.5 generated an exception
java.lang.NullPointerException
at com.gmail.nossr50.api.ExperienceAPI.getPowerLevel(ExperienceAPI.java:405)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.getLevelString(TabBuilder.java:183)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.setSkillTab(TabBuilder.java:80)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.createCompleteTab(TabBuilder.java:31)
at de.mail.j94.bastian.mcMMOTabSkillz.UpdateLoginTask.run(UpdateLoginTask.java:16)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:513)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
18:39:51 [INFO] Disconnecting pane mua [/xyxyxy:37823]
18:39:51 [WARNING] [mcMMO TabSkillz] Task #47809 for mcMMO TabSkillz v1.5 generated an exception
java.lang.NullPointerException
at com.gmail.nossr50.api.ExperienceAPI.getPowerLevel(ExperienceAPI.java:405)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.getLevelString(TabBuilder.java:183)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.setSkillTab(TabBuilder.java:80)
at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.createCompleteTab(TabBuilder.java:31)
at de.mail.j94.bastian.mcMMOTabSkillz.UpdateLoginTask.run(UpdateLoginTask.java:16)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:513)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
-
View User Profile
-
Send Message
Posted May 14, 2013@Vivi_Coral
Two things are your problem here.
First, you are using 2 plugins that modify your Tab. These work based on a priority sorting and it seems that TabConfig took a higher priority than mcMMO TabSkillz. This is why you can't see anything of my plugin, it gets overwritten by TabConfig. So, these two plugins are incompatible.
Second, it looks like your system has a problem with the '§' in front of 'mcStats', so try removing the '§2' from the config you copied from the jar. When you have done that the tabConfig.yml shouldn't be wiped anymore. This can happen on Linux systems because of their standard encoding and I will deploy a workaround in the next version.
Btw, the plugin generates a space in it's folder name, because he uses the plugin's name by standard - which contains a space.
-
View User Profile
-
Send Message
Posted May 13, 2013This is not working for me.
Not sure why the plugin uses a space in the directory name:
/home/user/Minecraft/plugins/mcMMO TabSkillz
Think the reason it doesn't work for me is because tabConfig.yml is empty:
-rw-r
r1 mc root 0 May 14 00:29 /home/user/Minecraft/plugins/mcMMO\ TabSkillz/tabConfig.ymlI tried putting the following from mcMMO_TabSkillz.jar/tabConfig.yml in it but it just wiped it on reload/restart:
http://pastebin.com/WT4zd7xf
I can see TabConfig but as OP doing /tson and /tsxpon doesn't show any skills or XP bars when pressing tab.
-
View User Profile
-
Send Message
Posted May 6, 2013@Maibenrai
Hi, the error message suggest, that you modified tabConfig.yml and used a � in the tabConfig. A similar error happens to me, if I change the format of tabConfig.yml to Unicode instead of ANSI (but you're not supposed to ;) ). If you didn't modify anything, please PM me.
-
View User Profile
-
Send Message
Posted May 5, 2013Hello
Bug on new install http://pastebin.com/jbq9rVxU
tabConfig.yml ends up being empty.
Versions:
- CraftBukkit 1.5.2-R0.2 (Build #02772)
- mcMMO v1.4.06-beta2-b1957
- TabAPI vB 0.1.15
- ProtocolLib v2.4.1
-
View User Profile
-
Send Message
Posted Apr 27, 2013@jwmpine
Thanks for these bug reports, I'll try fixing them asap as they are clearly mistakes on my side. I don't know if there are any workarounds for them.
-
View User Profile
-
Send Message
Posted Apr 26, 2013I got a question, when I did the removal of (tabskillz.show - Allows a player to see his stats when pressing tab) in the perm files for one of my worlds.. It left some lines showing invisible players..
Anyway to fix this bug? I disabled it since it looked tacky and I think it was messing with my other world but that might of too been just a bug since I learned the skills don't show unless u gain xp in one of them when u first log in.
-
View User Profile
-
Send Message
Posted Apr 21, 2013@x0dus
I'm very sorry, that's sadly a known issue. I am trying to fix it, but that may take a while...
-
View User Profile
-
Send Message
Posted Apr 20, 2013mcmmo laged serwer 100+ players
-
View User Profile
-
Send Message
Posted Apr 9, 2013wrong section
-
View User Profile
-
Send Message
Posted Apr 3, 2013@jwmpine
Are you sure you are using a 1.5.1 dev build? If yes, could you please tell me which one? (I updated v.1.4.3 for build 2723, so it's possible lower build won't work) Also, try to use v1.4.2 and see if it works then.
@ahmet371
I'm not sure how exactly that makes sense in my plugin. Could you please elaborate further?
-
View User Profile
-
Send Message
Posted Apr 3, 2013Just setup mcmmo on my server since we are going through changes and trying stuff, and I want to use this plugin but I get this error:
I got TabAPI installed and ProtocolLib I believe, there really isn't any special instructions except drag and drop them into the plugin folder...
I have the dev version of 1.5.1 bukkit
Plugins: mcmmo -1.4.014 tab is : 01.15 Lib is: 2.3.0 (was a dev version but I downgraded still didn't work)
----Server reads errors bottom to top, since it drops in from the top..--03.04 14:59:29 [Server] INFO ... 12 more 03.04 14:59:29 [Server] INFO at java.lang.ClassLoader.loadClass(Unknown Source) 03.04 14:59:29 [Server] INFO at java.lang.ClassLoader.loadClass(Unknown Source) 03.04 14:59:29 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) 03.04 14:59:29 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) 03.04 14:59:29 [Server] INFO Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer 03.04 14:59:29 [Server] INFO at net.minecraft.server.v1_5_R1.ThreadServerApplication.run(SourceFile:573) 03.04 14:59:29 [Server] INFO at net.minecraft.server.v1_5_R1.MinecraftServer.run(MinecraftServer.java:409) 03.04 14:59:29 [Server] INFO at net.minecraft.server.v1_5_R1.MinecraftServer.q(MinecraftServer.java:476) 03.04 14:59:29 [Server] INFO at net.minecraft.server.v1_5_R1.DedicatedServer.r(DedicatedServer.java:225) 03.04 14:59:29 [Server] INFO at net.minecraft.server.v1_5_R1.MinecraftServer.r(MinecraftServer.java:512) 03.04 14:59:29 [Server] INFO at org.bukkit.craftbukkit.v1_5_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:344) 03.04 14:59:29 [Server] INFO at org.bukkit.craftbukkit.v1_5_R1.scheduler.CraftTask.run(CraftTask.java:53) 03.04 14:59:29 [Server] INFO at de.mail.j94.bastian.mcMMOTabSkillz.TabListener$1.run(TabListener.java:28) 03.04 14:59:29 [Server] INFO at de.mail.j94.bastian.mcMMOTabSkillz.McMMOTabSkillz.updateAllPlayerTabs(McMMOTabSkillz.java:30) 03.04 14:59:29 [Server] INFO at de.mail.j94.bastian.mcMMOTabSkillz.McMMOTabSkillz.updatePlayerTab(McMMOTabSkillz.java:43) 03.04 14:59:29 [Server] INFO at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.createPlayerList(TabBuilder.java:92) 03.04 14:59:29 [Server] INFO at de.mail.j94.bastian.mcMMOTabSkillz.TabBuilder.getPing(TabBuilder.java:171) 03.04 14:59:29 [Server] INFO java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_5_R2/entity/CraftPlayer 03.04 14:59:29 [Server] WARNING [mcMMO TabSkillz] Task #26 for mcMMO TabSkillz v1.4.3 generated an exception