26 lines
615 B
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();
|
|
}
|