PluginManagerpublic final class SimplePluginManager extends Object implements PluginManager
| Constructor | Description |
|---|---|
SimplePluginManager(Server instance,
SimpleCommandMap commandMap) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addPermission(Permission perm) |
Adds a
Permission to this plugin manager. |
void |
addPermission(Permission perm,
boolean dirty) |
Deprecated.
|
void |
callEvent(Event event) |
Calls an event with the given details.
|
void |
clearPermissions() |
|
void |
clearPlugins() |
Disables and removes all plugins
|
void |
dirtyPermissibles() |
Deprecated.
|
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 |
disablePlugins(boolean closeClassloaders) |
|
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(String name) |
Checks if the given plugin is enabled or not
|
boolean |
isPluginEnabled(Plugin plugin) |
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(String name) |
Removes a
Permission registration from this plugin manager. |
void |
removePermission(Permission perm) |
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(@NotNull
Server instance,
@NotNull
SimpleCommandMap commandMap)
public void registerInterface(@NotNull
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 PluginLoader@NotNull public Plugin[] loadPlugins(@NotNull File directory)
loadPlugins in interface PluginManagerdirectory - Directory to check for plugins@Nullable public Plugin loadPlugin(@NotNull 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 found@Nullable public Plugin getPlugin(@NotNull String name)
Please note that the name of the plugin is case-sensitive
getPlugin in interface PluginManagername - Name of the plugin to check@NotNull public Plugin[] getPlugins()
PluginManagergetPlugins in interface PluginManagerpublic boolean isPluginEnabled(@NotNull
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(@Nullable
Plugin plugin)
isPluginEnabled in interface PluginManagerplugin - Plugin to checkpublic void enablePlugin(@NotNull
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 disablePlugins(boolean closeClassloaders)
public void disablePlugin(@NotNull
Plugin plugin)
PluginManagerAttempting to disable a plugin that is not enabled will have no effect
disablePlugin in interface PluginManagerplugin - Plugin to disablepublic void disablePlugin(@NotNull
Plugin plugin,
boolean closeClassloader)
PluginManagerAttempting to disable a plugin that is not enabled will have no effect
disablePlugin in interface PluginManagerplugin - Plugin to disablecloseClassloader - if the classloader for the Plugin should be closedpublic void clearPlugins()
PluginManagerclearPlugins in interface PluginManagerpublic void callEvent(@NotNull
Event event)
This method only synchronizes when the event is not asynchronous.
callEvent in interface PluginManagerevent - Event detailspublic void registerEvents(@NotNull
Listener listener,
@NotNull
Plugin plugin)
PluginManagerregisterEvents in interface PluginManagerlistener - Listener to registerplugin - Plugin to registerpublic void registerEvent(@NotNull
Class<? extends Event> event,
@NotNull
Listener listener,
@NotNull
EventPriority priority,
@NotNull
EventExecutor executor,
@NotNull
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(@NotNull
Class<? extends Event> event,
@NotNull
Listener listener,
@NotNull
EventPriority priority,
@NotNull
EventExecutor executor,
@NotNull
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
cancelled@Nullable public Permission getPermission(@NotNull String name)
PluginManagerPermission from its fully qualified namegetPermission in interface PluginManagername - Name of the permissionpublic void addPermission(@NotNull
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 add@Deprecated public void addPermission(@NotNull Permission perm, boolean dirty)
@NotNull public Set<Permission> getDefaultPermissions(boolean op)
PluginManagergetDefaultPermissions in interface PluginManagerop - Which set of default permissions to getpublic void removePermission(@NotNull
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(@NotNull
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(@NotNull
Permission perm)
PluginManagerPermission.
This will have no effect if the specified permission is not registered here.
recalculatePermissionDefaults in interface PluginManagerperm - Permission to recalculate@Deprecated public void dirtyPermissibles()
public void subscribeToPermission(@NotNull
String permission,
@NotNull
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(@NotNull
String permission,
@NotNull
Permissible permissible)
PluginManagerunsubscribeFromPermission in interface PluginManagerpermission - Permission to unsubscribe frompermissible - Permissible subscribing@NotNull public Set<Permissible> getPermissionSubscriptions(@NotNull String permission)
PluginManagerPermissibles to the given
permission, by namegetPermissionSubscriptions in interface PluginManagerpermission - Permission to query forpublic void subscribeToDefaultPerms(boolean op,
@NotNull
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,
@NotNull
Permissible permissible)
PluginManagerunsubscribeFromDefaultPerms in interface PluginManagerop - Default list to unsubscribe frompermissible - Permissible subscribing@NotNull public Set<Permissible> getDefaultPermSubscriptions(boolean op)
PluginManagerPermissibles to the given
default list, by op statusgetDefaultPermSubscriptions in interface PluginManagerop - Default list to query for@NotNull public 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 usedpublic void clearPermissions()
Copyright © 2020. All rights reserved.