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

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

import com.hypixel.hytale.math.vector.Vector3i;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
import com.hypixel.hytale.builtin.hytalegenerator.bounds.SpaceSize;

public class MaterialPattern extends Pattern
{
    private static final SpaceSize READ_SPACE_SIZE;
    private final Material material;
    
    public MaterialPattern(@Nonnull final Material material) {
        this.material = material;
    }
    
    @Override
    public boolean matches(@Nonnull final Context context) {
        if (!context.materialSpace.isInsideSpace(context.position)) {
            return false;
        }
        final Material material = context.materialSpace.getContent(context.position);
        return this.material.solid().blockId == material.solid().blockId && this.material.fluid().fluidId == material.fluid().fluidId;
    }
    
    @Override
    public SpaceSize readSpace() {
        return MaterialPattern.READ_SPACE_SIZE.clone();
    }
    
    static {
        READ_SPACE_SIZE = new SpaceSize(new Vector3i(0, 0, 0), new Vector3i(1, 0, 1));
    }
}
