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

package com.hypixel.hytale.builtin.hytalegenerator.fields.noise;

import javax.annotation.Nonnull;

public abstract class NoiseField
{
    protected double scaleX;
    protected double scaleY;
    protected double scaleZ;
    protected double scaleW;
    
    public NoiseField() {
        this.scaleX = 1.0;
        this.scaleY = 1.0;
        this.scaleZ = 1.0;
        this.scaleW = 1.0;
    }
    
    public abstract double valueAt(final double p0, final double p1, final double p2, final double p3);
    
    public abstract double valueAt(final double p0, final double p1, final double p2);
    
    public abstract double valueAt(final double p0, final double p1);
    
    public abstract double valueAt(final double p0);
    
    @Nonnull
    public NoiseField setScale(final double scaleX, final double scaleY, final double scaleZ, final double scaleW) {
        this.scaleX = scaleX;
        this.scaleY = scaleY;
        this.scaleZ = scaleZ;
        this.scaleW = scaleW;
        return this;
    }
    
    @Nonnull
    public NoiseField setScale(final double scale) {
        this.scaleX = scale;
        this.scaleY = scale;
        this.scaleZ = scale;
        this.scaleW = scale;
        return this;
    }
}
