MinigamesLib
MinigamesLib
Currently there are 16 released and three unreleased minigames and more are planned to be added soon.
That's the API I'm using in all of my newer minigames. Of course you are free to use it too, be sure to drop me a message and I'll list your project here too. There's Arcade functionality already included which enables you to be able to play all minigames in one run, you just need to install MGArcade.
Important links:
Github Repo
- Wiki
- JavaDocs
- Minigames Github Organisation (I upload all minigames using this API here to keep things organized)
- Maven repo
- Forum
Development Files (towards MinigamesLib 1.13)
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. Link: https://drone.io/github.com/instance01/MinigamesAPI/files (use the file in the mid)
I usually upload a new release on bukkitdev every 20-30 commits and sometimes they contain ciritical bugfixes. Here you can download these pre-releases while they're not on bukkitdev yet. You might want to turn off autoupdating in the MinigamesLib config if you use these builds.
Tutorials and Trivia (hidden features)
- Default Config explanation and Item Markup tutorial
- All commands
- Kit Configuration: Coming soon. Just copy paste current kits and adjust them to your needs, if you want to disable a kit, add "enabled: false" to it.
- Trivia (cool side infos)
- MinigamesLib-Bungee tutorial: https://www.youtube.com/watch?v=_863fMQpKm8
Minigames
Links are pointing to the github repos where the projects aren't up on bukkitdev yet.
Project | Done | Released | MGLib Compatibility |
---|---|---|---|
FlyingCars | ✓ | ✓ | 1.7-1.13.x |
Snake | ✓ | ✓ | 1.7-1.13.x |
Warlock | ✓ | ✓ | 1.7-1.13.x |
Warlock-Tactical | ✓ | × | |
Bowbash | ✓ | ✓ | 1.9.1-1.13.x |
MGArcade | ✓ | ✓ | 1.9.1-1.13.x |
MGMobEscape | ✓ | ✓ | 1.9.1-1.13.x |
MGSkyWars | ✓ | ✓ | 1.7-1.13.x |
Trapdoor Spleef | ✓ | ✓ | 1.7-1.13.x |
Gungame | ✓ | ✓ | 1.7-1.13.x |
Conquer | ✓ | ✓ | 1.9.1-1.13.x |
NoteblockBlitz | ✓ | ✓ | 1.13.x |
ChickenVolley | × | × | |
SeaBattle | ✓ | ✓ | 1.9.1-1.13.x |
Splegg & Spleef | ✓ | ✓ | 1.7-1.13.x |
BedWars | ✓ | × | |
DeathRun | ✓ | ✓ | 1.13.x |
OneInTheChamber | ✓ | ✓ | 1.13.x |
MinigamesLib-Bungee (Download is on the full package link on the spigot page) | ✓ | ✓ | 1.9-1.13.x |
! means work in progress, x means not started/released yet.
What does the MGLib Compatibility column mean? This means that the latest file is only compatible with the given version.
All minigames built with this API will be automatically available in Arcade, which means you can play all of them in one run.
Features
- Arenasystem
- Customizable messages
- Different minigame types
- VIP Arenas
- Economy, command and item rewards
- Overall Customization/Attributes like player counts, countdowns, spawns, boundaries etc.
- Signs and corresponding Arena states
- Fast map regeneration mechanism
- Kits/Classes and Classesmenu
- Arcade (play all games in one run)
- MySQL/SQLite support
- Gun API
- Bungee support
- Party (/party)
- Additional shops with Gui
- Achievements
- Included effects like blood or dead bodies lying around
- Moar stuff
Arcade and MinigamesParty Info
I started redirecting people from MinigamesParty as I don't plan on doing big updates on MGParty anymore. It's an old idea/system I was using there, MinigamesLib is my new approach. So how does this new system work?
Pretty simple, it consists of a core, MinigamesLib, and a bunch of minigames you can download seperatly and install on the server. You can now setup arenas for each minigame and change pretty much everything else what the minigame offers for customization. If you now want to have something like MGParty, install MGArcade which will automatically recognize all installed minigames and use the respectively first arena available, and that's pretty much it. A bit more setup work, but more stable and more customization. Also the minigames aren't limited to 1 minute! If there's still big demand on big MGParty updates with new minigames, I'll of course think about it. :)
Enchantments, PotionEffects and Sounds
- Please use the following enchantment names for the kits of all minigames: http://jd.bukkit.org/rb/apidocs/org/bukkit/enchantments/Enchantment.html
- For potioneffects use the following names: http://jd.bukkit.org/rb/apidocs/org/bukkit/potion/PotionEffectType.html
- For sounds use these names: http://jd.bukkit.org/beta/apidocs/org/bukkit/Sound.html
- Here's a tutorial on how to include enchantments and potioneffects in the classes.yml: Default Config explanation and Item Markup tutorial
MySQL
As of v1.4 MySQL Support is fully functional, each minigame creates its own table and will save stats like points, wins and loses into these. To use MySQL enable it in the config.yml of each minigame you want and create a database called "mcminigames". Reload the server, done.
Upcoming version: 1.12 (Uploaded 6th December)
- Fix XP
- Adds spectate command
- Will now use 1.8 titles to display you_lost or you_won message
- Adds option whether to use xp bar levels or not
- /mapi info will now output all arenas with their players
- Adds Holograms as damage indicators
- Make TP Fix distance lower
- Cleanup and some API work
- More user input validation when parsing items
Party system (v1.6)
People can now invite players to their party and join arenas together with their friends, just like many huge networks have these now. To change messages of the party commands take a look at partymessages.yml in the MinigamesLib directory. The main command is /party and shows all available subcommands with small descriptions.
Additional Information and disclaimers
Contact me if you would like to help me out or join the MCMinigames Organisation on github.
This plugin has an autoupdater included which you can turn off in the MinigamesLib config (auto-updating: false). Also, it utilizes Hidendra's Metrics system which sends information to his metrics server like java version, server version, plugin version, player count, OS version/name, Metrics version, which I can later look at and be happy with. Can also be turned off in the Metrics config which can be found at /plugins/PluginMetrics/ (opt-out: true). This is the only plugin having Metrics/Updater, all the minigames from above do not have stuff like that included.
Having Problems?
Please use the Forum to report any bugs or suggestions.
Have fun. :)
Hey @instancelabs could you please add a Maven repo for this?
@instancelabs
The ability to reset one or more areas would be great. For example, the map I setup has parts of it that travel to the Nether. So player detection in the Nether and Overworld would need to be possible and a reset of specific areas in each world such as a list of worlds and xyz selections.
I tried to do this with WorldEdit snapshots where I pick pos1, pos2 and do restore worldname but it didn't work so well because several areas had floating sand/gravel in the air and when restoring it, the physics were applied and they fell.
If you'd like, I can setup the adventure map server and we could run tests on it or I could give you a copy to test with. Like I said, I have everything worked out except the restore aspect. A lobby system would just be a nice bonus but not absolutely necessary.
LHammonds
Wow alot of minigames! Goodjob.
Hello instancelabs!
I made a new plugin tutorial for the plugin Warlock!
Link: https://www.youtube.com/watch?v=dDfUcWCIxzY&feature=youtu.be
@elimusgrove9
Thanks, added!
Just made a vid for Snake Challenge if you want to use it.
https://www.youtube.com/watch?v=86Wl4JhVQHE&list=PLPPh0KtQZVslphOkPJfEvkop9x06WZHfj
@instancelabs
Awesome! I am glad you liked it! Also, I would be happy to help you with tickets, and answering questions.
@elimusgrove9
Thank you! I'll put it up on FlyingCars. :)
Hello, instancelabs!
I made a plugin tutorial for the game FlyingCars. Please consider using it. The link is
https://www.youtube.com/watch?v=fiqfv3Lye8Q&feature=youtu.be
@LHammonds
It'd be only able to reset an area, not a whole world, but yes I think it wouldn't be too hard to create such a plugin. I think if I understood you right the only thing needed here would be overriding the Arena class and adding
into the constructor.
I noticed one of the features of this library is map regeneration. I have not found a good way to run an adventure map server yet mainly because a party/lobby system is needed as well as a way to reset the map (area or even multi-world) once every member of the party has left the area. Currently investigating WorldEdit snapshots + VariableTriggers.
Could this be used to make an adventure map system?
Thanks,
LHammonds
Awesome¡¡
@NextStage
very good idea, this would be a great minigame for this great plugin minigames :D
@Victhetiger
I'll think about it :)
Can You do Draw My Thing? Since the one that Just Got out is Abandonned :/
Wait a Minute, this is like Mineplex! The MGArcade is like Mixed Arcade! Thanks Man!