Item predicates match item values (notably not Item Stack, meaning no count or NBT). They are used in some contexts where items are present but not item stacks, preventing usage of a standard Item Ingredient.

The following sections discuss supported serializers.

Common Predicates

Item predicates support all common predicate (including tag predicates).

Simple Predicates

The following predicates have no extra fields, and are simply defined by their type:

Since 1.19:

  • tconstruct:can_melt: Matches any item that has a melting recipe.
  • tconstruct:arrow (since 1.19): Matches any item that extends ArrowItem.

Since 1.20:

  • mantle:has_container: Matches any item that has a container item.
  • mantle:may_have_transfer: Matches any item which has a registered fluid transfer recipe. Note it may still lack a transfer due to its NBT.
  • tconstruct:bucket: Matches any item that extends BucketItem.
  • tconstruct:map: Matches any item that extends MapItem.
  • tconstruct:castable: Matches any item that has a casting recipe.

Item Set

The item set predicate matches if the item is within the given set. Item set predicates are effectively a hardcoded item tag predicate, useful when a set is not reusable enough to need a specific tag.

Item set predicates have the following format:

  • (Object): A item predicate object.
    • type (Resource Location): Always mantle:set.
    • items (Array): List of item IDs, matches if any match the input.
      • (Item ID): Item ID option to match.