Class PluginManager

  • public final class PluginManager
    extends Object
    Class to manage bridging between plugin duties and implementation duties, for example event handling and plugin management.
    • Constructor Detail

      • PluginManager

        public PluginManager​(ProxyServer proxy)
      • PluginManager

        public PluginManager​(ProxyServer proxy,
                             org.yaml.snakeyaml.Yaml yaml,
                             EventBus eventBus,
                             net.md_5.bungee.api.plugin.LibraryLoader libraryLoader)
    • Method Detail

      • registerCommand

        public void registerCommand​(Plugin plugin,
                                    Command command)
        Register a command so that it may be executed.
        plugin - the plugin owning this command
        command - the command to register
      • unregisterCommand

        public void unregisterCommand​(Command command)
        Unregister a command so it will no longer be executed.
        command - the command to unregister
      • unregisterCommands

        public void unregisterCommands​(Plugin plugin)
        Unregister all commands owned by a Plugin
        plugin - the plugin to register the commands of
      • isExecutableCommand

        public boolean isExecutableCommand​(String commandName,
                                           CommandSender sender)
        Checks if the command is registered and can possibly be executed by the sender (without taking permissions into account).
        commandName - the name of the command
        sender - the sender executing the command
        whether the command will be handled
      • dispatchCommand

        public boolean dispatchCommand​(CommandSender sender,
                                       String commandLine)
      • dispatchCommand

        public boolean dispatchCommand​(CommandSender sender,
                                       String commandLine,
                                       List<String> tabResults)
        Execute a command if it is registered, else return false.
        sender - the sender executing the command
        commandLine - the complete command line including command name and arguments
        tabResults - list to place tab results into. If this list is non null then the command will not be executed and tab results will be returned instead.
        whether the command was handled
      • tabCompleteCommand

        public List<String> tabCompleteCommand​(CommandSender sender,
                                               String commandLine)
        Searches for tab-complete suggestions for the given command line.

        This is similar to dispatchCommand(CommandSender, String, List) called with a list, but it also handles completing the command names itself instead of just the arguments.

        sender - The command sender
        commandLine - The current command line
        The tab-complete suggestions
      • getPlugins

        public Collection<Plugin> getPlugins()
        Returns the Plugin objects corresponding to all loaded plugins.
        the set of loaded plugins
      • getPlugin

        public Plugin getPlugin​(String name)
        Returns a loaded plugin identified by the specified name.
        name - of the plugin to retrieve
        the retrieved plugin or null if not loaded
      • loadPlugins

        public void loadPlugins()
      • enablePlugins

        public void enablePlugins()
      • detectPlugins

        public void detectPlugins​(File folder)
        Load all plugins from the specified folder.
        folder - the folder to search for plugins in
      • callEvent

        public <T extends Event> T callEvent​(T event)
        Dispatch an event to all subscribed listeners and return the event once it has been handled by these listeners.
        Type Parameters:
        T - the type bounds, must be a class which extends event
        event - the event to call
        the called event
      • registerListener

        public void registerListener​(Plugin plugin,
                                     Listener listener)
        Register a Listener for receiving called events. Methods in this Object which wish to receive events must be annotated with the EventHandler annotation.
        plugin - the owning plugin
        listener - the listener to register events for
      • unregisterListener

        public void unregisterListener​(Listener listener)
        Unregister a Listener so that the events do not reach it anymore.
        listener - the listener to unregister
      • unregisterListeners

        public void unregisterListeners​(Plugin plugin)
        Unregister all of a Plugin's listener.
        plugin - target plugin