All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.help.HelpMap Maven / Gradle / Ivy

package org.bukkit.help;

import java.util.Collection;
import java.util.List;

/**
 * The HelpMap tracks all help topics registered in a Bukkit server. When the
 * server starts up or is reloaded, help is processed and topics are added in
 * the following order:
 *
 * 
    *
  1. General topics are loaded from the help.yml *
  2. Plugins load and optionally call {@code addTopic()} *
  3. Registered plugin commands are processed by {@link HelpTopicFactory} * objects to create topics *
  4. Topic contents are amended as directed in help.yml *
*/ public interface HelpMap { /** * Returns a help topic for a given topic name. * * @param topicName The help topic name to look up. * @return A {@link HelpTopic} object matching the topic name or null if * none can be found. */ HelpTopic getHelpTopic(String topicName); /** * Returns a collection of all the registered help topics. * * @return All the registered help topics. */ Collection getHelpTopics(); /** * Adds a topic to the server's help index. * * @param topic The new help topic to add. */ void addTopic(HelpTopic topic); /** * Clears out the contents of the help index. Normally called during * server reload. */ void clear(); /** * Associates a {@link HelpTopicFactory} object with given command base * class. Plugins typically call this method during {@code onLoad()}. Once * registered, the custom HelpTopicFactory will be used to create a custom * {@link HelpTopic} for all commands deriving from the {@code * commandClass} base class, or all commands deriving from {@link * org.bukkit.command.PluginCommand} who's executor derives from {@code * commandClass} base class. * * @param commandClass The class for which the custom HelpTopicFactory * applies. Must derive from either {@link org.bukkit.command.Command} * or {@link org.bukkit.command.CommandExecutor}. * @param factory The {@link HelpTopicFactory} implementation to associate * with the {@code commandClass}. * @throws IllegalArgumentException Thrown if {@code commandClass} does * not derive from a legal base class. */ void registerHelpTopicFactory(Class commandClass, HelpTopicFactory factory); /** * Gets the list of plugins the server administrator has chosen to exclude * from the help index. Plugin authors who choose to directly extend * {@link org.bukkit.command.Command} instead of {@link * org.bukkit.command.PluginCommand} will need to check this collection in * their {@link HelpTopicFactory} implementations to ensure they meet the * server administrator's expectations. * * @return A list of plugins that should be excluded from the help index. */ List getIgnoredPlugins(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy