TCommand
- The base class for your custom commands.public interface HelpTopicFactory<TCommand extends Command>
HelpTopic
objects from
commands that inherit from a common base class or have executors that
inherit from a common base class. You can use a custom HelpTopic to change
the way all the commands in your plugin display in the help. If your plugin
implements a complex permissions system, a custom help topic may also be
appropriate.
To automatically bind your plugin's commands to your custom HelpTopic
implementation, first make sure all your commands or executors derive from
a custom base class (it doesn't have to do anything). Next implement a
custom HelpTopicFactory that accepts your custom command base class and
instantiates an instance of your custom HelpTopic from it. Finally,
register your HelpTopicFactory against your command base class using the
HelpMap.registerHelpTopicFactory(Class, HelpTopicFactory)
method.
As the help system iterates over all registered commands to make help
topics, it first checks to see if there is a HelpTopicFactory registered
for the command's base class. If so, the factory is used to make a help
topic rather than a generic help topic. If no factory is found for the
command's base class and the command derives from PluginCommand
, then the type of the command's executor
is inspected looking for a registered HelpTopicFactory. Finally, if no
factory is found, a generic help topic is created for the command.
Modifier and Type | Method | Description |
---|---|---|
@Nullable HelpTopic |
createTopic(TCommand command) |
This method accepts a command deriving from a custom command base class
and constructs a custom HelpTopic for it.
|
@Nullable @Nullable HelpTopic createTopic(@NotNull TCommand command)
command
- The custom command to build a help topic for.null
to intentionally NOT
create a topic.Copyright © 2020. All rights reserved.