package com.hypixel.hytale.builtin.hytalegenerator.density.nodes;
import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
import com.hypixel.hytale.builtin.hytalegenerator.framework.interfaces.functions.BiDouble2DoubleFunction;
import javax.annotation.Nonnull;
public class BaseHeightDensity extends Density {
@Nonnull
private final BiDouble2DoubleFunction heightFunction;
private final boolean isDistance;
public BaseHeightDensity(@Nonnull BiDouble2DoubleFunction heightFunction, boolean isDistance) {
this.heightFunction = heightFunction;
this.isDistance = isDistance;
}
public double process(@Nonnull Density.Context context) {
return this.isDistance ? context.position.y - this.heightFunction.apply(context.position.x, context.position.z) : this.heightFunction.apply(context.position.x, context.position.z);
}
public boolean skipInputs(double y) {
return true;
}
}