Class GameConfig.Builder

java.lang.Object
com.ohacd.matchbox.api.GameConfig.Builder
Enclosing class:
GameConfig

public static final class GameConfig.Builder extends Object
Builder class for creating GameConfig instances.

Provides a fluent interface for building game configurations with validation and sensible defaults.

Example usage:


 GameConfig config = new GameConfig.Builder()
     .swipeDuration(120)
     .discussionDuration(60)
     .votingDuration(30)
     .sparkAbility("hunter_vision")
     .medicAbility("healing_sight")
     .randomSkins(true)
     .steveSkins(false)
     .build();
 
  • Constructor Details

    • Builder

      public Builder()
      Creates a new builder with default values.
  • Method Details

    • swipeDuration

      public GameConfig.Builder swipeDuration(int seconds)
      Sets the swipe phase duration.
      Parameters:
      seconds - duration in seconds, must be positive
      Returns:
      this builder instance for method chaining
      Throws:
      IllegalArgumentException - if seconds is not positive
    • discussionDuration

      public GameConfig.Builder discussionDuration(int seconds)
      Sets the discussion phase duration.
      Parameters:
      seconds - duration in seconds, must be positive
      Returns:
      this builder instance for method chaining
      Throws:
      IllegalArgumentException - if seconds is not positive
    • votingDuration

      public GameConfig.Builder votingDuration(int seconds)
      Sets the voting phase duration.
      Parameters:
      seconds - duration in seconds, must be positive
      Returns:
      this builder instance for method chaining
      Throws:
      IllegalArgumentException - if seconds is not positive
    • sparkAbility

      public GameConfig.Builder sparkAbility(String ability)
      Sets the Spark secondary ability.
      Parameters:
      ability - the ability to use ("random", "hunter_vision", "spark_swap", "delusion")
      Returns:
      this builder instance for method chaining
      Throws:
      IllegalArgumentException - if ability is invalid
    • medicAbility

      public GameConfig.Builder medicAbility(String ability)
      Sets the Medic secondary ability.
      Parameters:
      ability - the ability to use ("random", "healing_sight")
      Returns:
      this builder instance for method chaining
      Throws:
      IllegalArgumentException - if ability is invalid
    • randomSkins

      public GameConfig.Builder randomSkins(boolean enabled)
      Sets whether random skins are enabled.
      Parameters:
      enabled - true to enable random skins
      Returns:
      this builder instance for method chaining
    • steveSkins

      public GameConfig.Builder steveSkins(boolean enabled)
      Sets whether Steve skins are forced.
      Parameters:
      enabled - true to force Steve skins
      Returns:
      this builder instance for method chaining
    • build

      public GameConfig build()
      Builds the GameConfig instance.
      Returns:
      the created configuration