Interface PluginManager
- All Known Implementing Classes:
- SimplePluginManager
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddPermission(Permission perm) Adds aPermissionto this plugin manager.voidCalls an event with the given detailsvoidDisables and removes all pluginsvoiddisablePlugin(Plugin plugin) Disables the specified pluginvoidDisables all the loaded pluginsvoidenablePlugin(Plugin plugin) Enables the specified plugingetDefaultPermissions(boolean op) Gets the default permissions for the given op statusgetDefaultPermSubscriptions(boolean op) Gets a set containing all subscribedPermissibles to the given default list, by op statusgetPermission(String name) Gets aPermissionfrom its fully qualified nameGets a set of all registered permissions.getPermissionSubscriptions(String permission) Gets a set containing all subscribedPermissibles to the given permission, by nameChecks if the given plugin is loaded and returns it when applicablePlugin[]Gets a list of all currently loaded pluginsbooleanisPluginEnabled(String name) Checks if the given plugin is enabled or notbooleanisPluginEnabled(Plugin plugin) Checks if the given plugin is enabled or notloadPlugin(File file) Loads the plugin in the specified filePlugin[]loadPlugins(File directory) Loads the plugins contained within the specified directoryvoidRecalculates the defaults for the givenPermission.voidregisterEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin) Registers the specified executor to the given event classvoidregisterEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin, boolean ignoreCancelled) Registers the specified executor to the given event classvoidregisterEvents(Listener listener, Plugin plugin) Registers all the events in the given listener classvoidregisterInterface(Class<? extends PluginLoader> loader) Registers the specified plugin loadervoidremovePermission(String name) Removes aPermissionregistration from this plugin manager.voidremovePermission(Permission perm) Removes aPermissionregistration from this plugin manager.voidsubscribeToDefaultPerms(boolean op, Permissible permissible) Subscribes to the given Default permissions by operator statusvoidsubscribeToPermission(String permission, Permissible permissible) Subscribes the given Permissible for information about the requested Permission, by name.voidunsubscribeFromDefaultPerms(boolean op, Permissible permissible) Unsubscribes from the given Default permissions by operator statusvoidunsubscribeFromPermission(String permission, Permissible permissible) Unsubscribes the given Permissible for information about the requested Permission, by name.booleanReturns whether or not timing code should be used for event calls
- 
Method Details- 
registerInterfacevoid registerInterface(@NotNull Class<? extends PluginLoader> loader) throws IllegalArgumentException Registers the specified plugin loader- Parameters:
- loader- Class name of the PluginLoader to register
- Throws:
- IllegalArgumentException- Thrown when the given Class is not a valid PluginLoader
 
- 
getPluginChecks if the given plugin is loaded and returns it when applicablePlease note that the name of the plugin is case-sensitive - Parameters:
- name- Name of the plugin to check
- Returns:
- Plugin if it exists, otherwise null
 
- 
getPluginsGets a list of all currently loaded plugins- Returns:
- Array of Plugins
 
- 
isPluginEnabledChecks if the given plugin is enabled or notPlease note that the name of the plugin is case-sensitive. - Parameters:
- name- Name of the plugin to check
- Returns:
- true if the plugin is enabled, otherwise false
 
- 
isPluginEnabledChecks if the given plugin is enabled or not- Parameters:
- plugin- Plugin to check
- Returns:
- true if the plugin is enabled, otherwise false
 
- 
loadPlugin@Nullable Plugin loadPlugin(@NotNull File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException Loads the plugin in the specified fileFile must be valid according to the current enabled Plugin interfaces - Parameters:
- file- File containing the plugin to load
- Returns:
- The Plugin loaded, or null if it was invalid
- Throws:
- InvalidPluginException- Thrown when the specified file is not a valid plugin
- InvalidDescriptionException- Thrown when the specified file contains an invalid description
- UnknownDependencyException- If a required dependency could not be resolved
 
- 
loadPluginsLoads the plugins contained within the specified directory- Parameters:
- directory- Directory to check for plugins
- Returns:
- A list of all plugins loaded
 
- 
disablePluginsvoid disablePlugins()Disables all the loaded plugins
- 
clearPluginsvoid clearPlugins()Disables and removes all plugins
- 
callEventCalls an event with the given details- Parameters:
- event- Event details
- Throws:
- IllegalStateException- Thrown when an asynchronous event is fired from synchronous code.- Note: This is best-effort basis, and should not be used to test synchronized state. This is an indicator for flawed flow logic. 
 
- 
registerEventsRegisters all the events in the given listener class- Parameters:
- listener- Listener to register
- plugin- Plugin to register
 
- 
registerEventvoid registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin) Registers the specified executor to the given event class- Parameters:
- event- Event type to register
- listener- Listener to register
- priority- Priority to register this event at
- executor- EventExecutor to register
- plugin- Plugin to register
 
