Class IngredientMatcherItemStack
java.lang.Object
org.cyclops.commoncapabilities.ingredient.IngredientMatcherItemStack
- All Implemented Interfaces:
Comparator<net.minecraft.world.item.ItemStack>,IIngredientMatcher<net.minecraft.world.item.ItemStack,Integer>
public class IngredientMatcherItemStack
extends Object
implements IIngredientMatcher<net.minecraft.world.item.ItemStack,Integer>
Matcher for ItemStacks.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompare(net.minecraft.world.item.ItemStack o1, net.minecraft.world.item.ItemStack o2) intconditionCompare(Integer a, Integer b) Compare two conditions with each other.net.minecraft.world.item.ItemStackcopy(net.minecraft.world.item.ItemStack instance) Create a deep copy of the given instance.net.minecraft.network.chat.MutableComponentgetDisplayName(net.minecraft.world.item.ItemStack instance) Return the display name of the given instance.net.minecraft.world.item.ItemStacklonglonggetQuantity(net.minecraft.world.item.ItemStack instance) Get the quantity in the given instance.booleanhasCondition(Integer matchCondition, Integer searchCondition) Check if the given match condition contains at least the given condition.inthash(net.minecraft.world.item.ItemStack instance) Hash the given instance.booleanisEmpty(net.minecraft.world.item.ItemStack instance) Check if the given entity matches the empty instance, as provided byIIngredientMatcher.getEmptyInstance().booleanisInstance(Object object) If the given object is an instance of the ingredient type.localize(net.minecraft.world.item.ItemStack instance) Return the localized name of the given instance.booleanmatches(net.minecraft.world.item.ItemStack a, net.minecraft.world.item.ItemStack b, Integer matchCondition) Check if the two given instances match based on the given match conditions.toString(net.minecraft.world.item.ItemStack instance) Return a stringified version of the given instance.withCondition(Integer matchCondition, Integer with) Create a new match condition based on the given condition that includes the second condition.withoutCondition(Integer matchCondition, Integer without) Create a new match condition based on the given condition that excludes the second condition.net.minecraft.world.item.ItemStackwithQuantity(net.minecraft.world.item.ItemStack instance, long quantity) Create a copy of the given instance with the given quantity.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongMethods inherited from interface org.cyclops.commoncapabilities.api.ingredient.IIngredientMatcher
matchesExactly
-
Constructor Details
-
IngredientMatcherItemStack
public IngredientMatcherItemStack()
-
-
Method Details
-
isInstance
Description copied from interface:IIngredientMatcherIf the given object is an instance of the ingredient type.- Specified by:
isInstancein interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
object- An object.- Returns:
- If the object is a valid instance of the ingredient component type.
-
getAnyMatchCondition
- Specified by:
getAnyMatchConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Returns:
- The match condition that is used to match any instance based on a prototype.
-
getExactMatchCondition
- Specified by:
getExactMatchConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Returns:
- The match condition that is used to match instances exactly based on a prototype.
-
getExactMatchNoQuantityCondition
- Specified by:
getExactMatchNoQuantityConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Returns:
- The match condition that is used to match instances exactly based on a prototype, excluding the quantity.
-
withCondition
Description copied from interface:IIngredientMatcherCreate a new match condition based on the given condition that includes the second condition.- Specified by:
withConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
matchCondition- The match condition to start from.with- The match condition to include.- Returns:
- A new match condition that is the combination of both.
-
withoutCondition
Description copied from interface:IIngredientMatcherCreate a new match condition based on the given condition that excludes the second condition.- Specified by:
withoutConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
matchCondition- The match condition to start from.without- A match condition to exclude.- Returns:
- A new match condition that is the first one without the second one.
-
hasCondition
Description copied from interface:IIngredientMatcherCheck if the given match condition contains at least the given condition.- Specified by:
hasConditionin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
matchCondition- The match condition to start from.searchCondition- A match condition to search for.- Returns:
- If the first condition contains at least the second condition.
-
matches
public boolean matches(net.minecraft.world.item.ItemStack a, net.minecraft.world.item.ItemStack b, Integer matchCondition) Description copied from interface:IIngredientMatcherCheck if the two given instances match based on the given match conditions.- Specified by:
matchesin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
a- A first instance.b- A second instance.matchCondition- A condition under which the matching should be done.- Returns:
- If the two given instances match under the given conditions.
-
getEmptyInstance
public net.minecraft.world.item.ItemStack getEmptyInstance()- Specified by:
getEmptyInstancein interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Returns:
- The instance that acts as an 'empty' instance. For ItemStacks, this would be ItemStack.EMPTY.
-
isEmpty
public boolean isEmpty(net.minecraft.world.item.ItemStack instance) Description copied from interface:IIngredientMatcherCheck if the given entity matches the empty instance, as provided byIIngredientMatcher.getEmptyInstance().- Specified by:
isEmptyin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- If the instance is empty.
-
hash
public int hash(net.minecraft.world.item.ItemStack instance) Description copied from interface:IIngredientMatcherHash the given instance. This must be calculated quickly.- Specified by:
hashin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- A hashcode for the given instance.
-
copy
public net.minecraft.world.item.ItemStack copy(net.minecraft.world.item.ItemStack instance) Description copied from interface:IIngredientMatcherCreate a deep copy of the given instance.- Specified by:
copyin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- A copy of the given instance.
-
getQuantity
public long getQuantity(net.minecraft.world.item.ItemStack instance) Description copied from interface:IIngredientMatcherGet the quantity in the given instance.- Specified by:
getQuantityin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- The instance quantity.
-
withQuantity
public net.minecraft.world.item.ItemStack withQuantity(net.minecraft.world.item.ItemStack instance, long quantity) Description copied from interface:IIngredientMatcherCreate a copy of the given instance with the given quantity.- Specified by:
withQuantityin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.quantity- The new instance quantity.- Returns:
- The copied instance with the new quantity.
-
getMaximumQuantity
public long getMaximumQuantity()- Specified by:
getMaximumQuantityin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Returns:
- The maximum allowed quantity for instances.
-
conditionCompare
Description copied from interface:IIngredientMatcherCompare two conditions with each other.- Specified by:
conditionComparein interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
a- A first condition.b- A second condition.- Returns:
- The comparison result.
-
localize
Description copied from interface:IIngredientMatcherReturn the localized name of the given instance. This should not include the instance quantity. Should only be called client-side!- Specified by:
localizein interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- The localized name of the given instance.
-
getDisplayName
public net.minecraft.network.chat.MutableComponent getDisplayName(net.minecraft.world.item.ItemStack instance) Description copied from interface:IIngredientMatcherReturn the display name of the given instance. This should not include the instance quantity.- Specified by:
getDisplayNamein interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- The display name of the given instance.
-
toString
Description copied from interface:IIngredientMatcherReturn a stringified version of the given instance. These strings are mainly used for development purposes.- Specified by:
toStringin interfaceIIngredientMatcher<net.minecraft.world.item.ItemStack,Integer> - Parameters:
instance- An instance.- Returns:
- The string version of the given instance.
-
compare
public int compare(net.minecraft.world.item.ItemStack o1, net.minecraft.world.item.ItemStack o2) - Specified by:
comparein interfaceComparator<net.minecraft.world.item.ItemStack>
-