Package org.bukkit.help

# Class IndexHelpTopic

java.lang.Object
org.bukkit.help.HelpTopic
org.bukkit.help.IndexHelpTopic

public class IndexHelpTopic extends HelpTopic
This help topic generates a list of other help topics. This class is useful for adding your own index help topics. To enforce a particular order, use a sorted collection.

If a preamble is provided to the constructor, that text will be displayed before the first item in the index.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Collection<HelpTopic>`
`allTopics`
`protected String`
`permission`
`protected String`
`preamble`

### Fields inherited from class org.bukkit.help.HelpTopic

`amendedPermission, fullText, name, shortText`

## Constructor Summary

Constructors
Constructor
Description
`IndexHelpTopic(@NotNull String name, @Nullable String shortText, @Nullable String permission, @NotNull Collection<HelpTopic> topics)`
`IndexHelpTopic(@NotNull String name, @Nullable String shortText, @Nullable String permission, @NotNull Collection<HelpTopic> topics, @Nullable String preamble)`

## Method Summary

Modifier and Type
Method
Description
`void`
`amendCanSee(@Nullable String amendedPermission)`
Allows the server administrator to override the permission required to see a help topic.
`protected @NotNull String`
`buildIndexLine(@NotNull CommandSender sender, @NotNull HelpTopic topic)`
Builds individual lines in the index topic.
`protected @NotNull String`
`buildPreamble(@NotNull CommandSender sender)`
Builds the topic preamble.
`boolean`
`canSee(@NotNull CommandSender sender)`
Determines if a `Player` is allowed to see this help topic.
`@NotNull String`
`getFullText(@NotNull CommandSender sender)`
Returns the full description of this help topic that is displayed when the user requests this topic's details.
`protected void`
`setTopicsCollection(@NotNull Collection<HelpTopic> topics)`
Sets the contents of the internal allTopics collection.

### Methods inherited from class org.bukkit.help.HelpTopic

`amendTopic, applyAmendment, getName, getShortText`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### permission

protected String permission

### preamble

protected String preamble

### allTopics

protected Collection<HelpTopic> allTopics

## Constructor Details

### IndexHelpTopic

public IndexHelpTopic(@NotNull @NotNull String name, @Nullable @Nullable String shortText, @Nullable @Nullable String permission, @NotNull @NotNull Collection<HelpTopic> topics)

### IndexHelpTopic

public IndexHelpTopic(@NotNull @NotNull String name, @Nullable @Nullable String shortText, @Nullable @Nullable String permission, @NotNull @NotNull Collection<HelpTopic> topics, @Nullable @Nullable String preamble)

## Method Details

### setTopicsCollection

protected void setTopicsCollection(@NotNull @NotNull Collection<HelpTopic> topics)
Sets the contents of the internal allTopics collection.

Parameters:
  `topics` - The topics to set.

### canSee

public boolean canSee(@NotNull @NotNull CommandSender sender)
Description copied from class: `HelpTopic`
Determines if a `Player` is allowed to see this help topic.

HelpTopic implementations should take server administrator wishes into account as set by the `HelpTopic.amendCanSee(String)` function.

Specified by:
  `canSee` in class `HelpTopic`
Parameters:
  `sender` - The Player in question.
Returns:
  True of the Player can see this help topic, false otherwise.

### amendCanSee

public void amendCanSee(@Nullable @Nullable String amendedPermission)
Description copied from class: `HelpTopic`
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 `HelpTopic.canSee(org.bukkit.command.CommandSender)` function.

Overrides:
  `amendCanSee` in class `HelpTopic`
Parameters:
  `amendedPermission` - The permission node the server administrator wishes to apply to this topic.

### getFullText

@NotNull public @NotNull String getFullText(@NotNull @NotNull CommandSender sender)
Description copied from class: `HelpTopic`
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.

Overrides:
  `getFullText` in class `HelpTopic`
Parameters:
  `sender` - 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.

### buildPreamble

@NotNull protected @NotNull String buildPreamble(@NotNull @NotNull CommandSender sender)
Builds the topic preamble. Override this method to change how the index preamble looks.

Parameters:
  `sender` - The command sender requesting the preamble.
Returns:
  The topic preamble.

### buildIndexLine

@NotNull protected @NotNull String buildIndexLine(@NotNull @NotNull CommandSender sender, @NotNull @NotNull HelpTopic topic)
Builds individual lines in the index topic. Override this method to change how index lines are rendered.

Parameters:
  `sender` - The command sender requesting the index line.
  `topic` - The topic to render into an index line.
Returns:
  The rendered index line.