Vault is a Permissions, Chat, & Economy API to give plugins easy hooks into these systems without needing to hook or depend on each individual plugin themselves. It was born out of a distaste for how both Register and the current Permissions API are run, and their lack of features or over-complicated implementations. Vault attempts to solve these issues by being intuitive and providing plugins with support for any system that they may use.
Config:
Permissions:
Vault currently Supports:
This plugin utilizes Hidendra's plugin metrics system. the following information is collected and sent to bstats.org unless opted out:
Opting out of this service can be done by editing plugins/bstats/config.yml and changing opt-out to true.
There's a slightly longer/more detailed example on the Vault github page on how you might link to vault in a plugin. See: https://github.com/MilkBowl/VaultAPI
The following 3 methods can be used along with the 3 variables to load both the permission, economy, and chat systems from Vault. Make sure to add depend: [Vault] to your plugin.yml - You don't need to use all 3 if you don't want to in your plugin! If you only want one or two of the three APIs only use those ones you need!
NOTICE: Vault automatically logs what Plugins it found and hooks to, there is no need to display this information in your plugin.
NOTICE: Don't Forget To add softdepend: [Vault] or depend: [Vault] to your plugin.yml
public static Permission permission = null; public static Economy economy = null; public static Chat chat = null; private boolean setupPermissions() { RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class); if (permissionProvider != null) { permission = permissionProvider.getProvider(); } return (permission != null); } private boolean setupChat() { RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.chat.Chat.class); if (chatProvider != null) { chat = chatProvider.getProvider(); } return (chat != null); } private boolean setupEconomy() { RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class); if (economyProvider != null) { economy = economyProvider.getProvider(); } return (economy != null); }
<repository> <id>vault-repo</id> <url>http://nexus.hc.to/content/repositories/pub_releases</url> </repository>