Interface PluginBootstrap


@Experimental @NullMarked @OverrideOnly public interface PluginBootstrap
A plugin bootstrap is meant for loading certain parts of the plugin before the server is loaded.

Plugin bootstrapping allows values to be initialized in certain parts of the server that might not be allowed when the server is running.

Your bootstrap class will be on the same classloader as your JavaPlugin.

All calls to Bukkit may throw a NullPointerExceptions or return null unexpectedly. You should only call api methods that are explicitly documented to work in the bootstrapper

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Called by the server, allowing you to bootstrap the plugin with a context that provides things like a logger and your shared plugin configuration file.
    default JavaPlugin
    Called by the server to instantiate your main class.
  • Method Details

    • bootstrap

      void bootstrap(BootstrapContext context)
      Called by the server, allowing you to bootstrap the plugin with a context that provides things like a logger and your shared plugin configuration file.
      Parameters:
      context - the server provided context
    • createPlugin

      default JavaPlugin createPlugin(PluginProviderContext context)
      Called by the server to instantiate your main class. Plugins may override this logic to define custom creation logic for said instance, like passing addition constructor arguments.
      Parameters:
      context - the server created bootstrap object
      Returns:
      the server requested instance of the plugins main class.