Class TemperateSeasonEnvironmentProvider.Builder

java.lang.Object
com.github.thedeathlycow.thermoo.api.environment.provider.TemperateSeasonEnvironmentProvider.Builder
Enclosing class:
TemperateSeasonEnvironmentProvider

public static final class TemperateSeasonEnvironmentProvider.Builder extends Object
Builder for temperate season providers. By default, there is no fallback season and the seasons map is empty.
  • Method Details

    • withFallbackSeason

      @Contract("_->this") public TemperateSeasonEnvironmentProvider.Builder withFallbackSeason(@NotNull @NotNull ThermooSeason season)
      Adds a fallback season. If a fallback season is already provided, it will be overwritten.
      Parameters:
      season - A non-null temperate season to add as fallback.
      Returns:
      Returns this builder
    • addSeasonProvider

      @Contract("_,_->this") public TemperateSeasonEnvironmentProvider.Builder addSeasonProvider(@NotNull @NotNull ThermooSeason season, @NotNull @NotNull net.minecraft.registry.entry.RegistryEntry<EnvironmentProvider> provider)
      Sets the provider for a season. If a provider is already mapped to the given season, it will be overwritten.
      Parameters:
      season - A non-null temperate season to add a provider for
      provider - A non-null provider to add
      Returns:
      Returns this builder
    • build

      @Contract("->new") public TemperateSeasonEnvironmentProvider build()
      Builds a new provider from this builder. The provider must have a non-empty seasons map, and if a fallback season is provided then it must be a key of the seasons map.
      Returns:
      Returns a new TemperateSeasonEnvironmentProvider
      Throws:
      IllegalStateException - if this builder cannot build a legal provider