Interface PlayerService


public interface PlayerService
Service managing voice player wrappers (VPlayer), voice states, and attached managers.
  • Method Details

    • getPlayers

      Collection<VPlayer> getPlayers()
      Returns all active wrapped voice players.
      Returns:
      collection of VPlayers
    • getPlayer

      @Nullable @Nullable VPlayer getPlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Retrieves a wrapped voice player from a Bukkit player.
      Parameters:
      player - the Bukkit player
      Returns:
      the VPlayer, or null if not connected
    • getPlayer

      @Nullable @Nullable VPlayer getPlayer(@NotNull @NotNull UUID uuid)
      Retrieves a wrapped voice player by their UUID.
      Parameters:
      uuid - the player UUID
      Returns:
      the VPlayer, or null if not connected
    • addPlayer

      void addPlayer(@NotNull @NotNull VPlayer vPlayer)
      Registers a new wrapped voice player into the service.
      Parameters:
      vPlayer - the voice player wrapper
    • removePlayer

      void removePlayer(@NotNull @NotNull VPlayer vPlayer)
      Unregisters a wrapped voice player from the service.
      Parameters:
      vPlayer - the voice player wrapper
    • setState

      void setState(@NotNull @NotNull PlayerState state, @NotNull @NotNull org.bukkit.entity.Player player)
      Sets the voice state (ALIVE, DEAD, SPECTATE) of a player.
      Parameters:
      state - the new PlayerState
      player - the Bukkit player
    • setState

      void setState(@NotNull @NotNull PlayerState state, @NotNull @NotNull UUID uuid)
      Sets the voice state of a player by their UUID.
      Parameters:
      state - the new PlayerState
      uuid - the player UUID
    • isState

      boolean isState(@NotNull @NotNull UUID uuid, @NotNull @NotNull PlayerState state)
      Checks whether a player matches a specific voice state.
      Parameters:
      uuid - the player UUID
      state - the state to test
      Returns:
      true if the player is in the given state
    • createManagerInstance

      @NotNull @NotNull PlayerManager createManagerInstance(@NotNull @NotNull VPlayer vPlayer, @NotNull @NotNull Class<? extends PlayerManager> clazz)
      Instantiates a new PlayerManager for a given player.
      Parameters:
      vPlayer - the voice player wrapper
      clazz - the manager class
      Returns:
      the created PlayerManager instance
    • addManager

      void addManager(@NotNull @NotNull VPlayer vPlayer, @NotNull @NotNull Class<? extends PlayerManager> clazz)
      Attaches a manager to a player.
      Parameters:
      vPlayer - the voice player wrapper
      clazz - the manager class
    • addManager

      void addManager(@NotNull @NotNull VPlayer vPlayer, @NotNull @NotNull Class<? extends PlayerManager>... classes)
      Attaches multiple managers to a player.
      Parameters:
      vPlayer - the voice player wrapper
      classes - the manager classes
    • getManager

      @Nullable @Nullable PlayerManager getManager(@NotNull @NotNull VPlayer vPlayer, @NotNull @NotNull Class<? extends PlayerManager> clazz)
      Retrieves an attached manager instance from a player.
      Parameters:
      vPlayer - the voice player wrapper
      clazz - the manager class
      Returns:
      the manager instance, or null if not attached
    • removeManager

      void removeManager(@NotNull @NotNull VPlayer vPlayer, @NotNull @NotNull Class<? extends PlayerManager> clazz)
      Removes and cleans up an attached manager from a player.
      Parameters:
      vPlayer - the voice player wrapper
      clazz - the manager class