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

package com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.spaceanddepth.conditionassets;

import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.conditions.SmallerThanCondition;
import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.SpaceAndDepthMaterialProvider;
import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.conditions.ConditionParameter;
import com.hypixel.hytale.codec.builder.BuilderCodec;

public class SmallerThanConditionAsset extends ConditionAsset
{
    public static final BuilderCodec<SmallerThanConditionAsset> CODEC;
    private ConditionParameter parameter;
    private int threshold;
    
    public SmallerThanConditionAsset() {
        this.parameter = ConditionParameter.SPACE_ABOVE_FLOOR;
        this.threshold = 0;
    }
    
    @Nonnull
    @Override
    public SpaceAndDepthMaterialProvider.Condition build() {
        return new SmallerThanCondition(this.threshold, this.parameter);
    }
    
    static {
        CODEC = BuilderCodec.builder(SmallerThanConditionAsset.class, SmallerThanConditionAsset::new, ConditionAsset.ABSTRACT_CODEC).append(new KeyedCodec<ConditionParameter>("ContextToCheck", ConditionParameter.CODEC, true), (t, k) -> t.parameter = k, k -> k.parameter).add().append(new KeyedCodec("Threshold", Codec.INTEGER, true), (t, k) -> t.threshold = k, k -> k.threshold).add().build();
    }
}
