From e2c264a82dc10b8e29b08225cd5bc24e689fa332 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 14 Jul 2020 11:19:19 +0800 Subject: Optimised craftable filter and changed some api Signed-off-by: shedaniel --- src/main/java/me/shedaniel/rei/api/EntryStack.java | 50 ++++++++++++++++------ 1 file changed, 36 insertions(+), 14 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/api/EntryStack.java') diff --git a/src/main/java/me/shedaniel/rei/api/EntryStack.java b/src/main/java/me/shedaniel/rei/api/EntryStack.java index a963f4274..972321995 100644 --- a/src/main/java/me/shedaniel/rei/api/EntryStack.java +++ b/src/main/java/me/shedaniel/rei/api/EntryStack.java @@ -50,11 +50,7 @@ import net.minecraft.util.registry.Registry; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.function.Function; import java.util.function.Supplier; @@ -81,20 +77,28 @@ public interface EntryStack extends TextRepresentable { static EntryStack create(ItemStack stack) { return new ItemEntryStack(stack); } - + static EntryStack create(ItemConvertible item) { return create(new ItemStack(item)); } - - static List create(Collection stacks) { + + static List ofItems(Collection stacks) { + List result = new ArrayList<>(stacks.size()); + for (ItemConvertible stack : stacks) { + result.add(create(stack)); + } + return result; + } + + static List ofItemStacks(Collection stacks) { List result = new ArrayList<>(stacks.size()); for (ItemStack stack : stacks) { result.add(create(stack)); } return result; } - - static List create(Ingredient ingredient) { + + static List ofIngredient(Ingredient ingredient) { ItemStack[] matchingStacks = ingredient.getMatchingStacksClient(); List result = new ArrayList<>(matchingStacks.length); for (ItemStack matchingStack : matchingStacks) { @@ -102,15 +106,33 @@ public interface EntryStack extends TextRepresentable { } return result; } - - static List> create(List ingredients) { + + static List> ofIngredients(List ingredients) { List> result = new ArrayList<>(ingredients.size()); for (Ingredient ingredient : ingredients) { - result.add(create(ingredient)); + result.add(ofIngredient(ingredient)); } return result; } - + + @Deprecated + @ApiStatus.ScheduledForRemoval + static List create(Collection stacks) { + return ofItemStacks(stacks); + } + + @Deprecated + @ApiStatus.ScheduledForRemoval + static List create(Ingredient ingredient) { + return ofIngredient(ingredient); + } + + @Deprecated + @ApiStatus.ScheduledForRemoval + static List> create(List ingredients) { + return ofIngredients(ingredients); + } + @ApiStatus.Internal static EntryStack readFromJson(JsonElement jsonElement) { try { -- cgit