Class VPlayer

java.lang.Object
fr.dreamin.dreamvoice.api.player.model.VPlayer

public final class VPlayer extends Object
Wrapper object representing an active player connected to Simple Voice Chat. Manages player state, attached managers, and mute toggles.
  • Constructor Details

    • VPlayer

      public VPlayer(@NotNull @NotNull org.bukkit.entity.Player player, de.maxhenkel.voicechat.api.VoicechatConnection client)
  • Method Details

    • setState

      public void setState(@NotNull @NotNull PlayerState state)
      Updates the voice state of the player, firing a PlayerStateChangeEvent.
      Parameters:
      state - the new player state
    • consumePlayer

      public void consumePlayer(@NotNull @NotNull Consumer<org.bukkit.entity.Player> consumer)
      Safely executes an action on the online Bukkit Player object.
      Parameters:
      consumer - the action to execute
    • getBukkitPlayer

      @Nullable public @Nullable org.bukkit.entity.Player getBukkitPlayer()
      Retrieves the Bukkit Player object associated with this wrapper.
      Returns:
      the online Player, or null if offline
    • isOnline

      public boolean isOnline()
      Checks whether the underlying Bukkit player is currently online.
      Returns:
      true if the player is online
    • getManager

      @Nullable public <T extends PlayerManager> T getManager(@NotNull @NotNull Class<T> managerClass)
      Retrieves a manager of the specified class attached to this player.
      Type Parameters:
      T - the manager type
      Parameters:
      managerClass - the manager class
      Returns:
      the manager instance, or null if not present
    • consumeManager

      public <T extends PlayerManager> void consumeManager(@NotNull @NotNull Class<T> managerClass, @NotNull @NotNull Consumer<T> consumer)
      Safely consumes a manager if present.
      Type Parameters:
      T - the manager type
      Parameters:
      managerClass - the manager class
      consumer - the action to perform
    • addManager

      public void addManager(@NotNull @NotNull PlayerManager manager)
      Attaches and initializes a manager instance.
      Parameters:
      manager - the manager instance
    • hasManager

      public boolean hasManager(@NotNull @NotNull Class<? extends PlayerManager> managerClass)
      Checks whether this player has a manager of the given class attached.
      Parameters:
      managerClass - the manager class
      Returns:
      true if present
    • removeManager

      public void removeManager(@NotNull @NotNull Class<? extends PlayerManager> managerClass)
      Removes and closes a manager from this player.
      Parameters:
      managerClass - the manager class to remove
    • removeAllManager

      public void removeAllManager()
      Cleans up and removes all managers attached to this player.
    • removeAllManager

      @SafeVarargs public final void removeAllManager(@NotNull @NotNull Class<? extends PlayerManager>... excludeClass)
      Removes all managers attached to this player except specified classes.
      Parameters:
      excludeClass - classes to retain