Class AlliancePlugin

java.lang.Object
net.joseplay.allianceutils.api.extensions.AlliancePlugin
All Implemented Interfaces:
AllianceUtilsExtension

public abstract class AlliancePlugin extends Object implements AllianceUtilsExtension
Base abstraction for Alliance extensions.

This class provides common infrastructure such as configuration management, resource access, task scheduling, and lifecycle metadata.

  • Field Details

    • activeTasks

      public final Set<org.bukkit.scheduler.BukkitTask> activeTasks
      Tracks active scheduled tasks for proper lifecycle management.
  • Constructor Details

    • AlliancePlugin

      public AlliancePlugin()
  • Method Details

    • getDataFolder

      public File getDataFolder()
    • setDataFolder

      public void setDataFolder(File dataFolder)
    • setExtensionName

      public void setExtensionName(String extensionName)
    • setExtensionVersion

      public void setExtensionVersion(String extensionVersion)
    • setExtensionDescription

      public void setExtensionDescription(String extensionDescription)
    • setExtensionAuthors

      public void setExtensionAuthors(List<String> extensionAuthors)
    • createDefaultConfig

      public void createDefaultConfig()
      Ensures that a default config.yml exists in the extension's data folder.

      If the file does not exist, it is extracted from the extension's JAR.

    • getResource

      public InputStream getResource(String path)
      Retrieves a resource file from inside the extension JAR.

      Returns a safe copy of the InputStream to avoid issues with closed JAR streams.

      Parameters:
      path - resource path inside the JAR
      Returns:
      InputStream or null if not found
    • getLogger

      public Logger getLogger()
      Provides a namespaced logger for the extension.
      Returns:
      custom logger instance
    • getExtensionName

      public String getExtensionName()
    • getConfig

      public org.bukkit.configuration.file.YamlConfiguration getConfig()
      Retrieves the configuration, ensuring it is initialized.
      Returns:
      configuration instance
    • getExtensionVersion

      public String getExtensionVersion()
    • getExtensionDescription

      public String getExtensionDescription()
    • getExtensionAuthors

      public List<String> getExtensionAuthors()
    • runTask

      public org.bukkit.scheduler.BukkitTask runTask(Runnable runnable)
      Schedules a synchronous task.
    • runTaskLater

      public org.bukkit.scheduler.BukkitTask runTaskLater(Runnable runnable, long delay)
      Schedules a delayed synchronous task.
    • runTaskTimer

      public org.bukkit.scheduler.BukkitTask runTaskTimer(Runnable runnable, long delay, long period)
      Schedules a repeating synchronous task and tracks it.
    • runTaskAsync

      public org.bukkit.scheduler.BukkitTask runTaskAsync(Runnable runnable)
      Schedules an asynchronous task.
    • runTaskAsyncTimer

      public org.bukkit.scheduler.BukkitTask runTaskAsyncTimer(Runnable runnable, long delay, long period)
      Schedules a repeating asynchronous task and tracks it.
    • getStartTime

      public Instant getStartTime()
    • setStartTime

      public void setStartTime(Instant startTime)