Class HelpTopic
- Direct Known Subclasses:
GenericCommandHelpTopic
,IndexHelpTopic
Custom implementations of this class can work at two levels. A simple
implementation only needs to set the value of name
,
shortText
, and fullText
in the constructor. This base class will
take care of the rest.
Complex implementations can be created by overriding the behavior of all the methods in this class.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
amendCanSee
(@Nullable String amendedPermission) Allows the server administrator to override the permission required to see a help topic.void
amendTopic
(@Nullable String amendedShortText, @Nullable String amendedFullText) Allows the server admin (or another plugin) to add or replace the contents of a help topic.applyAmendment
(@NotNull String baseText, @Nullable String amendment) Developers implementing their own custom HelpTopic implementations can use this utility method to ensure their implementations comply with the expected behavior of theamendTopic(String, String)
method.abstract boolean
canSee
(@NotNull CommandSender player) Determines if aPlayer
is allowed to see this help topic.getFullText
(@NotNull CommandSender forWho) Returns the full description of this help topic that is displayed when the user requests this topic's details.getName()
Returns the name of this help topic.Returns a brief description that will be displayed in the topic index.
-
Field Details
-
name
-
shortText
-
fullText
-
amendedPermission
-
-
Constructor Details
-
HelpTopic
public HelpTopic()
-
-
Method Details
-
canSee
Determines if aPlayer
is allowed to see this help topic.HelpTopic implementations should take server administrator wishes into account as set by the
amendCanSee(String)
function.- Parameters:
player
- The Player in question.- Returns:
- True of the Player can see this help topic, false otherwise.
-
amendCanSee
Allows the server administrator to override the permission required to see a help topic.HelpTopic implementations should take this into account when determining topic visibility on the
canSee(org.bukkit.command.CommandSender)
function.- Parameters:
amendedPermission
- The permission node the server administrator wishes to apply to this topic.
-
getName
Returns the name of this help topic.- Returns:
- The topic name.
-
getShortText
Returns a brief description that will be displayed in the topic index.- Returns:
- A brief topic description.
-
getFullText
Returns the full description of this help topic that is displayed when the user requests this topic's details.The result will be paginated to properly fit the user's client.
- Parameters:
forWho
- The player or console requesting the full text. Useful for further security trimming the command's full text based on sub-permissions in custom implementations.- Returns:
- A full topic description.
-
amendTopic
public void amendTopic(@Nullable @Nullable String amendedShortText, @Nullable @Nullable String amendedFullText) Allows the server admin (or another plugin) to add or replace the contents of a help topic.A null in either parameter will leave that part of the topic unchanged. In either amending parameter, the string <text> is replaced with the existing contents in the help topic. Use this to append or prepend additional content into an automatically generated help topic.
- Parameters:
amendedShortText
- The new topic short text to use, or null to leave alone.amendedFullText
- The new topic full text to use, or null to leave alone.
-
applyAmendment
@NotNull protected @NotNull String applyAmendment(@NotNull @NotNull String baseText, @Nullable @Nullable String amendment) Developers implementing their own custom HelpTopic implementations can use this utility method to ensure their implementations comply with the expected behavior of theamendTopic(String, String)
method.- Parameters:
baseText
- The existing text of the help topic.amendment
- The amending text from the amendTopic() method.- Returns:
- The application of the amending text to the existing text, according to the expected rules of amendTopic().
-