Interface ClassService


public interface ClassService
Service for accessing player class information within Zentrix.

This service provides access to available player classes, their configurations, and player class selections. Classes define starting kits and passive abilities.

Example Usage


 ClassService classService = ZentrixProvider.get().getClassService();

 // Get all available classes
 Collection<PlayerClass> classes = classService.getAvailableClasses();

 // Check player's selected class
 Optional<PlayerClass> selected = classService.getSelectedClass(player);
 selected.ifPresent(playerClass -> {
     String name = playerClass.getDisplayName();
     player.sendMessage("Your class: " + name);
 });
 
Since:
1.0.0
  • Method Details

    • getAvailableClasses

      @NotNull @NotNull Collection<PlayerClass> getAvailableClasses()
      Gets all available player classes.

      These are the classes configured in classes.yml that players can select before or during a game.

      Returns:
      An unmodifiable collection of available classes (never null, may be empty)
    • getClass

      @NotNull @NotNull Optional<PlayerClass> getClass(@NotNull @NotNull String classType)
      Gets a player class by its type/identifier.
      Parameters:
      classType - The class type name (case-insensitive)
      Returns:
      Optional containing the class, or empty if not found
    • getSelectedClass

      @NotNull @NotNull Optional<PlayerClass> getSelectedClass(@NotNull @NotNull org.bukkit.entity.Player player)
      Gets a player's currently selected class.
      Parameters:
      player - The player
      Returns:
      Optional containing the selected class, or empty if none selected
    • getSelectedClass

      @NotNull @NotNull Optional<PlayerClass> getSelectedClass(@NotNull @NotNull UUID playerId)
      Gets a player's currently selected class by UUID.
      Parameters:
      playerId - The player's UUID
      Returns:
      Optional containing the selected class, or empty if none selected
    • hasSelectedClass

      boolean hasSelectedClass(@NotNull @NotNull org.bukkit.entity.Player player)
      Checks if a player has selected a class.
      Parameters:
      player - The player
      Returns:
      true if the player has a class selected
    • hasSelectedClass

      boolean hasSelectedClass(@NotNull @NotNull UUID playerId)
      Checks if a player has selected a class by UUID.
      Parameters:
      playerId - The player's UUID
      Returns:
      true if the player has a class selected
    • hasClass

      boolean hasClass(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull String classType)
      Checks if a player has selected a specific class.
      Parameters:
      player - The player
      classType - The class type to check
      Returns:
      true if the player has that class selected
    • hasClass

      boolean hasClass(@NotNull @NotNull UUID playerId, @NotNull @NotNull String classType)
      Checks if a player has selected a specific class by UUID.
      Parameters:
      playerId - The player's UUID
      classType - The class type to check
      Returns:
      true if the player has that class selected
    • getClassCount

      int getClassCount()
      Gets the total number of available classes.
      Returns:
      The class count
    • classExists

      boolean classExists(@NotNull @NotNull String classType)
      Checks if a class type exists.
      Parameters:
      classType - The class type name
      Returns:
      true if the class exists
    • getPlayersWithClass

      @NotNull @NotNull Collection<UUID> getPlayersWithClass(@NotNull @NotNull String classType)
      Gets all players who have selected a specific class in any active game.
      Parameters:
      classType - The class type
      Returns:
      An unmodifiable collection of player UUIDs (never null, may be empty)
    • getDefaultClass

      @NotNull @NotNull Optional<PlayerClass> getDefaultClass()
      Gets the default class that is selected if a player doesn't choose one.

      Returns empty if no default class is configured.

      Returns:
      Optional containing the default class, or empty if none
    • isClassSystemEnabled

      boolean isClassSystemEnabled()
      Checks if classes are enabled in the configuration.

      When disabled, players don't select classes and don't receive class kits.

      Returns:
      true if the class system is enabled