aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/IItemRegisterer.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/IItemRegisterer.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java b/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java
new file mode 100644
index 000000000..f397b15c0
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/IItemRegisterer.java
@@ -0,0 +1,35 @@
+package me.shedaniel.rei.api;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import java.util.List;
+
+public interface IItemRegisterer {
+
+ public List<ItemStack> getItemList();
+
+ @Deprecated
+ public List<ItemStack> getModifiableItemList();
+
+ public ItemStack[] getAllStacksFromItem(Item item);
+
+ public void registerItemStack(Item afterItem, ItemStack stack);
+
+ default public void registerItemStack(Item afterItem, ItemStack... stacks) {
+ for(ItemStack stack : stacks)
+ if (stack != null && !stack.isEmpty())
+ registerItemStack(afterItem, stack);
+ }
+
+ default public void registerItemStack(ItemStack... stacks) {
+ for(ItemStack stack : stacks)
+ if (stack != null && !stack.isEmpty())
+ registerItemStack(null, stack);
+ }
+
+ default boolean alreadyContain(ItemStack stack) {
+ return getItemList().stream().anyMatch(stack1 -> ItemStack.areItemStacksEqual(stack, stack1));
+ }
+
+}