ProjectAres/PGM/src/main/java/tc/oc/pgm/utils/MaterialMatcher.java

26 lines
615 B
Java

package tc.oc.pgm.utils;
import java.util.Collection;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
import tc.oc.commons.core.inspect.Inspectable;
/**
* A predicate on materials
*/
public interface MaterialMatcher extends Inspectable {
boolean matches(Material material);
boolean matches(MaterialData materialData);
boolean matches(ItemStack stack);
/**
* Iterates over ALL matching {@link Material}s. This can be a long list
* if the matching criteria is very broad.
*/
Collection<Material> getMaterials();
}