- 
registerEventvoid registerEvent(@NotNull Class<? extends Event> event, @NotNull Listener listener, @NotNull EventPriority priority, @NotNull EventExecutor executor, @NotNull Plugin plugin, boolean ignoreCancelled) Registers the specified executor to the given event class- Parameters:
- event- Event type to register
- listener- Listener to register
- priority- Priority to register this event at
- executor- EventExecutor to register
- plugin- Plugin to register
- ignoreCancelled- Whether to pass cancelled events or not
 
- 
enablePluginEnables the specified pluginAttempting to enable a plugin that is already enabled will have no effect - Parameters:
- plugin- Plugin to enable
 
- 
disablePluginDisables the specified pluginAttempting to disable a plugin that is not enabled will have no effect - Parameters:
- plugin- Plugin to disable
 
- 
getPermissionGets aPermissionfrom its fully qualified name- Parameters:
- name- Name of the permission
- Returns:
- Permission, or null if none
 
- 
addPermissionAdds aPermissionto this plugin manager.If a permission is already defined with the given name of the new permission, an exception will be thrown. - Parameters:
- perm- Permission to add
- Throws:
- IllegalArgumentException- Thrown when a permission with the same name already exists
 
- 
removePermissionRemoves aPermissionregistration from this plugin manager.If the specified permission does not exist in this plugin manager, nothing will happen. Removing a permission registration will not remove the permission from any Permissibles that have it.- Parameters:
- perm- Permission to remove
 
- 
removePermissionRemoves aPermissionregistration from this plugin manager.If the specified permission does not exist in this plugin manager, nothing will happen. Removing a permission registration will not remove the permission from any Permissibles that have it.- Parameters:
- name- Permission to remove
 
- 
getDefaultPermissionsGets the default permissions for the given op status- Parameters:
- op- Which set of default permissions to get
- Returns:
- The default permissions
 
- 
recalculatePermissionDefaultsRecalculates the defaults for the givenPermission.This will have no effect if the specified permission is not registered here. - Parameters:
- perm- Permission to recalculate
 
- 
subscribeToPermissionSubscribes the given Permissible for information about the requested Permission, by name.If the specified Permission changes in any form, the Permissible will be asked to recalculate. - Parameters:
- permission- Permission to subscribe to
- permissible- Permissible subscribing
 
- 
unsubscribeFromPermissionUnsubscribes the given Permissible for information about the requested Permission, by name.- Parameters:
- permission- Permission to unsubscribe from
- permissible- Permissible subscribing
 
- 
getPermissionSubscriptionsGets a set containing all subscribedPermissibles to the given permission, by name- Parameters:
- permission- Permission to query for
- Returns:
- Set containing all subscribed permissions
 
- 
subscribeToDefaultPermsSubscribes to the given Default permissions by operator statusIf the specified defaults change in any form, the Permissible will be asked to recalculate. - Parameters:
- op- Default list to subscribe to
- permissible- Permissible subscribing
 
- 
unsubscribeFromDefaultPermsUnsubscribes from the given Default permissions by operator status- Parameters:
- op- Default list to unsubscribe from
- permissible- Permissible subscribing
 
- 
getDefaultPermSubscriptionsGets a set containing all subscribedPermissibles to the given default list, by op status- Parameters:
- op- Default list to query for
- Returns:
- Set containing all subscribed permissions
 
- 
getPermissionsGets a set of all registered permissions.This set is a copy and will not be modified live. - Returns:
- Set containing all current registered permissions
 
- 
useTimingsboolean useTimings()Returns whether or not timing code should be used for event calls- Returns:
- True if event timings are to be used
 
 
-