package codechicken.nei;
import codechicken.nei.api.ItemFilter;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemStackSet extends ItemStackMap<ItemStack> implements ItemFilter {
public ItemStackSet with(ItemStack... items) {
for (ItemStack item : items) {
add(item);
}
return this;
}
public ItemStackSet with(Item... items) {
for (Item item : items) {
add(ItemStackMap.wildcard(item));
}
return this;
}
public ItemStackSet with(Block... blocks) {
for (Block block : blocks) {
add(ItemStackMap.wildcard(Item.getItemFromBlock(block)));
}
return this;
}
public void add(ItemStack item) {
put(item, item);
}
public boolean contains(ItemStack item) {
return get(item) != null;
}
public boolean containsAll(Item item) {
return get(ItemStackMap.wildcard(item)) != null;
}
@Override
public boolean matches(ItemStack item) {
return contains(item);
}
public static ItemStackSet of(Block... blocks) {
return new ItemStackSet().with(blocks);
}
public static ItemStackSet of(Item... items) {
return new ItemStackSet().with(items);
}
public static ItemStackSet of(ItemStack... items) {
return new ItemStackSet().with(items);
}
}