// 
// 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 class ConstantCellJitter implements CellJitter
{
    protected final double jitterX;
    protected final double jitterY;
    protected final double jitterZ;
    
    public ConstantCellJitter(final double jitterX, final double jitterY, final double jitterZ) {
        this.jitterX = jitterX;
        this.jitterY = jitterY;
        this.jitterZ = jitterZ;
    }
    
    @Override
    public double getMaxX() {
        return this.jitterX;
    }
    
    @Override
    public double getMaxY() {
        return this.jitterY;
    }
    
    @Override
    public double getMaxZ() {
        return this.jitterZ;
    }
    
    @Override
    public double getPointX(final int cx, @Nonnull final DoubleArray.Double2 vec) {
        return cx + vec.x * this.jitterX;
    }
    
    @Override
    public double getPointY(final int cy, @Nonnull final DoubleArray.Double2 vec) {
        return cy + vec.y * this.jitterY;
    }
    
    @Override
    public double getPointX(final int cx, @Nonnull final DoubleArray.Double3 vec) {
        return cx + vec.x * this.jitterX;
    }
    
    @Override
    public double getPointY(final int cy, @Nonnull final DoubleArray.Double3 vec) {
        return cy + vec.y * this.jitterY;
    }
    
    @Override
    public double getPointZ(final int cz, @Nonnull final DoubleArray.Double3 vec) {
        return cz + vec.z * this.jitterZ;
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "ConstantCellJitter{jitterX=" + this.jitterX + ", jitterY=" + this.jitterY + ", jitterZ=" + this.jitterZ;
    }
}
