Class TachyonCore

java.lang.Object
org.bukkit.plugin.PluginBase
org.bukkit.plugin.java.JavaPlugin
tech.skworks.tachyon.plugin.spigot.TachyonCore
All Implemented Interfaces:
io.papermc.paper.plugin.lifecycle.event.LifecycleEventOwner, net.kyori.adventure.key.Namespaced, org.bukkit.command.CommandExecutor, org.bukkit.command.TabCompleter, org.bukkit.command.TabExecutor, org.bukkit.plugin.Plugin, TachyonAPI<org.bukkit.inventory.ItemStack>

public class TachyonCore extends org.bukkit.plugin.java.JavaPlugin implements TachyonAPI<org.bukkit.inventory.ItemStack>
Project Tachyon Class TachyonCore
Since:
1.0.0-SNAPSHOT
Version:
1.0
Author:
Jimmy (vSKAH) - 05/04/2026
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieves the auditing service used to dispatch player actions and security events to the backend.
    ComponentRegistry<org.bukkit.inventory.ItemStack>
    Retrieves the central component registry used to manage Protobuf descriptors and UI preview handlers.
    getModuleLogger(@NotNull String moduleName)
     
    @Nullable TachyonProfile
    getProfile(@NotNull UUID uuid)
    Retrieves the active Tachyon profile for a specific player.
    Retrieves the snapshot service used to trigger database backups, point-in-time recoveries, and to query snapshot histories.
    void
     
    void
     
    boolean
    Checks if the Tachyon core system is currently in its shutdown phase.

    Methods inherited from class org.bukkit.plugin.java.JavaPlugin

    getClassLoader, getCommand, getConfig, getDataFolder, getDefaultBiomeProvider, getDefaultWorldGenerator, getDescription, getFile, getLifecycleManager, getLogger, getPlugin, getPluginLoader, getPluginMeta, getProvidingPlugin, getResource, getServer, getTextResource, init, init, isEnabled, isNaggable, onCommand, onLoad, onTabComplete, registerCommand, registerCommand, registerCommand, registerCommand, reloadConfig, saveConfig, saveDefaultConfig, saveResource, setEnabled, setNaggable, toString

    Methods inherited from class org.bukkit.plugin.PluginBase

    equals, getName, hashCode, namespace

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.bukkit.plugin.Plugin

    getComponentLogger, getDataPath, getLog4JLogger, getSLF4JLogger
  • Constructor Details

    • TachyonCore

      public TachyonCore()
  • Method Details

    • onEnable

      public void onEnable()
      Specified by:
      onEnable in interface org.bukkit.plugin.Plugin
      Overrides:
      onEnable in class org.bukkit.plugin.java.JavaPlugin
    • onDisable

      public void onDisable()
      Specified by:
      onDisable in interface org.bukkit.plugin.Plugin
      Overrides:
      onDisable in class org.bukkit.plugin.java.JavaPlugin
    • getModuleLogger

      public static TachyonLogger getModuleLogger(@NotNull @NotNull String moduleName)
    • getComponentRegistry

      public ComponentRegistry<org.bukkit.inventory.ItemStack> getComponentRegistry()
      Description copied from interface: TachyonAPI
      Retrieves the central component registry used to manage Protobuf descriptors and UI preview handlers.

      This registry is essential for registering new custom data components when your specific plugin or module initializes during server startup.

      Specified by:
      getComponentRegistry in interface TachyonAPI<org.bukkit.inventory.ItemStack>
      Returns:
      The active ComponentRegistry instance.
    • getProfile

      @Nullable public @Nullable TachyonProfile getProfile(@NotNull @NotNull UUID uuid)
      Description copied from interface: TachyonAPI
      Retrieves the active Tachyon profile for a specific player.

      The profile contains all the live Protobuf components currently loaded in memory for that player. It should only be queried for players who are currently online.

      Specified by:
      getProfile in interface TachyonAPI<org.bukkit.inventory.ItemStack>
      Parameters:
      uuid - The unique identifier (UUID) of the player.
      Returns:
      The player's TachyonProfile, or null if the player is offline or their profile hasn't finished loading into memory yet.
    • getAuditService

      public AuditService getAuditService()
      Description copied from interface: TachyonAPI
      Retrieves the auditing service used to dispatch player actions and security events to the backend.
      Specified by:
      getAuditService in interface TachyonAPI<org.bukkit.inventory.ItemStack>
      Returns:
      The active AuditService instance.
    • getSnapshotService

      public SnapshotService getSnapshotService()
      Description copied from interface: TachyonAPI
      Retrieves the snapshot service used to trigger database backups, point-in-time recoveries, and to query snapshot histories.
      Specified by:
      getSnapshotService in interface TachyonAPI<org.bukkit.inventory.ItemStack>
      Returns:
      The active SnapshotService instance.
    • tachyonCoreDisabling

      public boolean tachyonCoreDisabling()
      Description copied from interface: TachyonAPI
      Checks if the Tachyon core system is currently in its shutdown phase.

      Best Practice: External plugins should check this boolean before initiating any new asynchronous gRPC calls, component saves, or heavy operations. If this returns true, it means the server is stopping and new backend requests should be aborted to prevent hanging threads or data corruption.

      Specified by:
      tachyonCoreDisabling in interface TachyonAPI<org.bukkit.inventory.ItemStack>
      Returns:
      true if the Tachyon plugin is actively disabling, false otherwise.