Annotation Interface Plugin


@Retention(RUNTIME) @Target(TYPE) public @interface Plugin
Annotation to mark a class as a Numdrassl plugin.

Example usage:

@Plugin(
    id = "my-plugin",
    name = "My Plugin",
    version = "1.0.0",
    authors = {"Author1", "Author2"},
    description = "A sample plugin for Numdrassl"
)
public class MyPlugin {

    @Inject
    private ProxyServer proxy;

    @Subscribe
    public void onProxyInit(ProxyInitializeEvent event) {
        // Plugin initialization
    }
}
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The unique ID of this plugin.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The authors of this plugin.
    The dependencies of this plugin.
    A description of this plugin.
    The display name of this plugin.
    The optional dependencies of this plugin.
    The version of this plugin.
  • Element Details

    • id

      String id
      The unique ID of this plugin. Should be lowercase and may contain alphanumeric characters, dashes, and underscores.
      Returns:
      the plugin ID
    • name

      String name
      The display name of this plugin. Defaults to the ID if not specified.
      Returns:
      the plugin name
      Default:
      ""
    • version

      String version
      The version of this plugin.
      Returns:
      the version string
      Default:
      ""
    • description

      String description
      A description of this plugin.
      Returns:
      the description
      Default:
      ""
    • authors

      String[] authors
      The authors of this plugin.
      Returns:
      an array of author names
      Default:
      {}
    • dependencies

      String[] dependencies
      The dependencies of this plugin.
      Returns:
      an array of plugin IDs this plugin depends on
      Default:
      {}
    • softDependencies

      String[] softDependencies
      The optional dependencies of this plugin.
      Returns:
      an array of plugin IDs this plugin optionally depends on
      Default:
      {}