Class Plugin

java.lang.Object
com.github.alex1304.ultimategdbot.api.Plugin

public class Plugin
extends Object
Represents a plugin. A plugin has a name and provides commands.
  • Method Details

    • runOnReady

      public reactor.core.publisher.Mono<Void> runOnReady()
    • getName

      public String getName()
      Gets the name of the plugin.
      Returns:
      the name
    • getDatabaseMappingResources

      public Set<String> getDatabaseMappingResources()
      Gets a set of resource names that corresponds to database mapping files. Mapping files usually end with *.hbm.xml and should be located at the root of the src/main/resources directory of the plugin
      Returns:
      a set containing the name of all mapping files used in the plugin.
    • getGuildConfigurationEntries

      public Map<String,​GuildSettingsEntry<?,​?>> getGuildConfigurationEntries()
      Gets a map of configuration entries for guilds. Anything added here will be listed when using the setup command.
      Returns:
      the guild configuration entries
    • getCommandProvider

      public CommandProvider getCommandProvider()
      Gets the command provider for this plugin.
      Returns:
      the command provider
    • getGitProperties

      public reactor.core.publisher.Mono<Properties> getGitProperties()
      Gets the Git properties for this plugin. By default, it will look for a file named [plugin name].git.properties (where plugin name is the name of the plugin as returned by getName() but all lowercase and with spaces replaced with underscores), in the gitprops/ subdirectory of the resource classpath. If none is found, the returned Mono will complete empty.
      Returns:
      a Mono emitting the git properties if found
    • builder

      public static Plugin.Builder builder​(String name)
      Creates a new plugin builder with the specified name.
      Parameters:
      name - the name of the plugin to build
      Returns:
      a new Builder