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

package com.hypixel.hytale.procedurallib.logic.cell.jitter;

import javax.annotation.Nonnull;
import com.hypixel.hytale.procedurallib.logic.DoubleArray;

public interface CellJitter
{
    double getMaxX();
    
    double getMaxY();
    
    double getMaxZ();
    
    double getPointX(final int p0, final DoubleArray.Double2 p1);
    
    double getPointY(final int p0, final DoubleArray.Double2 p1);
    
    double getPointX(final int p0, final DoubleArray.Double3 p1);
    
    double getPointY(final int p0, final DoubleArray.Double3 p1);
    
    double getPointZ(final int p0, final DoubleArray.Double3 p1);
    
    @Nonnull
    default CellJitter of(final double x, final double y, final double z) {
        if (x == 1.0 && y == 1.0 && z == 1.0) {
            return DefaultCellJitter.DEFAULT_ONE;
        }
        return new ConstantCellJitter(x, y, z);
    }
}
