Interface TachyonAPI<V>

Type Parameters:
V - The visual object type used by the ComponentRegistry and UI systems (e.g., org.bukkit.inventory.ItemStack for a Spigot implementation).
All Known Implementing Classes:
TachyonCore

public interface TachyonAPI<V>
Project Tachyon Interface TachyonAPI

The primary gateway and central API for the Tachyon ecosystem.

This interface provides external plugins and modules with safe access to Tachyon's core services, including live player profile management, component registration, telemetry auditing, and the snapshot backup system.

Since:
1.0.0-SNAPSHOT
Version:
1.0
Author:
Jimmy (vSKAH) - 13/04/2026
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieves the auditing service used to dispatch player actions and security events to the backend.
    Retrieves the central component registry used to manage Protobuf descriptors and UI preview handlers.
    @Nullable TachyonProfile
    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.
    boolean
    Checks if the Tachyon core system is currently in its shutdown phase.
  • Method Details

    • getProfile

      @Nullable @Nullable TachyonProfile getProfile(UUID uuid)
      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.

      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.
    • getComponentRegistry

      ComponentRegistry<V> getComponentRegistry()
      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.

      Returns:
      The active ComponentRegistry instance.
    • getAuditService

      AuditService getAuditService()
      Retrieves the auditing service used to dispatch player actions and security events to the backend.
      Returns:
      The active AuditService instance.
    • getSnapshotService

      SnapshotService getSnapshotService()
      Retrieves the snapshot service used to trigger database backups, point-in-time recoveries, and to query snapshot histories.
      Returns:
      The active SnapshotService instance.
    • tachyonCoreDisabling

      boolean tachyonCoreDisabling()
      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.

      Returns:
      true if the Tachyon plugin is actively disabling, false otherwise.