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

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

import java.util.Collections;
import com.hypixel.hytale.builtin.hytalegenerator.patterns.Pattern;
import com.hypixel.hytale.math.vector.Vector3i;
import java.util.List;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.bounds.SpaceSize;

public class OriginScanner extends Scanner
{
    private static final OriginScanner instance;
    private static final SpaceSize SCAN_SPACE_SIZE;
    
    private OriginScanner() {
    }
    
    @Nonnull
    @Override
    public List<Vector3i> scan(@Nonnull final Context context) {
        final Pattern.Context patternContext = new Pattern.Context(context.position, context.materialSpace, context.workerId);
        if (context.pattern.matches(patternContext)) {
            return Collections.singletonList(context.position.clone());
        }
        return Collections.emptyList();
    }
    
    @Nonnull
    @Override
    public SpaceSize scanSpace() {
        return OriginScanner.SCAN_SPACE_SIZE.clone();
    }
    
    public static OriginScanner getInstance() {
        return OriginScanner.instance;
    }
    
    static {
        instance = new OriginScanner();
        SCAN_SPACE_SIZE = new SpaceSize(new Vector3i(0, 0, 0), new Vector3i(1, 0, 1));
    }
}
