public interface PluginManager
| Modifier and Type | Method and Description | 
|---|---|
void | 
addPermission(Permission perm)
Adds a  
Permission to this plugin manager. | 
void | 
callEvent(Event event)
Calls an event with the given details 
 | 
void | 
clearPlugins()
Disables and removes all plugins 
 | 
void | 
disablePlugin(Plugin plugin)
Disables the specified plugin 
 | 
void | 
disablePlugin(Plugin plugin,
             boolean closeClassloader)
Disables the specified plugin 
 | 
void | 
disablePlugins()
Disables all the loaded plugins 
 | 
void | 
enablePlugin(Plugin plugin)
Enables the specified plugin 
 | 
Set<Permission> | 
getDefaultPermissions(boolean op)
Gets the default permissions for the given op status 
 | 
Set<Permissible> | 
getDefaultPermSubscriptions(boolean op)
Gets a set containing all subscribed  
Permissibles to the given
 default list, by op status | 
Permission | 
getPermission(String name)
Gets a  
Permission from its fully qualified name | 
Set<Permission> | 
getPermissions()
Gets a set of all registered permissions. 
 | 
Set<Permissible> | 
getPermissionSubscriptions(String permission)
Gets a set containing all subscribed  
Permissibles to the given
 permission, by name | 
Plugin | 
getPlugin(String name)
Checks if the given plugin is loaded and returns it when applicable 
 | 
Plugin[] | 
getPlugins()
Gets a list of all currently loaded plugins 
 | 
boolean | 
isPluginEnabled(Plugin plugin)
Checks if the given plugin is enabled or not 
 | 
boolean | 
isPluginEnabled(String name)
Checks if the given plugin is enabled or not 
 | 
Plugin | 
loadPlugin(File file)
Loads the plugin in the specified file 
 | 
Plugin[] | 
loadPlugins(File directory)
Loads the plugins contained within the specified directory 
 | 
void | 
recalculatePermissionDefaults(Permission perm)
Recalculates the defaults for the given  
Permission. | 
void | 
registerEvent(Class<? extends Event> event,
             Listener listener,
             EventPriority priority,
             EventExecutor executor,
             Plugin plugin)
Registers the specified executor to the given event class 
 | 
void | 
registerEvent(Class<? extends Event> event,
             Listener listener,
             EventPriority priority,
             EventExecutor executor,
             Plugin plugin,
             boolean ignoreCancelled)
Registers the specified executor to the given event class 
 | 
void | 
registerEvents(Listener listener,
              Plugin plugin)
Registers all the events in the given listener class 
 | 
void | 
registerInterface(Class<? extends PluginLoader> loader)
Registers the specified plugin loader 
 | 
void | 
removePermission(Permission perm)
Removes a  
Permission registration from this plugin manager. | 
void | 
removePermission(String name)
Removes a  
Permission registration from this plugin manager. | 
void | 
subscribeToDefaultPerms(boolean op,
                       Permissible permissible)
Subscribes to the given Default permissions by operator status 
 | 
void | 
subscribeToPermission(String permission,
                     Permissible permissible)
Subscribes the given Permissible for information about the requested
 Permission, by name. 
 | 
void | 
unsubscribeFromDefaultPerms(boolean op,
                           Permissible permissible)
Unsubscribes from the given Default permissions by operator status 
 | 
void | 
unsubscribeFromPermission(String permission,
                         Permissible permissible)
Unsubscribes the given Permissible for information about the requested
 Permission, by name. 
 | 
boolean | 
useTimings()
Returns whether or not timing code should be used for event calls 
 | 
void registerInterface(@NotNull
                       Class<? extends PluginLoader> loader)
                throws IllegalArgumentException
loader - Class name of the PluginLoader to registerIllegalArgumentException - Thrown when the given Class is not a
     valid PluginLoader@Nullable Plugin getPlugin(@NotNull String name)
Please note that the name of the plugin is case-sensitive
name - Name of the plugin to check@NotNull Plugin[] getPlugins()
boolean isPluginEnabled(@NotNull
                        String name)
Please note that the name of the plugin is case-sensitive.
name - Name of the plugin to check@Contract(value="null -> false")
boolean isPluginEnabled(@Nullable
                                                         Plugin plugin)
