public class StackHelper extends java.lang.Object implements IStackHelper
Modifier and Type | Class and Description |
---|---|
static class |
StackHelper.MatchingItemsResult |
static class |
StackHelper.UidMode |
Constructor and Description |
---|
StackHelper(ISubtypeRegistry subtypeRegistry) |
Modifier and Type | Method and Description |
---|---|
net.minecraft.item.ItemStack |
containsAnyStack(java.lang.Iterable<net.minecraft.item.ItemStack> stacks,
java.lang.Iterable<net.minecraft.item.ItemStack> contains)
Returns an ItemStack from 'stacks' that matches any of the ItemStacks in 'contains'.
|
java.lang.Integer |
containsAnyStackIndexed(java.util.Map<java.lang.Integer,net.minecraft.item.ItemStack> stacks,
java.lang.Iterable<net.minecraft.item.ItemStack> contains) |
boolean |
containsSameStacks(java.util.Collection<net.minecraft.item.ItemStack> stacks,
java.util.Collection<net.minecraft.item.ItemStack> contains) |
<R> boolean |
containsSameStacks(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks,
java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> contains)
Returns true if all stacks from "contains" are found in "stacks" and the opposite is true as well.
|
net.minecraft.item.ItemStack |
containsStack(java.lang.Iterable<net.minecraft.item.ItemStack> stacks,
net.minecraft.item.ItemStack contains) |
<R> R |
containsStack(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks,
mezz.jei.util.StackHelper.ItemStackMatchable<?> contains) |
<R,T> R |
containsStackMatchable(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks,
java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<T>> contains) |
void |
disableUidCache() |
void |
enableUidCache() |
java.util.List<java.util.List<net.minecraft.item.ItemStack>> |
expandRecipeItemStackInputs(java.util.List inputs)
Expands ItemStacks, OreDict Strings, and Iterables into a list of lists of ItemStacks.
|
java.util.List<java.util.List<net.minecraft.item.ItemStack>> |
expandRecipeItemStackInputs(java.util.List inputs,
boolean expandSubtypes) |
java.util.List<net.minecraft.item.ItemStack> |
getAllSubtypes(java.lang.Iterable stacks)
Expands an Iterable, which may contain ItemStacks or more Iterables, and
returns all the subtypes of itemStacks if they have wildcard meta value.
|
StackHelper.MatchingItemsResult |
getMatchingItems(java.util.Map<java.lang.Integer,net.minecraft.item.ItemStack> availableItemStacks,
java.util.Map<java.lang.Integer,? extends IGuiIngredient<net.minecraft.item.ItemStack>> ingredientsMap)
Returns a list of items in slots that complete the recipe defined by requiredStacksList.
|
java.lang.String |
getOreDictEquivalent(java.util.Collection<net.minecraft.item.ItemStack> itemStacks) |
java.util.List<net.minecraft.item.ItemStack> |
getSubtypes(net.minecraft.item.Item item,
int stackSize) |
java.util.List<net.minecraft.item.ItemStack> |
getSubtypes(net.minecraft.item.ItemStack itemStack)
Returns all the subtypes of itemStack if it has a wildcard meta value.
|
java.lang.String |
getUniqueIdentifierForStack(net.minecraft.item.ItemStack stack) |
java.lang.String |
getUniqueIdentifierForStack(net.minecraft.item.ItemStack stack,
StackHelper.UidMode mode) |
boolean |
isEquivalent(net.minecraft.item.ItemStack lhs,
net.minecraft.item.ItemStack rhs)
Similar to ItemStack.areItemStacksEqual but ignores NBT on items without subtypes, and uses the
ISubtypeRegistry |
java.util.List<net.minecraft.item.ItemStack> |
toItemStackList(java.lang.Object stacks)
Flattens ItemStacks, OreDict Strings, and Iterables into a list of ItemStacks.
|
java.util.List<net.minecraft.item.ItemStack> |
toItemStackList(java.lang.Object stacks,
boolean expandSubtypes) |
public StackHelper(ISubtypeRegistry subtypeRegistry)
public void enableUidCache()
public void disableUidCache()
@Nullable public java.lang.String getOreDictEquivalent(java.util.Collection<net.minecraft.item.ItemStack> itemStacks)
public StackHelper.MatchingItemsResult getMatchingItems(java.util.Map<java.lang.Integer,net.minecraft.item.ItemStack> availableItemStacks, java.util.Map<java.lang.Integer,? extends IGuiIngredient<net.minecraft.item.ItemStack>> ingredientsMap)
public boolean containsSameStacks(java.util.Collection<net.minecraft.item.ItemStack> stacks, java.util.Collection<net.minecraft.item.ItemStack> contains)
public <R> boolean containsSameStacks(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks, java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> contains)
@Nullable public java.lang.Integer containsAnyStackIndexed(java.util.Map<java.lang.Integer,net.minecraft.item.ItemStack> stacks, java.lang.Iterable<net.minecraft.item.ItemStack> contains)
@Nullable public net.minecraft.item.ItemStack containsStack(java.lang.Iterable<net.minecraft.item.ItemStack> stacks, net.minecraft.item.ItemStack contains)
@Nullable public net.minecraft.item.ItemStack containsAnyStack(java.lang.Iterable<net.minecraft.item.ItemStack> stacks, java.lang.Iterable<net.minecraft.item.ItemStack> contains)
IStackHelper
containsAnyStack
in interface IStackHelper
@Nullable public <R,T> R containsStackMatchable(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks, java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<T>> contains)
@Nullable public <R> R containsStack(java.lang.Iterable<mezz.jei.util.StackHelper.ItemStackMatchable<R>> stacks, mezz.jei.util.StackHelper.ItemStackMatchable<?> contains)
public boolean isEquivalent(@Nullable net.minecraft.item.ItemStack lhs, @Nullable net.minecraft.item.ItemStack rhs)
ISubtypeRegistry
isEquivalent
in interface IStackHelper
public java.util.List<net.minecraft.item.ItemStack> getSubtypes(@Nullable net.minecraft.item.ItemStack itemStack)
IStackHelper
getSubtypes
in interface IStackHelper
public java.util.List<net.minecraft.item.ItemStack> getSubtypes(net.minecraft.item.Item item, int stackSize)
public java.util.List<net.minecraft.item.ItemStack> getAllSubtypes(@Nullable java.lang.Iterable stacks)
IStackHelper
getAllSubtypes
in interface IStackHelper
public java.util.List<java.util.List<net.minecraft.item.ItemStack>> expandRecipeItemStackInputs(@Nullable java.util.List inputs)
IStackHelper
expandRecipeItemStackInputs
in interface IStackHelper
public java.util.List<java.util.List<net.minecraft.item.ItemStack>> expandRecipeItemStackInputs(java.util.List inputs, boolean expandSubtypes)
public java.util.List<net.minecraft.item.ItemStack> toItemStackList(@Nullable java.lang.Object stacks)
IStackHelper
toItemStackList
in interface IStackHelper
public java.util.List<net.minecraft.item.ItemStack> toItemStackList(java.lang.Object stacks, boolean expandSubtypes)
public java.lang.String getUniqueIdentifierForStack(net.minecraft.item.ItemStack stack)
public java.lang.String getUniqueIdentifierForStack(net.minecraft.item.ItemStack stack, StackHelper.UidMode mode)