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

package com.hypixel.hytale.builtin.hytalegenerator.assets.density;

import java.util.List;
import com.hypixel.hytale.builtin.hytalegenerator.density.nodes.MixDensity;
import com.hypixel.hytale.builtin.hytalegenerator.density.nodes.ConstantValueDensity;
import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.builder.BuilderCodec;

public class MixDensityAsset extends DensityAsset
{
    public static final BuilderCodec<MixDensityAsset> CODEC;
    
    @Nonnull
    @Override
    public Density build(@Nonnull final Argument argument) {
        if (this.isSkipped()) {
            return new ConstantValueDensity(0.0);
        }
        final List<Density> builtInputs = this.buildInputs(argument, true);
        if (builtInputs.size() != 3) {
            return new ConstantValueDensity(0.0);
        }
        return new MixDensity(builtInputs.get(0), builtInputs.get(1), builtInputs.get(2));
    }
    
    @Override
    public void cleanUp() {
        this.cleanUpInputs();
    }
    
    static {
        CODEC = BuilderCodec.builder(MixDensityAsset.class, MixDensityAsset::new, DensityAsset.ABSTRACT_CODEC).build();
    }
}
