BossAPI is a Points, Texthandling and Data Storage API with the aim to ease the work of Developers.
Why BossAPI?
The goal of BossAPI is to make the life of Developers easier - and the life of server owners!
Features
- User Management
- BossAPI creates one little storage file per player which can be accessed by any other plugin
- A custom "User" class allows Developers to store data per player
- Custom Events (Join, Save and Leave) allow easier data handling per player
- Points Plugin API (Optional)
- BossAPI hooks into the used Points Plugin and provides a simple API for Developers to work with Points
- Each Points Plugin is able to register itself
- Inbuilt support for: PlayerPoints, CommandPoints, Enjin Minecraft Plugin Points
- Configuration File API
- Text Handler: Easier management of symbols and colour codes
Plugins often have to store data for players (Like Money, Achievements, Permissions, etc.). In the past my server had four folders which all contained tons of player files. The more players you have, the more annoying this is. You probably know that problem. As plugin developer you have following options:
- Either store the data of all players in one single file (This will cause lag if there are too many players in the file)
- Or create one storage file per player (Owners of big servers hate that)
- Or use a database like MySQL (Not many people use that)
Solution
A storage file per player which is used by multiple plugins at the same time. And exactly this is, what BossAPI provides!
Commands
- None
Permissions
- None
Hooking into BossAPI
Don't forget to add softdepend: [BossAPI] to your plugins.yml
private BossAPI bossapi; @Override public void onEnable(){ Plugin plugin = getServer().getPluginManager().getPlugin("BossAPI"); if(plugin==null){ getLogger().severe("BossAPI was not found... You need it in order to run <Name of Plugin>! Get it here: http://dev.bukkit.org/bukkit-plugins/bossapi"); getLogger().severe("Disabling..."); getPluginLoader().disablePlugin(this); return; } bossapi = (BossAPI) plugin; }
You can find more code examples here: Link