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

package com.hypixel.hytale.procedurallib.json;

import javax.annotation.Nullable;
import com.google.gson.JsonElement;
import java.nio.file.Path;
import com.hypixel.hytale.procedurallib.logic.PointNoise;

public class PointNoiseJsonLoader<K extends SeedResource> extends JsonLoader<K, PointNoise>
{
    public PointNoiseJsonLoader(final SeedString<K> seed, final Path dataFolder, @Nullable final JsonElement json) {
        super(seed, dataFolder, json);
    }
    
    @Nullable
    @Override
    public PointNoise load() {
        return new PointNoise(this.mustGetNumber("X", Constants.DEFAULT_COORD).doubleValue(), this.mustGetNumber("Y", Constants.DEFAULT_COORD).doubleValue(), this.mustGetNumber("Z", Constants.DEFAULT_COORD).doubleValue(), this.mustGetNumber("InnerRadius", Constants.DEFAULT_RADIUS).doubleValue(), this.mustGetNumber("OuterRadius", Constants.DEFAULT_RADIUS).doubleValue());
    }
    
    public interface Constants
    {
        public static final String KEY_X = "X";
        public static final String KEY_Y = "Y";
        public static final String KEY_Z = "Z";
        public static final String KEY_INNER_RADIUS = "InnerRadius";
        public static final String KEY_OUTER_RADIUS = "OuterRadius";
        public static final Double DEFAULT_COORD = 0.0;
        public static final Double DEFAULT_RADIUS = 0.0;
    }
}
