Interface PlatformPlugin


  • @NonExtendable
    public interface PlatformPlugin
    Represents a plugin running on the platform.
    • Method Detail

      • getName

        @NotNull
        @NotNull String getName()
        Get the name of this plugin.
        Returns:
        name.
      • getVersion

        @NotNull
        @NotNull String getVersion()
        Get the version of this plugin.
        Returns:
        version.
      • getDescription

        @NotNull
        @NotNull Optional<String> getDescription()
        Get the description of this plugin.
        Returns:
        an Optional containing the plugin description, if available, otherwise an empty optional.
      • getMainClass

        @NotNull
        @NotNull Class<?> getMainClass()
        Get the main class of this plugin.
        Returns:
        main class.
      • getAuthors

        @NotNull
        @NotNull Collection<String> getAuthors()
        Get the authors of this plugin.
        Returns:
        authors.
      • getDependencies

        @NotNull
        @NotNull Collection<String> getDependencies()
        Get the required dependencies of this plugin.
        Returns:
        required dependencies.
      • getSoftDependencies

        @NotNull
        @NotNull Collection<String> getSoftDependencies()
        Get the optional dependencies of this plugin.
        Returns:
        optional dependencies.
      • getDataFolder

        @NotNull
        @NotNull Path getDataFolder()
        Get the data folder of this plugin.
        Returns:
        data folder.
      • enable

        @Experimental
        void enable()
        Attempt to enable this plugin.

        This is not guaranteed to work and is currently experimental. Use at your own risk!

      • disable

        @Experimental
        void disable()
        Attempt to disable this plugin.

        This is not guaranteed to work and is currently experimental. Use at your own risk!