2014-04-29 10:54:20 +10:00
|
|
|
package codechicken.nei;
|
|
|
|
|
|
2014-06-29 20:31:37 +10:00
|
|
|
import net.minecraft.block.Block;
|
2014-04-29 10:54:20 +10:00
|
|
|
import net.minecraft.item.Item;
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
|
2023-09-25 00:35:24 +02:00
|
|
|
import codechicken.nei.api.ItemFilter;
|
|
|
|
|
|
2022-06-24 12:32:13 +01:00
|
|
|
public class ItemStackSet extends ItemStackMap<ItemStack> implements ItemFilter {
|
2023-01-28 17:55:51 -08:00
|
|
|
|
2014-06-29 20:31:37 +10:00
|
|
|
public ItemStackSet with(ItemStack... items) {
|
2022-06-24 12:32:13 +01:00
|
|
|
for (ItemStack item : items) add(item);
|
2014-06-29 20:31:37 +10:00
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ItemStackSet with(Item... items) {
|
2022-06-24 12:32:13 +01:00
|
|
|
for (Item item : items) add(ItemStackMap.wildcard(item));
|
2014-06-29 20:31:37 +10:00
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ItemStackSet with(Block... blocks) {
|
2022-06-24 12:32:13 +01:00
|
|
|
for (Block block : blocks) add(ItemStackMap.wildcard(Item.getItemFromBlock(block)));
|
2014-06-29 20:31:37 +10:00
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-29 10:54:20 +10:00
|
|
|
public void add(ItemStack item) {
|
2014-10-01 20:01:10 +10:00
|
|
|
put(item, item);
|
2014-04-29 10:54:20 +10:00
|
|
|
}
|
|
|
|
|
|
2024-11-17 17:31:10 +02:00
|
|
|
public ItemStackSet addAll(Iterable<ItemStack> items) {
|
2024-02-04 14:09:24 +02:00
|
|
|
for (ItemStack item : items) add(item);
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-16 22:12:26 +02:00
|
|
|
public ItemStackSet removeAll(Iterable<ItemStack> items) {
|
|
|
|
|
for (ItemStack item : items) remove(item);
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-29 10:54:20 +10:00
|
|
|
public boolean contains(ItemStack item) {
|
2014-10-01 20:01:10 +10:00
|
|
|
return get(item) != null;
|
2014-04-29 10:54:20 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean containsAll(Item item) {
|
2014-10-01 20:01:10 +10:00
|
|
|
return get(ItemStackMap.wildcard(item)) != null;
|
2014-04-29 10:54:20 +10:00
|
|
|
}
|
2014-06-29 20:31:37 +10:00
|
|
|
|
|
|
|
|
@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);
|
|
|
|
|
}
|
2014-04-29 10:54:20 +10:00
|
|
|
}
|