====== cPluginManager class ======
This class is used for generic plugin-related functionality. The plugin manager has a list of all plugins, can enable or disable plugins, manages hook and in-game console commands.

There is one instance of cPluginManager in MCServer, to get it, call either [[API:cRoot|cRoot:GetPluginManager]]() or cPluginManager:Get() function.

===== Functions =====
^ Function name ^ Parameters ^ Return value ^ Note ^
| AddHook | [[API:cPlugin|Plugin]], HookType | | Adds processing of the specified hook |
| BindCommand | Command, Permission, Callback, HelpString | | Binds an in-game command with the specified callback function, permission and help string |
| BindConsoleCommand | Command, Callback, HelpString | | Binds a console command with the specified callback function and help string |
| DisablePlugin | PluginName | | Disables a plugin specified by its name |
| ExecuteCommand | Player, Command | bool | Executes the command as if given by the specified Player. Checks permissions. Returns true if executed |
| ExecuteConsoleCommand | Command | bool | Executes the command as if given on the server console. Returns true if executed. |
| FindPlugins | | | Refreshes the list of plugins to include all folders inside the Plugins folder (potentially new disabled plugins) |
| ForceExecuteCommand | Player, Command | bool | Same as ExecuteCommand, but doesn't check permissions |
| ForEachCommand | Callback | | Calls the Callback function for each command that has been bound using BindCommand() |
| ForEachConsoleCommand | Callback | | Calls the Callback function for each command that has been bound using BindConsoleCommand() |
| Get | | cPluginManager | Returns the single instance of the plugin manager |
| GetAllPlugins | | PluginTable | Returns a table of all plugins, [name => cPlugin] pairs |
| GetCommandPermission | Command | Permission | Returns the permission needed for executing the specified command |
| GetNumPlugins | | number | Returns the number of plugins, including the disabled ones |
| GetPlugin | PluginName | [[API:cPlugin|cPlugin]] | Returns a plugin handle of the specified plugin |
| IsCommandBound | Command | boolean | Returns true if in-game Command is already bound (by any plugin) |
| IsConsoleCommandBound | Command | boolean | Returns true if console Command is already bound (by any plugin) |
| LoadPlugin | PluginFolder | | Loads a plugin from the specified folder |
| ReloadPlugins | | | Reloads all active plugins |