MGLib is currently deprecated and has been superseded by Flint, a much nicer and better thought-out engine. I do not recommend creating plugins using MGLib at this point in time; rather, please use Flint as it will save both you and your users many headaches.
What is MGLib?
MGLib is a library designed with ease-of-use in mind, and made to assist plugin developers in creating minigame plugins. Generally speaking, almost all minigame plugins have the same basic functionality built into them. However, this basic functionality (e.g. round management) takes a lot of time to create. If all the core code is effectively the same, why not just use the same exact code instead of rewriting it every time? This is where MGLib comes into play. MGLib provides an API for minigame plugins to use, so that they don't need to write it themselves. This can drastically reduce the size and time investment of individual plugins. MGLib boasts an easy-to-use and understand API, paired with a large featureset, with more functionality being planned and implemented every day.
- A central API instance to call most methods
- Easy round/player management via discrete object types (Round and MGPlayer)
- Plenty of redundancy! For example, you could use either of the aforementioned classes to add a player to a round
- Easy arena creation
- Simple but flexible player management
- Issues are passed onto your plugin via easy-to-understand exceptions so you can handle them yourself
- Automatic round timing system
- Automatic rollback system
- Automatic but configurable lobby sign system
- Discrete and easy-to-use class for configuration of your minigame's variables
- Maven support
- More to come!
For Server Owners
- Simple install, just drag and drop the JAR file
- All plugins using MGLib will automatically hook it if it's installed
- Silent auto-updater to ensure you're getting access to the latest plugins and features
How to Use
Drag and drop! Once you install a plugin which uses MGLib, it will automatically hook in and you'll be good to go.
Plugins using MGLib
If you'd like your plugin listed here, shoot me a PM!
We also have a banner for plugins utilizing MGLib to use. Feel free to add it to your project page if you wish. (Alternative banner)
I've spent hundreds of hours developing MGLib. I do it for free because it's my passion, but I greatly appreciate donations if you can offer them.
Click the Donate button at the top right of the page to say thanks!
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Additionally, these builds often undergo little to no testing, so there is no guarantee they will function properly.
This plugin collects anonymous usage statistics. Here's a list detailing data collected, and here's a graph of and link to them:
Special thanks to HostHorde for supporting MGLib! Make sure to check them out!
Note: This plugin utilizes Mojang's UUID API to enable certain features.
Please refrain from reporting bugs in the comments. Instead, create an issue. :)