Class SimplePluginManager

java.lang.Object
org.bukkit.plugin.SimplePluginManager
All Implemented Interfaces:
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
  • 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
    • disablePlugins

      @Deprecated(forRemoval=true) public void disablePlugins(boolean closeClassloaders)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Classloader is always closed by upstream now.
      This method is no longer useful as upstream has made it so plugin classloaders are always closed on disable. Use disablePlugins() instead.
      Parameters:
      closeClassloaders - unused
    • 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 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 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 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 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 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 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 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 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 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 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 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 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 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.