// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.worldgen.biome;

import javax.annotation.Nullable;
import com.hypixel.hytale.procedurallib.property.NoiseProperty;
import com.hypixel.hytale.server.worldgen.container.FadeContainer;
import com.hypixel.hytale.server.worldgen.container.WaterContainer;
import com.hypixel.hytale.server.worldgen.container.EnvironmentContainer;
import com.hypixel.hytale.server.worldgen.container.TintContainer;
import com.hypixel.hytale.server.worldgen.container.PrefabContainer;
import com.hypixel.hytale.server.worldgen.container.LayerContainer;
import com.hypixel.hytale.server.worldgen.container.CoverContainer;
import javax.annotation.Nonnull;
import com.hypixel.hytale.procedurallib.condition.IHeightThresholdInterpreter;

public abstract class Biome
{
    protected final int id;
    protected final String name;
    protected final BiomeInterpolation interpolation;
    @Nonnull
    protected final IHeightThresholdInterpreter heightmapInterpreter;
    protected final CoverContainer coverContainer;
    protected final LayerContainer layerContainer;
    protected final PrefabContainer prefabContainer;
    protected final TintContainer tintContainer;
    protected final EnvironmentContainer environmentContainer;
    protected final WaterContainer waterContainer;
    protected final FadeContainer fadeContainer;
    protected final NoiseProperty heightmapNoise;
    protected final int mapColor;
    
    public Biome(final int id, final String name, final BiomeInterpolation interpolation, @Nonnull final IHeightThresholdInterpreter heightmapInterpreter, final CoverContainer coverContainer, final LayerContainer layerContainer, final PrefabContainer prefabContainer, final TintContainer tintContainer, final EnvironmentContainer environmentContainer, final WaterContainer waterContainer, final FadeContainer fadeContainer, final NoiseProperty heightmapNoise, final int mapColor) {
        this.id = id;
        this.name = name;
        this.interpolation = interpolation;
        this.heightmapInterpreter = heightmapInterpreter;
        this.coverContainer = coverContainer;
        this.layerContainer = layerContainer;
        this.prefabContainer = prefabContainer;
        this.tintContainer = tintContainer;
        this.environmentContainer = environmentContainer;
        this.waterContainer = waterContainer;
        this.fadeContainer = fadeContainer;
        this.heightmapNoise = heightmapNoise;
        this.mapColor = mapColor;
    }
    
    public String getName() {
        return this.name;
    }
    
    public BiomeInterpolation getInterpolation() {
        return this.interpolation;
    }
    
    public IHeightThresholdInterpreter getHeightmapInterpreter() {
        return this.heightmapInterpreter;
    }
    
    public CoverContainer getCoverContainer() {
        return this.coverContainer;
    }
    
    public LayerContainer getLayerContainer() {
        return this.layerContainer;
    }
    
    @Nullable
    public PrefabContainer getPrefabContainer() {
        return this.prefabContainer;
    }
    
    public TintContainer getTintContainer() {
        return this.tintContainer;
    }
    
    public EnvironmentContainer getEnvironmentContainer() {
        return this.environmentContainer;
    }
    
    public WaterContainer getWaterContainer() {
        return this.waterContainer;
    }
    
    public FadeContainer getFadeContainer() {
        return this.fadeContainer;
    }
    
    public NoiseProperty getHeightmapNoise() {
        return this.heightmapNoise;
    }
    
    public int getId() {
        return this.id;
    }
    
    public int getMapColor() {
        return this.mapColor;
    }
    
    @Override
    public int hashCode() {
        return this.id;
    }
}
