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

package com.hypixel.hytale.builtin.hytalegenerator.framework.cartas;

import java.util.Collections;
import java.util.List;
import com.hypixel.hytale.builtin.hytalegenerator.threadindexer.WorkerIndexer;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.framework.interfaces.functions.BiCarta;

public class SingleElementCarta<R> extends BiCarta<R>
{
    private R element;
    
    private SingleElementCarta() {
    }
    
    @Nonnull
    public static <R> SingleElementCarta<R> of(@Nonnull final R element) {
        final SingleElementCarta<R> c = new SingleElementCarta<R>();
        c.element = element;
        return c;
    }
    
    @Override
    public R apply(final int x, final int z, @Nonnull final WorkerIndexer.Id id) {
        return this.element;
    }
    
    @Nonnull
    @Override
    public List<R> allPossibleValues() {
        return Collections.singletonList(this.element);
    }
}
