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 Summary
Modifier and TypeMethodDescriptionbooleanclassExists(@NotNull String classType) Checks if a class type exists.@NotNull Collection<PlayerClass> Gets all available player classes.@NotNull Optional<PlayerClass> Gets a player class by its type/identifier.intGets the total number of available classes.@NotNull Optional<PlayerClass> Gets the default class that is selected if a player doesn't choose one.@NotNull Collection<UUID> getPlayersWithClass(@NotNull String classType) Gets all players who have selected a specific class in any active game.@NotNull Optional<PlayerClass> getSelectedClass(@NotNull UUID playerId) Gets a player's currently selected class by UUID.@NotNull Optional<PlayerClass> getSelectedClass(@NotNull org.bukkit.entity.Player player) Gets a player's currently selected class.booleanChecks if a player has selected a specific class by UUID.booleanChecks if a player has selected a specific class.booleanhasSelectedClass(@NotNull UUID playerId) Checks if a player has selected a class by UUID.booleanhasSelectedClass(@NotNull org.bukkit.entity.Player player) Checks if a player has selected a class.booleanChecks if classes are enabled in the configuration.
-
Method Details
-
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
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
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:
trueif the player has a class selected
-
hasSelectedClass
Checks if a player has selected a class by UUID.- Parameters:
playerId- The player's UUID- Returns:
trueif 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 playerclassType- The class type to check- Returns:
trueif the player has that class selected
-
hasClass
Checks if a player has selected a specific class by UUID.- Parameters:
playerId- The player's UUIDclassType- The class type to check- Returns:
trueif the player has that class selected
-
getClassCount
int getClassCount()Gets the total number of available classes.- Returns:
- The class count
-
classExists
Checks if a class type exists.- Parameters:
classType- The class type name- Returns:
trueif the class exists
-
getPlayersWithClass
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
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:
trueif the class system is enabled
-