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

package com.hypixel.hytale.procedurallib.json;

import com.hypixel.hytale.procedurallib.logic.ConstantNoise;
import com.google.gson.JsonElement;
import java.nio.file.Path;
import javax.annotation.Nonnull;
import com.hypixel.hytale.procedurallib.NoiseFunction;

public class ConstantNoiseJsonLoader<K extends SeedResource> extends JsonLoader<K, NoiseFunction>
{
    public ConstantNoiseJsonLoader(@Nonnull final SeedString<K> seed, final Path dataFolder, final JsonElement json) {
        super(seed.append(".ConstantNoise"), dataFolder, json);
    }
    
    @Nonnull
    @Override
    public NoiseFunction load() {
        return new ConstantNoise(this.loadValue());
    }
    
    protected double loadValue() {
        return this.has("Value") ? this.get("Value").getAsDouble() : 0.5;
    }
    
    public interface Constants
    {
        public static final String KEY_VALUE = "Value";
        public static final double DEFAULT_VALUE = 0.5;
    }
}
