Skip to main content

Ingredient Types

Ingredients define what a recipe needs before it can craft.

Each ingredient is configured under the recipe ingredients section.

ingredients:
apple:
type: item
material: APPLE

Common fields

Many ingredients support extra behavior such as consume, animation, and strategy.

ingredients:
catalyst:
type: item
material: NETHER_STAR
consume: true
animation:
type: particle
duration: 40
speed: 3
strategy:
type: sequential
FieldDescription
typeIngredient type.
consumeWhether the ingredient is removed or spent when the recipe crafts.
animationOptional consume animation for this ingredient only.
strategyOptional consume strategy for this ingredient only.

Not every ingredient needs all of these fields. Use the minimal configuration first.

item

Requires a vanilla Minecraft item.

ingredients:
iron:
type: item
material: IRON_INGOT

Supported checks include:

FieldDescription
materialBukkit material name.
modelCustom model data.
displayNameDisplay name check.
enchantmentsRequired enchantments.
hasPersistent data check.

Use repeated ingredient entries when a recipe should require multiple items of the same material.

saveditem or customitem

Requires an item saved through Structory.

ingredients:
key:
type: saveditem
key: ritual_key

Save items with:

/structory item save ritual_key

This is the safest method for custom items that have NBT, names, lore, enchantments, or plugin metadata.

experience

Requires player experience.

ingredients:
xp:
type: experience
level: 10
consume: true

Common fields:

FieldDescription
levelRequired player level.
experienceRequired experience amount.
totalIf enabled, checks total experience instead of current progress.
consumeWhether experience is removed when the recipe crafts.

vault

Requires money through Vault.

ingredients:
money:
type: vault
operator: ">="
value: 500
consume: true

Recommended operators:

  • >=
  • >
  • <=
  • <

Avoid relying on equality checks for economy requirements. Economy balances often use decimals and may behave unexpectedly.

coinsengine

Requires CoinsEngine currency.

ingredients:
coins:
type: coinsengine
currency: coins
operator: ">="
value: 250
consume: true

CoinsEngine must be installed and enabled.

entity

Checks for living entities near the structure.

ingredients:
nearby_zombie:
type: entity
range: 6
amount: 1
consume: false
check:
type: type
entity: ZOMBIE

Use entity when the recipe should require mobs or entities near the structure at crafting time.

This can work with normal interact recipes.

killedentity

Checks the entity that just died.

ingredients:
kill:
type: killedentity
entities:
- ZOMBIE
- SKELETON

This ingredient requires the recipe to use the entity-death listener.

listeners:
- entity-death

Use it for sacrifice altars, mob-kill rituals, or recipes that should craft only after a player kills a specific entity near the structure.

bag

Requires a shaped bag layout.

ingredients:
bag:
type: bag
bag: default
consume: true
ingredients:
A: DIAMOND
B: GOLD_INGOT

Bag ingredients are used with the bag option on the structure. They are useful when the structure itself has a block layout or input grid that represents ingredients.

unorderedbag

Requires a bag containing materials without a strict order.

ingredients:
bag:
type: unorderedbag
bag: default
consume: true
ingredients:
A: DIAMOND
B: GOLD_INGOT

Use this when the player should provide the required materials, but their exact positions are not important.

Dependency item ingredients

Structory can also check custom items from supported plugins.

PluginRecommended type aliases
CraftEnginecraftengine, ceitem
Oraxenoraxen
Nexonexo, nitem
MMOItemsmmoitems, mmoitem, mitem
ItemsAdderitemsadder, iaitem
EcoItemsecoitems, eitem
ExecutableItemsexecutableitems, executableitemsitem, exitem, exitems

Example:

ingredients:
custom_item:
type: oraxen
key: ruby

Only use these types if the related plugin is installed and enabled.

Choosing the right ingredient

GoalRecommended ingredient
Require a vanilla item.item
Require a complex custom item.saveditem
Require player XP.experience
Require money.vault or coinsengine
Require a nearby living mob.entity
Require killing a mob near the structure.killedentity with entity-death
Require a custom plugin item.The dependency-specific item type
Require block/grid input.bag or unorderedbag