Class TemperateSeasonSelector.Builder
java.lang.Object
com.github.thedeathlycow.thermoo.api.environment.v2.provider.TemperateSeasonSelector.Builder
- Enclosing class:
TemperateSeasonSelector
Builder for temperate season providers. By default, there is no fallback season and the seasons map is empty.
-
Method Summary
Modifier and TypeMethodDescriptionaddSeasonProvider(@NotNull TemperateSeason season, @NotNull net.minecraft.core.Holder<EnvironmentProvider> provider) Sets the provider for a season.build()Builds a new provider from this builder.withFallbackSeason(@NotNull TemperateSeason season) Adds a fallback season.
-
Method Details
-
withFallbackSeason
@Contract("_->this") public TemperateSeasonSelector.Builder withFallbackSeason(@NotNull @NotNull TemperateSeason 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 TemperateSeasonSelector.Builder addSeasonProvider(@NotNull @NotNull TemperateSeason season, @NotNull @NotNull net.minecraft.core.Holder<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 forprovider- A non-null provider to add- Returns:
- Returns this builder
-
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
TemperateSeasonSelector - Throws:
IllegalStateException- if this builder cannot build a legal provider
-