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

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

import java.util.Collections;
import java.util.List;
import com.hypixel.hytale.builtin.hytalegenerator.props.Prop;
import com.hypixel.hytale.builtin.hytalegenerator.threadindexer.WorkerIndexer;
import javax.annotation.Nonnull;
import com.hypixel.hytale.math.vector.Vector3d;

public abstract class Assignments
{
    public abstract Prop propAt(@Nonnull final Vector3d p0, @Nonnull final WorkerIndexer.Id p1, final double p2);
    
    public abstract int getRuntime();
    
    public abstract List<Prop> getAllPossibleProps();
    
    @Nonnull
    public static Assignments noPropDistribution(final int runtime) {
        return new Assignments() {
            @Nonnull
            @Override
            public Prop propAt(@Nonnull final Vector3d position, @Nonnull final WorkerIndexer.Id id, final double distanceTOBiomeEdge) {
                return Prop.noProp();
            }
            
            @Override
            public int getRuntime() {
                return runtime;
            }
            
            @Nonnull
            @Override
            public List<Prop> getAllPossibleProps() {
                return Collections.singletonList(Prop.noProp());
            }
        };
    }
}
