Annotation Interface PluginDescriptor
Every plugin class must be annotated with @PluginDescriptor to be
recognized and loaded by the plugin system. This annotation provides essential
information about the plugin including its name, description, and behavior settings.
Example usage:
@PluginDescriptor(
name = "Auto Fisher",
description = "Automatically catches fish at various locations",
tags = {"fishing", "skilling", "automation"},
enabledByDefault = false
)
public class AutoFisherPlugin extends Plugin {
// Plugin implementation
}
- See Also:
-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionInternal name used for configuration storage.String[]Names of plugins that conflict with this plugin.A short, one-line summary of the plugin.booleanWhether the plugin should be enabled by default on first run.booleanWhether the plugin should be hidden from the plugin list.String[]Keywords used when searching for plugins.
-
Element Details
-
name
String nameThe display name of the plugin.This name is shown to users in the plugin list and configuration panel. It should be descriptive and concise.
- Returns:
- the plugin's display name
-
configName
String configNameInternal name used for configuration storage.If not specified, the plugin name will be used. This should be a stable identifier that doesn't change between versions to preserve user settings.
- Returns:
- the internal configuration name, or empty string to use the plugin name
- Default:
""
-
description
String descriptionA short, one-line summary of the plugin.This description is displayed in the plugin list to help users understand what the plugin does.
- Returns:
- a brief description of the plugin's functionality
- Default:
""
-
tags
String[] tagsKeywords used when searching for plugins.Tags help users find plugins through the search functionality. Each tag should be lowercase and contain no spaces.
Example:
tags = {"combat", "pvm", "boss"}- Returns:
- an array of search tags
- Default:
{}
-
conflicts
String[] conflictsNames of plugins that conflict with this plugin.When this plugin is enabled, any plugins whose name or conflicts value matches entries in this list will be automatically disabled. Use this to prevent incompatible plugins from running simultaneously.
Example:
conflicts = {"Other Combat Plugin", "Similar Feature"}- Returns:
- an array of conflicting plugin names
- Default:
{}
-
enabledByDefault
boolean enabledByDefaultWhether the plugin should be enabled by default on first run.Note: This only works for core plugins bundled with Storm. SDN and external plugins will always start disabled regardless of this setting.
- Returns:
- true if the plugin should be enabled by default, false otherwise (default)
- Default:
false
-