Class SimplePluginManager

java.lang.Object
org.bukkit.plugin.SimplePluginManager
All Implemented Interfaces:
PermissionManager, PluginManager

@Deprecated(forRemoval=true) public final class SimplePluginManager extends Object implements PluginManager
Deprecated, for removal: This API element is subject to removal in a future version.
Handles all plugin management from the Server
  • Field Details

    • permissions

      public final Map<String,Permission> permissions
      Deprecated, for removal: This API element is subject to removal in a future version.
    • defaultPerms

      public final Map<Boolean,Set<Permission>> defaultPerms
      Deprecated, for removal: This API element is subject to removal in a future version.
    • permSubs

      public final Map<String,Map<Permissible,Boolean>> permSubs
      Deprecated, for removal: This API element is subject to removal in a future version.
    • defSubs

      public final Map<Boolean,Map<Permissible,Boolean>> defSubs
      Deprecated, for removal: This API element is subject to removal in a future version.
    • paperPluginManager

      public PluginManager paperPluginManager
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Constructor Details

  • Method Details

    • registerInterface

      public void registerInterface(@NotNull @NotNull Class<? extends PluginLoader> loader) throws IllegalArgumentException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Registers the specified plugin loader
      Specified by:
      registerInterface in interface PluginManager
      Parameters:
      loader - Class name of the PluginLoader to register
      Throws:
      IllegalArgumentException - Thrown when the given Class is not a valid PluginLoader
    • loadPlugins

      @NotNull public @NotNull Plugin[] loadPlugins(@NotNull @NotNull File directory)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Loads the plugins contained within the specified directory
      Specified by:
      loadPlugins in interface PluginManager
      Parameters:
      directory - Directory to check for plugins
      Returns:
      A list of all plugins loaded
    • loadPlugins

      @NotNull public @NotNull Plugin[] loadPlugins(@NotNull @NotNull File directory, @NotNull @NotNull List<File> extraPluginJars)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • loadPlugin

      Deprecated, for removal: This API element is subject to removal in a future version.
      Loads the plugin in the specified file

      File must be valid according to the current enabled Plugin interfaces

      Specified by:
      loadPlugin in interface PluginManager
      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
      UnknownDependencyException - If a required dependency could not be found
    • getPlugin

      @Nullable public @Nullable Plugin getPlugin(@NotNull @NotNull String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Checks if the given plugin is loaded and returns it when applicable

      Please note that the name of the plugin is case-sensitive

      Specified by:
      getPlugin in interface PluginManager
      Parameters:
      name - Name of the plugin to check
      Returns:
      Plugin if it exists, otherwise null
    • getPlugins

      @NotNull public @NotNull Plugin[] getPlugins()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets a list of all currently loaded plugins
      Specified by:
      getPlugins in interface PluginManager
      Returns:
      Array of Plugins
    • isPluginEnabled

      public boolean isPluginEnabled(@NotNull @NotNull String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Checks if the given plugin is enabled or not

      Please note that the name of the plugin is case-sensitive.

      Specified by:
      isPluginEnabled in interface PluginManager
      Parameters:
      name - Name of the plugin to check
      Returns:
      true if the plugin is enabled, otherwise false
    • isPluginEnabled

      public boolean isPluginEnabled(@Nullable @Nullable Plugin plugin)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Checks if the given plugin is enabled or not
      Specified by:
      isPluginEnabled in interface PluginManager
      Parameters:
      plugin - Plugin to check
      Returns:
      true if the plugin is enabled, otherwise false
    • enablePlugin

      public void enablePlugin(@NotNull @NotNull Plugin plugin)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Enables the specified plugin

      Attempting to enable a plugin that is already enabled will have no effect

      Specified by:
      enablePlugin in interface PluginManager
      Parameters:
      plugin - Plugin to enable
    • disablePlugins

      public void disablePlugins()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Disables all the loaded plugins
      Specified by:
      disablePlugins in interface PluginManager
    • disablePlugin

      public void disablePlugin(@NotNull @NotNull Plugin plugin)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Disables the specified plugin

      Attempting to disable a plugin that is not enabled will have no effect

      Specified by:
      disablePlugin in interface PluginManager
      Parameters:
      plugin - Plugin to disable
    • clearPlugins

      public void clearPlugins()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Disables and removes all plugins
      Specified by:
      clearPlugins in interface PluginManager
    • callEvent

      public void callEvent(@NotNull @NotNull Event event)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Calls an event with the given details.
      Specified by:
      callEvent in interface PluginManager
      Parameters:
      event - Event details
    • registerEvents

      public void registerEvents(@NotNull @NotNull Listener listener, @NotNull @NotNull Plugin plugin)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Registers all the events in the given listener class
      Specified by:
      registerEvents in interface PluginManager
      Parameters:
      listener - Listener to register
      plugin - Plugin to register
    • registerEvent

      public void registerEvent(@NotNull @NotNull Class<? extends Event> event, @NotNull @NotNull Listener listener, @NotNull @NotNull EventPriority priority, @NotNull @NotNull EventExecutor executor, @NotNull @NotNull Plugin plugin)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Registers the specified executor to the given event class
      Specified by:
      registerEvent in interface PluginManager
      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
    • registerEvent

      public void registerEvent(@NotNull @NotNull Class<? extends Event> event, @NotNull @NotNull Listener listener, @NotNull @NotNull EventPriority priority, @NotNull @NotNull EventExecutor executor, @NotNull @NotNull Plugin plugin, boolean ignoreCancelled)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Registers the given event to the specified listener using a directly passed EventExecutor
      Specified by:
      registerEvent in interface PluginManager
      Parameters:
      event - Event class to register
      listener - PlayerListener to register
      priority - Priority of this event
      executor - EventExecutor to register
      plugin - Plugin to register
      ignoreCancelled - Do not call executor if event was already cancelled
    • getPermission

      @Nullable public @Nullable Permission getPermission(@NotNull @NotNull String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets a Permission from its fully qualified name
      Specified by:
      getPermission in interface PermissionManager
      Specified by:
      getPermission in interface PluginManager
      Parameters:
      name - Name of the permission
      Returns:
      Permission, or null if none
    • addPermission

      public void addPermission(@NotNull @NotNull Permission perm)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Adds a Permission to this plugin manager.

      If a permission is already defined with the given name of the new permission, an exception will be thrown.

      Specified by:
      addPermission in interface PermissionManager
      Specified by:
      addPermission in interface PluginManager
      Parameters:
      perm - Permission to add
    • addPermission

      @Deprecated public void addPermission(@NotNull @NotNull Permission perm, boolean dirty)
      Deprecated.
    • getDefaultPermissions

      @NotNull public @NotNull Set<Permission> getDefaultPermissions(boolean op)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets the default permissions for the given op status
      Specified by:
      getDefaultPermissions in interface PermissionManager
      Specified by:
      getDefaultPermissions in interface PluginManager
      Parameters:
      op - Which set of default permissions to get
      Returns:
      The default permissions
    • removePermission

      public void removePermission(@NotNull @NotNull Permission perm)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Removes a 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.

      Specified by:
      removePermission in interface PermissionManager
      Specified by:
      removePermission in interface PluginManager
      Parameters:
      perm - Permission to remove
    • removePermission

      public void removePermission(@NotNull @NotNull String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Removes a 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.

      Specified by:
      removePermission in interface PermissionManager
      Specified by:
      removePermission in interface PluginManager
      Parameters:
      name - Permission to remove
    • recalculatePermissionDefaults

      public void recalculatePermissionDefaults(@NotNull @NotNull Permission perm)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Recalculates the defaults for the given Permission.

      This will have no effect if the specified permission is not registered here.

      Specified by:
      recalculatePermissionDefaults in interface PermissionManager
      Specified by:
      recalculatePermissionDefaults in interface PluginManager
      Parameters:
      perm - Permission to recalculate
    • dirtyPermissibles

      @Deprecated public void dirtyPermissibles()
      Deprecated.
    • subscribeToPermission

      public void subscribeToPermission(@NotNull @NotNull String permission, @NotNull @NotNull Permissible permissible)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Subscribes 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.

      Specified by:
      subscribeToPermission in interface PermissionManager
      Specified by:
      subscribeToPermission in interface PluginManager
      Parameters:
      permission - Permission to subscribe to
      permissible - Permissible subscribing
    • unsubscribeFromPermission

      public void unsubscribeFromPermission(@NotNull @NotNull String permission, @NotNull @NotNull Permissible permissible)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Unsubscribes the given Permissible for information about the requested Permission, by name.
      Specified by:
      unsubscribeFromPermission in interface PermissionManager
      Specified by:
      unsubscribeFromPermission in interface PluginManager
      Parameters:
      permission - Permission to unsubscribe from
      permissible - Permissible subscribing
    • getPermissionSubscriptions

      @NotNull public @NotNull Set<Permissible> getPermissionSubscriptions(@NotNull @NotNull String permission)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets a set containing all subscribed Permissibles to the given permission, by name
      Specified by:
      getPermissionSubscriptions in interface PermissionManager
      Specified by:
      getPermissionSubscriptions in interface PluginManager
      Parameters:
      permission - Permission to query for
      Returns:
      Set containing all subscribed permissions
    • subscribeToDefaultPerms

      public void subscribeToDefaultPerms(boolean op, @NotNull @NotNull Permissible permissible)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Subscribes to the given Default permissions by operator status

      If the specified defaults change in any form, the Permissible will be asked to recalculate.

      Specified by:
      subscribeToDefaultPerms in interface PermissionManager
      Specified by:
      subscribeToDefaultPerms in interface PluginManager
      Parameters:
      op - Default list to subscribe to
      permissible - Permissible subscribing
    • unsubscribeFromDefaultPerms

      public void unsubscribeFromDefaultPerms(boolean op, @NotNull @NotNull Permissible permissible)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Unsubscribes from the given Default permissions by operator status
      Specified by:
      unsubscribeFromDefaultPerms in interface PermissionManager
      Specified by:
      unsubscribeFromDefaultPerms in interface PluginManager
      Parameters:
      op - Default list to unsubscribe from
      permissible - Permissible subscribing
    • getDefaultPermSubscriptions

      @NotNull public @NotNull Set<Permissible> getDefaultPermSubscriptions(boolean op)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets a set containing all subscribed Permissibles to the given default list, by op status
      Specified by:
      getDefaultPermSubscriptions in interface PermissionManager
      Specified by:
      getDefaultPermSubscriptions in interface PluginManager
      Parameters:
      op - Default list to query for
      Returns:
      Set containing all subscribed permissions
    • getPermissions

      @NotNull public @NotNull Set<Permission> getPermissions()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Gets a set of all registered permissions.

      This set is a copy and will not be modified live.

      Specified by:
      getPermissions in interface PermissionManager
      Specified by:
      getPermissions in interface PluginManager
      Returns:
      Set containing all current registered permissions
    • isTransitiveDepend

      public boolean isTransitiveDepend(@NotNull @NotNull PluginDescriptionFile plugin, @NotNull @NotNull PluginDescriptionFile depend)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • useTimings

      public boolean useTimings()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Returns whether or not timing code should be used for event calls
      Specified by:
      useTimings in interface PluginManager
      Returns:
      True if event timings are to be used
    • useTimings

      public void useTimings(boolean use)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Sets whether or not per event timing code should be used
      Parameters:
      use - True if per event timing code should be used
    • clearPermissions

      public void clearPermissions()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PermissionManager
      Clears the current registered permissinos.

      This is used for reloading.

      Specified by:
      clearPermissions in interface PermissionManager
    • isTransitiveDependency

      public boolean isTransitiveDependency(PluginMeta pluginMeta, PluginMeta dependencyConfig)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      isTransitiveDependency in interface PluginManager
    • overridePermissionManager

      public void overridePermissionManager(@NotNull @NotNull Plugin plugin, @Nullable PermissionManager permissionManager)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PluginManager
      Sets the permission manager to be used for this server.
      Specified by:
      overridePermissionManager in interface PluginManager
      permissionManager - permission manager
    • addPermissions

      public void addPermissions(@NotNull @NotNull List<Permission> perm)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: PermissionManager
      Adds a list of permissions.

      This is meant as an optimization for adding multiple permissions without recalculating each permission.

      Specified by:
      addPermissions in interface PermissionManager
      Parameters:
      perm - permission