package tc.oc.pgm.filters.matcher.block; import org.bukkit.Material; import org.bukkit.material.MaterialData; import tc.oc.pgm.filters.Filter; import tc.oc.pgm.filters.matcher.TypedFilter; import tc.oc.pgm.filters.query.IMaterialQuery; import tc.oc.pgm.utils.MaterialPattern; public class MaterialFilter extends TypedFilter.Impl<IMaterialQuery> { private final @Inspect(inline=true) MaterialPattern pattern; public MaterialFilter(MaterialData materialData) { this(new MaterialPattern(materialData)); } public MaterialFilter(Material material) { this(new MaterialPattern(material)); } public MaterialFilter(MaterialPattern pattern) { this.pattern = pattern; } public static Filter of(MaterialPattern pattern) { return new MaterialFilter(pattern); } @Override public boolean matches(IMaterialQuery query) { return pattern.matches(query.getMaterial()); } }