Code Examples
Check if BossAPI is "installed"
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; }
Text Handling
//Automatically transforms colour/symbol codes into colours/symbols String output = bossapi.getStringManager().transform("&4String [<3]"); String message = bossapi.getStringManager().transform(config.getString("PermissionsMessage");
User Management
//Returns the User Manager BAUserManager um = bossapi.getUserManager(); //Returns the User object via player BAUser user = um.getUser(player); //Returns the OfflineUser object via name BAOfflineUser offline_user = um.getOfflineUser(name); //Adds a custom object to the user. Each Plugin is able to store one single object which can be everything! user.setPluginObject(plugin, object); //Returns the stored plugin object user.getPluginObject(plugin) //Returns the Storage File linked to the player user.getStorage(); //There are more User Methods but I think they are obvious. If you have questions, feel free to message me!
Fast way to create a Config
BAConfig config = new BAConfig(plugin, "ConfigFile"); config.save(); config.reload(); config.getConfig().set("Path", "Object"); Object o = config.getConfig().get("Path");
Events
@EventHandler public void onUserJoin(BALoadUserEvent e){ //This Event is triggered when a player joins the server BAUser user = e.getUser(); Player player = e.getPlayer(); } @EventHandler public void onUserLeave(BAUnloadUserEvent e){ //This Event is triggered when a player leaves the server/is kicked BAUser user = e.getUser(); } @EventHandler public void onUserSave(BASaveUserEvent e){ //This Event is triggered when BossAPI saves the user data (Executed before the user is unloaded and additionally every x seconds (Configurable) to prevent data loss on crashes) BAUser user = e.getUser(); } @EventHandler public void onUserJoinExample(BALoadUserEvent e){ //This Event is triggered when a player joins the server BAUser user = e.getUser(); Player player = e.getPlayer(); //Both Methods do the same thing //1. int a = (Integer) user.configGet(plugin, "coins"); //2. int b = user.getStorage().getInt("PluginName.coins"); user.setPluginObject(plugin, a); } @EventHandler public void onUserLeaveExample(BAUnloadUserEvent e){ //This Event is triggered when a player leaves the server/is kicked BAUser user = e.getUser(); //Do Nothing } @EventHandler public void onUserSaveExample(BASaveUserEvent e){ //This Event is triggered when BossAPI saves the user data (Executed before the user is unloaded and additionally every x seconds (Configurable) to prevent data loss on crashes) BAUser user = e.getUser(); //Again, Both Methods do the same thing //1. user.configSet(plugin, "coins", user.getPluginObject(plugin)); //2. user.getStorage().set("PluginName.coins", user.getPluginObject(plugin)); //After all Plugins set their stuff in the storage, BossAPI saves that storage file! }
Comments