aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/RecipeDisplay.java
diff options
context:
space:
mode:
authorDanielshe <shekwancheung0528@gmail.com>2019-11-03 14:44:52 +0800
committerDanielshe <shekwancheung0528@gmail.com>2019-11-03 14:44:59 +0800
commit9f5a9eae9a7863412cc5eb433bf15e5ee71da616 (patch)
tree0e6b0b94af061c5e9023b1ff19f339a6c30149be /src/main/java/me/shedaniel/rei/api/RecipeDisplay.java
parent3e3e25855b9f6df507a7d4c8a07c64b9a502fae2 (diff)
downloadRoughlyEnoughItems-9f5a9eae9a7863412cc5eb433bf15e5ee71da616.tar.gz
RoughlyEnoughItems-9f5a9eae9a7863412cc5eb433bf15e5ee71da616.tar.bz2
RoughlyEnoughItems-9f5a9eae9a7863412cc5eb433bf15e5ee71da616.zip
3.2.1
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/RecipeDisplay.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeDisplay.java68
1 files changed, 64 insertions, 4 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeDisplay.java b/src/main/java/me/shedaniel/rei/api/RecipeDisplay.java
index 693712fc6..dd563f01a 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeDisplay.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeDisplay.java
@@ -5,10 +5,12 @@
package me.shedaniel.rei.api;
-import com.google.common.collect.Lists;
+import me.shedaniel.rei.api.annotations.ToBeRemoved;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -16,21 +18,79 @@ public interface RecipeDisplay {
/**
* @return a list of items
+ * @see RecipeDisplay#getInputStacks()
*/
- List<List<ItemStack>> getInput();
+ @ToBeRemoved
+ @Deprecated
+ default List<List<ItemStack>> getInput() {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @return a list of inputs
+ */
+ default List<List<EntryStack>> getInputEntries() {
+ List<List<ItemStack>> input = getInput();
+ if (input.isEmpty())
+ return Collections.emptyList();
+ List<List<EntryStack>> list = new ArrayList<>();
+ for (List<ItemStack> stacks : input) {
+ List<EntryStack> entries = new ArrayList<>();
+ for (ItemStack stack : stacks) {
+ entries.add(EntryStack.create(stack));
+ }
+ list.add(entries);
+ }
+ return list;
+ }
/**
* @return a list of outputs
*/
- List<ItemStack> getOutput();
+ @ToBeRemoved
+ @Deprecated
+ default List<ItemStack> getOutput() {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @return a list of outputs
+ */
+ default List<EntryStack> getOutputEntries() {
+ List<ItemStack> input = getOutput();
+ if (input.isEmpty())
+ return Collections.emptyList();
+ List<EntryStack> entries = new ArrayList<>();
+ for (ItemStack stack : input) {
+ entries.add(EntryStack.create(stack));
+ }
+ return entries;
+ }
/**
* Gets the required items used in craftable filters
*
* @return the list of required items
*/
+ default List<List<EntryStack>> getRequiredEntries() {
+ List<List<ItemStack>> input = getRequiredItems();
+ if (input.isEmpty())
+ return Collections.emptyList();
+ List<List<EntryStack>> list = new ArrayList<>();
+ for (List<ItemStack> stacks : input) {
+ List<EntryStack> entries = new ArrayList<>();
+ for (ItemStack stack : stacks) {
+ entries.add(EntryStack.create(stack));
+ }
+ list.add(entries);
+ }
+ return list;
+ }
+
+ @ToBeRemoved
+ @Deprecated
default List<List<ItemStack>> getRequiredItems() {
- return Lists.newArrayList();
+ return Collections.emptyList();
}
/**