package com.hypixel.hytale.component.query; import com.hypixel.hytale.component.Archetype; import com.hypixel.hytale.component.ComponentRegistry; import com.hypixel.hytale.component.ComponentType; public class AndQuery implements Query { private final Query[] queries; @SafeVarargs public AndQuery(Query... queries) { this.queries = queries; } @Override public boolean test(Archetype archetype) { for (Query query : this.queries) { if (!query.test(archetype)) { return false; } } return true; } @Override public boolean requiresComponentType(ComponentType componentType) { for (Query query : this.queries) { if (query.requiresComponentType(componentType)) { return true; } } return false; } @Override public void validateRegistry(ComponentRegistry registry) { for (Query query : this.queries) { query.validateRegistry(registry); } } @Override public void validate() { for (Query query : this.queries) { query.validate(); } } }