package com.hypixel.hytale.component.query; import com.hypixel.hytale.component.Archetype; import com.hypixel.hytale.component.ComponentRegistry; import com.hypixel.hytale.component.ComponentType; import javax.annotation.Nonnull; public interface Query { @Nonnull static AnyQuery any() { return (AnyQuery)AnyQuery.INSTANCE; } @Nonnull static NotQuery not(Query query) { return new NotQuery<>(query); } @Nonnull @SafeVarargs static AndQuery and(Query... queries) { return new AndQuery<>(queries); } @Nonnull @SafeVarargs static OrQuery or(Query... queries) { return new OrQuery<>(queries); } boolean test(Archetype var1); boolean requiresComponentType(ComponentType var1); void validateRegistry(ComponentRegistry var1); void validate(); }