public final class SimplePluginManager extends Object implements PluginManager
| Constructor and Description |
|---|
SimplePluginManager(Server instance,
SimpleCommandMap commandMap) |
| 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 |
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 given event to the specified listener using a directly
passed EventExecutor
|
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 |
useTimings(boolean use)
Sets whether or not per event timing code should be used
|
public SimplePluginManager(Server instance, SimpleCommandMap commandMap)
public void registerInterface(Class<? extends PluginLoader> loader) throws IllegalArgumentException
registerInterface in interface PluginManagerloader - Class name of the PluginLoader to registerIllegalArgumentException - Thrown when the given Class is not a
valid PluginLoaderpublic Plugin[] loadPlugins(File directory)
loadPlugins in interface PluginManagerdirectory - Directory to check for pluginspublic Plugin loadPlugin(File file) throws InvalidPluginException, UnknownDependencyException
File must be valid according to the current enabled Plugin interfaces
loadPlugin in interface PluginManagerfile - File containing the plugin to loadInvalidPluginException - Thrown when the specified file is not a
valid pluginUnknownDependencyException - If a required dependency could not
be foundpublic Plugin getPlugin(String name)
Please note that the name of the plugin is case-sensitive
getPlugin in interface PluginManagername - Name of the plugin to checkpublic Plugin[] getPlugins()
PluginManagergetPlugins in interface PluginManagerpublic boolean isPluginEnabled(String name)
Please note that the name of the plugin is case-sensitive.
isPluginEnabled in interface PluginManagername - Name of the plugin to checkpublic boolean isPluginEnabled(Plugin plugin)
isPluginEnabled in interface PluginManagerplugin - Plugin to checkpublic void enablePlugin(Plugin plugin)
PluginManagerAttempting to enable a plugin that is already enabled will have no effect
enablePlugin in interface PluginManagerplugin - Plugin to enablepublic void disablePlugins()
PluginManagerdisablePlugins in interface PluginManagerpublic void disablePlugin(Plugin plugin)
PluginManagerAttempting to disable a plugin that is not enabled will have no effect
disablePlugin in interface PluginManagerplugin - Plugin to disablepublic void clearPlugins()
PluginManagerclearPlugins in interface PluginManagerpublic void callEvent(Event event)
This method only synchronizes when the event is not asynchronous.
callEvent in interface PluginManagerevent - Event detailspublic void registerEvents(Listener listener, Plugin plugin)
PluginManagerregisterEvents in interface PluginManagerlistener - Listener to registerplugin - Plugin to registerpublic void registerEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin)
PluginManagerregisterEvent in interface PluginManagerevent - Event type to registerlistener - Listener to registerpriority - Priority to register this event atexecutor - EventExecutor to registerplugin - Plugin to registerpublic void registerEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin, boolean ignoreCancelled)
registerEvent in interface PluginManagerevent - Event class to registerlistener - PlayerListener to registerpriority - Priority of this eventexecutor - EventExecutor to registerplugin - Plugin to registerignoreCancelled - Do not call executor if event was already
cancelledpublic Permission getPermission(String name)
PluginManagerPermission from its fully qualified namegetPermission in interface PluginManagername - Name of the permissionpublic void addPermission(Permission perm)
PluginManagerPermission to this plugin manager.
If a permission is already defined with the given name of the new permission, an exception will be thrown.
addPermission in interface PluginManagerperm - Permission to addpublic Set<Permission> getDefaultPermissions(boolean op)
PluginManagergetDefaultPermissions in interface PluginManagerop - Which set of default permissions to getpublic void removePermission(Permission perm)
PluginManagerPermission 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.
removePermission in interface PluginManagerperm - Permission to removepublic void removePermission(String name)
PluginManagerPermission 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.
removePermission in interface PluginManagername - Permission to removepublic void recalculatePermissionDefaults(Permission perm)
PluginManagerPermission.
This will have no effect if the specified permission is not registered here.
recalculatePermissionDefaults in interface PluginManagerperm - Permission to recalculatepublic void subscribeToPermission(String permission, Permissible permissible)
PluginManagerIf the specified Permission changes in any form, the Permissible will be asked to recalculate.
subscribeToPermission in interface PluginManagerpermission - Permission to subscribe topermissible - Permissible subscribingpublic void unsubscribeFromPermission(String permission, Permissible permissible)
PluginManagerunsubscribeFromPermission in interface PluginManagerpermission - Permission to unsubscribe frompermissible - Permissible subscribingpublic Set<Permissible> getPermissionSubscriptions(String permission)
PluginManagerPermissibles to the given
permission, by namegetPermissionSubscriptions in interface PluginManagerpermission - Permission to query forpublic void subscribeToDefaultPerms(boolean op,
Permissible permissible)
PluginManagerIf the specified defaults change in any form, the Permissible will be asked to recalculate.
subscribeToDefaultPerms in interface PluginManagerop - Default list to subscribe topermissible - Permissible subscribingpublic void unsubscribeFromDefaultPerms(boolean op,
Permissible permissible)
PluginManagerunsubscribeFromDefaultPerms in interface PluginManagerop - Default list to unsubscribe frompermissible - Permissible subscribingpublic Set<Permissible> getDefaultPermSubscriptions(boolean op)
PluginManagerPermissibles to the given
default list, by op statusgetDefaultPermSubscriptions in interface PluginManagerop - Default list to query forpublic Set<Permission> getPermissions()
PluginManagerThis set is a copy and will not be modified live.
getPermissions in interface PluginManagerpublic boolean useTimings()
PluginManageruseTimings in interface PluginManagerpublic void useTimings(boolean use)
use - True if per event timing code should be usedCopyright © 2017. All rights reserved.