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

package com.hypixel.hytale.builtin.hytalegenerator.assets.pointgenerators;

import com.hypixel.hytale.math.vector.Vector2d;
import com.hypixel.hytale.math.vector.Vector3d;
import java.util.function.Consumer;
import com.hypixel.hytale.math.vector.Vector2i;
import java.util.List;
import com.hypixel.hytale.math.vector.Vector3i;
import com.hypixel.hytale.builtin.hytalegenerator.fields.points.PointProvider;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.seed.SeedBox;
import com.hypixel.hytale.codec.builder.BuilderCodec;

public class NoPointGeneratorAsset extends PointGeneratorAsset
{
    public static final BuilderCodec<NoPointGeneratorAsset> CODEC;
    
    @Override
    public PointProvider build(@Nonnull final SeedBox parentSeed) {
        return new PointProvider(this) {
            @Override
            public List<Vector3i> points3i(@Nonnull final Vector3i min, @Nonnull final Vector3i max) {
                return List.of();
            }
            
            @Override
            public List<Vector2i> points2i(@Nonnull final Vector2i min, @Nonnull final Vector2i max) {
                return List.of();
            }
            
            @Override
            public List<Integer> points1i(final int min, final int max) {
                return List.of();
            }
            
            @Override
            public void points3i(@Nonnull final Vector3i min, @Nonnull final Vector3i max, @Nonnull final Consumer<Vector3i> pointsOut) {
            }
            
            @Override
            public void points2i(@Nonnull final Vector2i min, @Nonnull final Vector2i max, @Nonnull final Consumer<Vector2i> pointsOut) {
            }
            
            @Override
            public void points1i(final int min, final int max, @Nonnull final Consumer<Integer> pointsOut) {
            }
            
            @Override
            public List<Vector3d> points3d(@Nonnull final Vector3d min, @Nonnull final Vector3d max) {
                return List.of();
            }
            
            @Override
            public List<Vector2d> points2d(@Nonnull final Vector2d min, @Nonnull final Vector2d max) {
                return List.of();
            }
            
            @Override
            public List<Double> points1d(final double min, final double max) {
                return List.of();
            }
            
            @Override
            public void points3d(@Nonnull final Vector3d min, @Nonnull final Vector3d max, @Nonnull final Consumer<Vector3d> pointsOut) {
            }
            
            @Override
            public void points2d(@Nonnull final Vector2d min, @Nonnull final Vector2d max, @Nonnull final Consumer<Vector2d> pointsOut) {
            }
            
            @Override
            public void points1d(final double min, final double max, @Nonnull final Consumer<Double> pointsOut) {
            }
        };
    }
    
    static {
        CODEC = BuilderCodec.builder(NoPointGeneratorAsset.class, NoPointGeneratorAsset::new, PointGeneratorAsset.ABSTRACT_CODEC).build();
    }
}
