Class ExtensionLoader

java.lang.Object
org.geysermc.geyser.api.extension.ExtensionLoader

public abstract class ExtensionLoader extends Object
The extension loader is responsible for loading, unloading, enabling and disabling extensions
  • Constructor Details

    • ExtensionLoader

      public ExtensionLoader()
  • Method Details

    • isEnabled

      protected abstract boolean isEnabled(@NonNull Extension extension)
      Gets if the given Extension is enabled.
      Parameters:
      extension - the extension
      Returns:
      if the extension is enabled
    • setEnabled

      protected abstract void setEnabled(@NonNull Extension extension, boolean enabled)
      Sets if the given Extension is enabled.
      Parameters:
      extension - the extension to enable
      enabled - if the extension should be enabled
    • dataFolder

      protected abstract @NonNull Path dataFolder(@NonNull Extension extension)
      Gets the given Extension's data folder.
      Parameters:
      extension - the extension
      Returns:
      the data folder of the given extension
    • description

      protected abstract @NonNull ExtensionDescription description(@NonNull Extension extension)
      Parameters:
      extension - the extension
      Returns:
      the description of the given extension
    • eventBus

      protected abstract @NonNull ExtensionEventBus eventBus(@NonNull Extension extension)
      Gets the given Extension's ExtensionEventBus.
      Parameters:
      extension - the extension
      Returns:
      the extension's event bus
    • logger

      protected abstract @NonNull ExtensionLogger logger(@NonNull Extension extension)
      Gets the ExtensionLogger for the given Extension.
      Parameters:
      extension - the extension
      Returns:
      the extension logger for the given extension
    • loadAllExtensions

      protected abstract void loadAllExtensions(@NonNull ExtensionManager extensionManager)
      Loads all extensions.
      Parameters:
      extensionManager - the extension manager
    • register

      protected void register(@NonNull Extension extension, @NonNull ExtensionManager extensionManager)
      Registers the given Extension with the given ExtensionManager.
      Parameters:
      extension - the extension
      extensionManager - the extension manager