diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-07-13 22:09:06 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-07-13 22:09:06 +0800 |
| commit | ad005ad366c8238f8592e8595000742fe4d73a2e (patch) | |
| tree | 4014e3ee25a0b3e201923226f9a671315a013218 /src/main/java/me/shedaniel/rei/api/EntryStack.java | |
| parent | f2d6d8525aa74329c6491f57afad6570aec25791 (diff) | |
| parent | 3de9a6a1b94b1fcbc188aed879e381b937cfe65c (diff) | |
| download | RoughlyEnoughItems-ad005ad366c8238f8592e8595000742fe4d73a2e.tar.gz RoughlyEnoughItems-ad005ad366c8238f8592e8595000742fe4d73a2e.tar.bz2 RoughlyEnoughItems-ad005ad366c8238f8592e8595000742fe4d73a2e.zip | |
Merge branch 'pull/378' into 4.x
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/EntryStack.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/EntryStack.java | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/EntryStack.java b/src/main/java/me/shedaniel/rei/api/EntryStack.java index 3f2c3490d..a963f4274 100644 --- a/src/main/java/me/shedaniel/rei/api/EntryStack.java +++ b/src/main/java/me/shedaniel/rei/api/EntryStack.java @@ -32,7 +32,6 @@ import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.impl.EmptyEntryStack; import me.shedaniel.rei.impl.FluidEntryStack; import me.shedaniel.rei.impl.ItemEntryStack; -import me.shedaniel.rei.utils.CollectionUtils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.resource.language.I18n; @@ -43,15 +42,16 @@ import net.minecraft.item.ItemConvertible; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.StringNbtReader; -import net.minecraft.text.LiteralText; +import net.minecraft.recipe.Ingredient; import net.minecraft.text.Text; -import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; 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; @@ -81,11 +81,36 @@ 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<EntryStack> create(Collection<ItemStack> stacks) { + List<EntryStack> result = new ArrayList<>(stacks.size()); + for (ItemStack stack : stacks) { + result.add(create(stack)); + } + return result; + } + + static List<EntryStack> create(Ingredient ingredient) { + ItemStack[] matchingStacks = ingredient.getMatchingStacksClient(); + List<EntryStack> result = new ArrayList<>(matchingStacks.length); + for (ItemStack matchingStack : matchingStacks) { + result.add(create(matchingStack)); + } + return result; + } + + static List<List<EntryStack>> create(List<Ingredient> ingredients) { + List<List<EntryStack>> result = new ArrayList<>(ingredients.size()); + for (Ingredient ingredient : ingredients) { + result.add(create(ingredient)); + } + return result; + } + @ApiStatus.Internal static EntryStack readFromJson(JsonElement jsonElement) { try { |