plugin - Plugin to check@Nullable Plugin loadPlugin(@NotNull File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException
File must be valid according to the current enabled Plugin interfaces
file - File containing the plugin to loadInvalidPluginException - Thrown when the specified file is not a
     valid pluginInvalidDescriptionException - Thrown when the specified file
     contains an invalid descriptionUnknownDependencyException - If a required dependency could not
     be resolved@NotNull Plugin[] loadPlugins(@NotNull File directory)
directory - Directory to check for pluginsvoid disablePlugins()
void clearPlugins()
void callEvent(@NotNull
               Event event)
        throws IllegalStateException
event - Event detailsIllegalStateException - 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.
void registerEvents(@NotNull
                    Listener listener,
                    @NotNull
                    Plugin plugin)
listener - Listener to registerplugin - Plugin to registervoid registerEvent(@NotNull
                   Class<? extends Event> event,
                   @NotNull
                   Listener listener,
                   @NotNull
                   EventPriority priority,
                   @NotNull
                   EventExecutor executor,
                   @NotNull
                   Plugin plugin)
event - Event type to registerlistener - Listener to registerpriority - Priority to register this event atexecutor - EventExecutor to registerplugin - Plugin to registervoid registerEvent(@NotNull
                   Class<? extends Event> event,
                   @NotNull
                   Listener listener,
                   @NotNull
                   EventPriority priority,
                   @NotNull
                   EventExecutor executor,
                   @NotNull
                   Plugin plugin,
                   boolean ignoreCancelled)
event - Event type to registerlistener - Listener to registerpriority - Priority to register this event atexecutor - EventExecutor to registerplugin - Plugin to registerignoreCancelled - Whether to pass cancelled events or notvoid enablePlugin(@NotNull
                  Plugin plugin)
Attempting to enable a plugin that is already enabled will have no effect
plugin - Plugin to enablevoid disablePlugin(@NotNull
                   Plugin plugin)
Attempting to disable a plugin that is not enabled will have no effect
plugin - Plugin to disablevoid disablePlugin(@NotNull
                   Plugin plugin,
                   boolean closeClassloader)
Attempting to disable a plugin that is not enabled will have no effect
plugin - Plugin to disablecloseClassloader - if the classloader for the Plugin should be closed@Nullable Permission getPermission(@NotNull String name)
Permission from its fully qualified namename - Name of the permissionvoid addPermission(@NotNull
                   Permission perm)
Permission to this plugin manager.
 If a permission is already defined with the given name of the new permission, an exception will be thrown.
perm - Permission to addIllegalArgumentException - Thrown when a permission with the same
     name already existsvoid removePermission(@NotNull
                      Permission perm)
Permission registration 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.
perm - Permission to removevoid removePermission(@NotNull
                      String name)
Permission registration 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.
name - Permission to remove@NotNull Set<Permission> getDefaultPermissions(boolean op)
op - Which set of default permissions to getvoid recalculatePermissionDefaults(@NotNull
                                   Permission perm)
Permission.
 This will have no effect if the specified permission is not registered here.
perm - Permission to recalculatevoid subscribeToPermission(@NotNull
                           String permission,
                           @NotNull
                           Permissible permissible)
If the specified Permission changes in any form, the Permissible will be asked to recalculate.
permission - Permission to subscribe topermissible - Permissible subscribingvoid unsubscribeFromPermission(@NotNull
                               String permission,
                               @NotNull
                               Permissible permissible)
permission - Permission to unsubscribe frompermissible - Permissible subscribing@NotNull Set<Permissible> getPermissionSubscriptions(@NotNull String permission)
Permissibles to the given
 permission, by namepermission - Permission to query forvoid subscribeToDefaultPerms(boolean op,
                             @NotNull
                             Permissible permissible)
If the specified defaults change in any form, the Permissible will be asked to recalculate.
op - Default list to subscribe topermissible - Permissible subscribingvoid unsubscribeFromDefaultPerms(boolean op,
                                 @NotNull
                                 Permissible permissible)
op - Default list to unsubscribe frompermissible - Permissible subscribing@NotNull Set<Permissible> getDefaultPermSubscriptions(boolean op)
Permissibles to the given
 default list, by op statusop - Default list to query for@NotNull Set<Permission> getPermissions()
This set is a copy and will not be modified live.
boolean useTimings()
Copyright © 2022. All rights reserved.