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

package com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.conditions;

import java.util.List;
import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.spaceanddepth.SpaceAndDepthMaterialProvider;

public class OrCondition implements SpaceAndDepthMaterialProvider.Condition
{
    @Nonnull
    private final SpaceAndDepthMaterialProvider.Condition[] conditions;
    
    public OrCondition(@Nonnull final List<SpaceAndDepthMaterialProvider.Condition> conditions) {
        this.conditions = new SpaceAndDepthMaterialProvider.Condition[conditions.size()];
        for (int i = 0; i < conditions.size(); ++i) {
            this.conditions[i] = conditions.get(i);
            if (this.conditions[i] == null) {
                throw new IllegalArgumentException("conditions contains null element");
            }
        }
    }
    
    @Override
    public boolean qualifies(final int x, final int y, final int z, final int depthIntoFloor, final int depthIntoCeiling, final int spaceAboveFloor, final int spaceBelowCeiling) {
        for (final SpaceAndDepthMaterialProvider.Condition c : this.conditions) {
            if (c.qualifies(x, y, z, depthIntoFloor, depthIntoCeiling, spaceAboveFloor, spaceBelowCeiling)) {
                return true;
            }
        }
        return false;
    }
}
