- Tested Minecraft Versions:
- Source Code:
- Languages Supported:
- German, Hungarian
SpigotLib is a plugin containing lots of useful libraries and commands which helps for both developers and server owners to make their servers better.
If you are a server owner, then you should use it for one of the following purposes:
1. You would like to use a plugin on your server which depends on it
2. For using some of it's commands by server owners, admins. You may even put them to a sign or an NPC with other plugins, what can be very helpful
3. For getting nice, colored and meaningful error reports encoded by the SpigotLibs CommandAPI instead of the old boring internal server error chat messages.
If you are a developer, then you should use it for one of the following purposes:
1. For coding plugins up to 2x faster
2. For using already perfectly working solutions for common plugin development problems
3. For hooking in to other plugins indirectly
4. To avoid the possibility of so many bugs appearing in your plugin
5. For coding plugins working on the packet level super easily
If the plugin does not work for you then please do not panic, do NOT leave a bad review, or a comment, just read and follow these steps:
0. Before posting the new update I always fully test the plugin, so it's verified that it works fine, which means that in the most of the cases it should also work at you without any issues. The only reason of malfunction can be the differences between my and your testing enviroment, so in the next points I will explain you what kind of testing enviroment differences exists
1. Incorrect server version: Please use the Spigots BuildTools to build yourself one of the following server versions: 1.8.8; 1.9; 1.9.2; 1.9.4; 1.10; 1.10.2; 1.11; 1.11.2; 1.12; 1.12.2.
For any other version there is no guarantee that SpigotLib will work without any issues. On 1.7.10 and older servers the SpigotLib works might only work in a limited "safe" mode, which means that only some of it's funtionalities will work, which does not directly depend on the Spigot API.
2. Using other plugins which causes issues: I will list you a few already known problematic plugins, of which some versions might cause issues:
- ChatControl plugins packet related features: Please stop your server and disable these features in ChatControl plugins configuration
- ProtocolSupport, ProtocolLib, ViaVersion: All of these plugins works with packets, so it's possible that some of them causes compatibility issues with SpigotLib. To resolve these issues it's suggested to make a new test server using just SpigotLib, and try to add these 3 plugins to it step by step. After these are added and working properly you may add the other plugins to your server. If they are not working, then check if you are using the correct versions of both of these plugins.
I have tested and verified already, that using the right versions of ProtocolSupport, ProtocolLib and ViaVersion together with SpigotLib are working fine, however I believe, that the combination of these 4 plugins incorrectly causes the most of the problems.
3. Remove old SpigotLib folder: After each update it's suggested to remove the old SpigotLib folder for letting the plugin extract the latest configuration and language file from the new SpigotLib jar.
4. Verify that SpigotLib works fine: The easiest way to verify that SpigotLib works properly is the usage of the /sl command
5. If you are absolutely sure about that none of the above mentioned points helped you still do NOT leave a bad review or write a comment, just contact me and I will help you.
If you need any help in SpigotLib usage or you need a custom plugin feel free to contact me on Skype. My Skype name is gyurixdev.
If you are satisfied by the help I give you or you are using a plugin, that depends on SpigotLib, please consider giving me a rating, for keeping me motivated about the SpigotLibs future development.
Before starting to code using SpigotLib please do the following steps:
1. Read the plugins licensing and reselling rules. It's very important that when you code plugins using SpigotLib you should never break the plugins license.
2. Watch the tutorials and try to use the things mentioned in them in your code too. The tutorials are for education purposes, so if you follow them, then you will be sure about that you are doing everything good
3. Explore the JavaDocs and the plugins source code to find out how to use all the beautiful APIs included in the SpigotLib
4. Ask questions, here in Spigots Plugin development forum, not by PM, so I or another user having experience with it could help
5. If you got enough experience help other users who asks help in Spigot plugin development forum and consider making new SpigotLib development tutorials.
For every good tutorial you make I can give you free access to one of my premium plugins.
• Animation API (make your animations and run them easily)
• BungeeAPI (Communicate super easily with the BungeeCord or with other servers connected to BungeeCord)
• ChatAPI (for sending Action bar, Chat and System JSON messages really easy, using my really simple custom format)
• CommandAPI (make command simulations easily using this API. It provides commands like Title, Subtitle, ActionBar, Console, Chat, Message, e.t.c. And every command is executed through the VariableAPI, so you can also use variables in the commands. You can even create custom commands too)
• Config management (Don't waste your time with config loading / saving. This system simplifiest all your Config management. From now it works with MySQL too.)
• EconomyAPI (a simple but really useful EconomyAPI system with multiple balance types, Vault compatibility and bank support. Now it supports working with other economy management plugins too.)
• ItemGuiAPI (Make custom item GUIs easily, supports inventory layout management so you can set up the same item to several inventory slots easily)
• JSON API (Are you tired of using Gson, it's time to try out a way better JsonAPI system. This system works similiar to the configuration management, just with Json-s)
• Language management API (use per player selectable languages for your plugins language file)
• Map API (manage custom maps very easily and super fast on packet level)
• Mojang API (easily handle the requests and responses between your server and between the Mojangs official API)
• MySQL API (Never worry about MySQL connections anymore, just use this API to easily send MySQL commands and get the answers or just do some background/Async updates)
• NBT API (get, list and add custom NBT tags for entities and items)
• TPS meter and crashreporter (make a crash report from the per thread stack trace dumps, if the servers tps is too low)
• TitleAPI (for setting Titles/Subtitles, for players without version incompatibility)
• PacketAPI (I have created a brand new API for managing packets really easily and compatible between different Spigot versions)
• PlayerDataStorage (A brilliant way of storing any kind of data about a player. From now it supports MySQL backend too.)
• RomanNumsAPI (A brilliant way of storing any kind of data about a player. From now it supports MySQL backend too.)
• ScoreboardAPI (manage per player different NO FLICKER sidebars, tabbars and nametagbars easily)
• VariableAPI (for handling unlimited amount of variables cross plugins, with a really simple and easy to use way)
• TimeAPI (for calculating times easily)
Please help me by making high quality and accurate tutorials. For every good tutorial you make I can give you free access to one of my premium plugins.
If you would like to use any SpigotLib commands for other users, you can do /sl subcommand p:<user1>,<user2> [arguments], so for example /sl cmd p:gyuriX MSG:My name is <plr:name>. This command will send a PM to gyuriX and
/sl cmd <commands>
/sl item [give]
/sl perm [permission]
/sl reload <config|pf|lf>
/sl save pf
/sl vars [text]
/sl velocity <x> <y> <z>
SpigotLib is licensed under the GPL-3 license
Short overview: https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)
Full text: https://github.com/gyurix/SpigotLib/blob/master/LICENSE.MD
A library for every neccessary missing thing in Spigot.
- 7.1.1 - Fixed empty only stringData based ConfigFile saving issue Mar 21, 2018
- 7.1 - API improvements and bug fixes Mar 14, 2018
- 7.0.2 - Fixed custom item API bugs Oct 15, 2017
I inquired about an error and a new release followed in less then a full day blows my mind what an awesome plugin best yet and have had every single complaint and error replayed to and fixed at hast love this plugin. vary awesome dev. I support this plugin great work
I really appreciate that the developer took into consideration all given feedback and decided to make the project open source and put it on github.
He is also currently hard working at adding and improving documentation to improve usabillity.
All those recent changes are making the lib more and more attractive for me as a developer.
I agree with the 2 people below me.
The license/tos is redicious:
1. Why can’t you use a more open license? This is a free resource and we understand you put time and effort into it but the license is rediciously strict.
2. “Any kind of reselling is strictly denied and illegal, if you find anyone who does it, please report it to me ASAP” who on earth would resell a free resource? Also why should we report it to you?
3. “If your public plugin uses this library, then you MUST inform me about it and if it is a premium resource, then add me to the plugins buyer list, so I could get access your plugin”
Holy shit Jesus Christ this annoying the fuck out of me. Why should we add you to our buyers list if you only made an api lib for it? Also why do you need to know where your resource is being used? There is no reason why we should add you to the buyers list of a resource that we put effort in to and used your library. I just can’t get over the fact on how fucking stupid this line is.
4. “If you are using this plugin for a private plugin, then you need to tell me the server name / IP where your plugin will be used”
Again, why? Literally no other resource author on Spigot wants to know where, when and how their resource is being used. It seems with you that you want to know the ins and outs of who downloaded your resource. If you’re that protective of it then why the hell did you release it in the first place?
5. The code is very messy (according to the previous reviews) and nothing has been done since October’s.
Overall a good resource with a bad license/tos and author.
P.S. Pardon my grammar as I am on mobile.
I agree with ungefroren hre.
Lots of really nice libs to ease things up, but:
1. The code isn't commented well. That's a huge issue, if you have no idea what's actually happening inside a function, as it makes it hard for devs to customize it.
2. Your licensing. I understand, that you want to know what people do with your plugin, but having people who want to use it privately to tell you the server name/IP leaves a really bad taste in my mouth. I'm actually not using this plugin because of it. I have no disclosure of what will happen with the name/IP. Will it be stored somewhere? Publically maybe? What if someone gets all this info and find an exploit? I'd rather use it, if it used the Metrics module.
Also, most developers can't modify this library anyways, since you said "you are only allowed to edit it for your OWN server network (not for your customers one)". Not all owners are devs and not all devs are server owners. Devs like me, who also set up servers for people, aren't allowed to modify it because of it, which is just further complicating it.
Rather use Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) to prevent your work from being distributed if it's modified.
Those are the 2 reasons for me to rate it with 2 stars. Not because it's bad but rather because a) I have no idea what happens to the server data I share and b) Because I can't modify it because of your license.
This plugin provides a lot of awesome libs which could make coding plugins way faster and easier.
But there are some things which really bother me as a developer:
1.) Your javadoc page is using an unverified SSL certificate which leads into a SEC_ERROR_UNKNOWN_ISSUER error when i acces it.
This is a bit annoying and could be easily fixed.
2.) Your code is poorly commented which makes figuring out how everything works more time consuming. Adding some javadoc comments would realy help.
3.) Most developers are used to Github, so why not post your sourcecode there?
4.) The thing which most annoyes me: Your licensing. I can totally understand that you put a lot of time and work into it and therfore want to keep some control over your work but I personally will only use libraries licensed under one of the popular open source licenses.
I worked a lot with open source projects on github and made the experience that everybody benefits from this.
I hope that maybe some of this thoughts help you improving your library.