MGLib
Forenote
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.
Features
For Developers
- 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
Want to suggest a feature? Create an issue or create a pull request!
How to Use
Developers
Click here for a complete tutorial on using MGLib to create a minigame of your own!
Server Owners
Drag and drop! Once you install a plugin which uses MGLib, it will automatically hook in and you'll be good to go.
Planned Features
Changelogs
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)
Donations
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!
External Links
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.
MCStats
This plugin collects anonymous usage statistics. Here's a list detailing data collected, and here's a graph of and link to them:
Sponsor
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. :)
Whats the latest status?
@lolwhycant
My goal is to have a production build out before the end of April, if not before Easter.
@lolwhycant
http://amigocraft.net/plugins/mglib/status.html You can check the development status of the plugin there
So when will this plugin finish making? One of my developers waiting for this plugin to release it so he can make me a plugin.
<<reply 2058822="">>
I'm able to include an updater in the plugin as long as it uses a particular API (and I already have a prewritten class I'd like to use in mind), but thanks for the warning.
I'm really glad to hear your support for the project. As for completion: it's well underway, and I feel as though it'll be ready for alpha within the next couple of weeks. There are really only a few more major components that I need to take care of, and after that it's all just testing and fine-tuning.
Just a quick heads-up, make sure you keep the update-checker and automatic downloader/installer separate to adhere to Bukkit's rules. Other than that this looks like a great project and I for one hope it gets finished because others have promised the same in the past and sadly failed. :(