package com.hypixel.hytale.builtin.hytalegenerator.biome;
import com.hypixel.hytale.builtin.hytalegenerator.PropField;
import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
import com.hypixel.hytale.builtin.hytalegenerator.environmentproviders.EnvironmentProvider;
import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
import com.hypixel.hytale.builtin.hytalegenerator.propdistributions.Assignments;
import com.hypixel.hytale.builtin.hytalegenerator.tintproviders.TintProvider;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
public class SimpleBiomeType implements BiomeType {
private final Density terrainDensity;
private final MaterialProvider<Material> materialProvider;
private final List<PropField> propFields;
private final EnvironmentProvider environmentProvider;
private final TintProvider tintProvider;
private final String biomeName;
public SimpleBiomeType(@Nonnull String biomeName, @Nonnull Density terrainDensity, @Nonnull MaterialProvider<Material> materialProvider, @Nonnull EnvironmentProvider environmentProvider, @Nonnull TintProvider tintProvider) {
this.terrainDensity = terrainDensity;
this.materialProvider = materialProvider;
this.biomeName = biomeName;
this.propFields = new ArrayList();
this.environmentProvider = environmentProvider;
this.tintProvider = tintProvider;
}
public void addPropFieldTo(@Nonnull PropField propField) {
this.propFields.add(propField);
}
public MaterialProvider<Material> getMaterialProvider() {
return this.materialProvider;
}
@Nonnull
public Density getTerrainDensity() {
return this.terrainDensity;
}
public String getBiomeName() {
return this.biomeName;
}
public List<PropField> getPropFields() {
return this.propFields;
}
public EnvironmentProvider getEnvironmentProvider() {
return this.environmentProvider;
}
public TintProvider getTintProvider() {
return this.tintProvider;
}
public List<Assignments> getAllPropDistributions() {
ArrayList<Assignments> list = new ArrayList();
for(PropField f : this.propFields) {
list.add(f.getPropDistribution());
}
return list;
}
}