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

package com.hypixel.hytale.builtin.hytalegenerator.positionproviders;

import com.hypixel.hytale.math.vector.Vector3d;
import com.hypixel.hytale.math.vector.Vector2d;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.fields.points.PointProvider;

public class Mesh2DPositionProvider extends PositionProvider
{
    @Nonnull
    private final PointProvider pointGenerator;
    private final int y;
    
    public Mesh2DPositionProvider(@Nonnull final PointProvider positionProvider, final int y) {
        this.pointGenerator = positionProvider;
        this.y = y;
    }
    
    @Override
    public void positionsIn(@Nonnull final Context context) {
        if (context.minInclusive.y > this.y || context.maxExclusive.y <= this.y) {
            return;
        }
        final Vector2d min2d = new Vector2d(context.minInclusive.x, context.minInclusive.z);
        final Vector2d max2d = new Vector2d(context.maxExclusive.x, context.maxExclusive.z);
        this.pointGenerator.points2d(min2d, max2d, point -> context.consumer.accept(new Vector3d(point.x, this.y, point.y)));
    }
}
