Annotation Interface PluginDescriptor


@Retention(RUNTIME) @Target(TYPE) @Documented public @interface PluginDescriptor
Declares plugin metadata used for discovery, configuration UI, and optional overlay binding.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Human-readable plugin name.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<? extends Config>
    Config class rendered for this plugin.
    Optional alternate name used by configuration storage and UI grouping.
    Short description shown in plugin lists.
    boolean
    Whether the plugin should be enabled for new users by default.
    boolean
    Whether the plugin should be hidden from normal plugin lists.
    Overlay binding class registered while this plugin is active.
    Search tags used by plugin UI filtering.
    Human-readable plugin version.
  • Element Details

    • name

      String name
      Human-readable plugin name.
    • configName

      String configName
      Optional alternate name used by configuration storage and UI grouping.
      Default:
      ""
    • version

      String version
      Human-readable plugin version.
      Default:
      "1.0.0"
    • description

      String description
      Short description shown in plugin lists.
      Default:
      ""
    • tags

      String[] tags
      Search tags used by plugin UI filtering.
      Default:
      {}
    • enabledByDefault

      boolean enabledByDefault
      Whether the plugin should be enabled for new users by default.
      Default:
      true
    • hidden

      boolean hidden
      Whether the plugin should be hidden from normal plugin lists.
      Default:
      false
    • config

      Class<? extends Config> config
      Config class rendered for this plugin.
      Default:
      dev.twilite.client.config.Config.class
    • overlay

      Class<? extends OverlayBinding> overlay
      Overlay binding class registered while this plugin is active.
      Default:
      dev.twilite.client.ui.Overlay.class