Recipes

Anywhere you configure items for players in eco plugins, you can use the Item Lookup System to give them a recipe. Because recipes are built on lookups, every modifier works inside them too - stack size, enchantments, names, tags, and more - so a recipe can require a very specific item, not just a material.

This page is the reference for every recipe format across eco plugins. Which of them you can actually use depends on the plugin.

What each plugin supports

RecipeSupported in
Crafting table (shaped and shapeless, with permissions)Every eco plugin
Furnace, blast furnace, smoker, campfireEcoItems and EcoCrafting only
Stonecutter, smithing table, anvil, brewing standEcoItems and EcoCrafting only
Villager trading, grindstoneEcoCrafting only

Crafting table recipes

A recipe is written as a list of 9 strings: the first three are the top row (left to right), the next three the middle row, and the last three the bottom row. "" is an empty slot.

recipe:
  - "diamond"
  - "emerald"
  - "diamond"
  - ""
  - "stick"
  - ""
  - ""
  - "stick"
  - ""

Shapeless recipes

Set shapeless: true and the slot positions stop mattering - only the set of ingredients counts. A shapeless recipe is a flat list and can be shorter than 9:

shapeless: true
recipe:
  - "diamond"
  - "emerald"
  - "diamond"

Permissions

Set a permission node to require it before a player can craft the item:

recipe-permission: myplugin.craft.example_item

Other options

OptionWhat it does
craftable: trueTurns the recipe on - see below.
give-amount: 2How many items one craft gives. EcoItems only.
enabled: falseStops the recipe registering. EcoCrafting only.

craftable

Most eco plugins gate the recipe behind craftable, and won't register it unless you set craftable: true. It sits next to the recipe, so the exact path varies - craftable in Talismans, item.craftable in EcoScrolls, stone.craftable in Reforges, spawn-egg.craftable in EcoPets, shard.craftable in EcoArmor, and so on. Check the plugin's _example.yml.

Setting craftable: false always switches a recipe off.

A complete example

shapeless: true
recipe-permission: myplugin.craft.example_item
recipe:
  - "diamond"
  - "emerald"
  - "diamond"
  - "diamond"
  - "nether_star"
  - "diamond"
  - "netherite_ingot"
  - "gold_ingot"
  - "netherite_ingot"

Other workstations

EcoItems and EcoCrafting only. Pick the workstation with type:, then add that workstation's ingredient keys. Both plugins use the same keys, so a recipe reads the same in either - they differ only in where the config lives and where the result comes from:

EcoItemsEcoCrafting
Where it goesThe item's item.recipes sectionIts own file in recipes/<workstation>/
The resultThe item itselfThe output: key
Permissionpermission:permission:
typeIngredient keysExtra keys
crafting_table (default)recipe (9 slots)shapeless
furnaceinputexperience, cook-time
blast_furnaceinputexperience, cook-time
smokerinputexperience, cook-time
campfireinputexperience, cook-time
stonecutterinput
smithing_tabletemplate, base, addition
anvilbase, material (optional)result-name, repair-cost
brewing_standbase, ingredientbrew-time

Furnace, blast furnace, smoker, and campfire

One input that cooks into the result. experience is the XP dropped when it finishes, and cook-time is how long it takes in ticks. Leave cook-time out to use the vanilla speed for that block: 200 for a furnace, 100 for a blast furnace or smoker, 600 for a campfire.

input: raw_iron
experience: 0.7
cook-time: 200

Stonecutter

One input, cut into the result.

input: stone

Smithing table

All three slots are required: template (left), base (middle), and addition (right).

template: netherite_upgrade_smithing_template
base: diamond_sword
addition: netherite_ingot

Anvil

base goes in the left slot. material is optional - leave it out and the base alone is enough. repair-cost is the level cost in levels.

base: iron_sword
material: diamond
repair-cost: 3

Brewing stand

base is the item in the bottle slots (often an existing potion), and ingredient is what goes in the top slot. brew-time is in ticks.

base: glass_bottle
ingredient: nether_wart
brew-time: 400

EcoCrafting only

EcoCrafting adds two workstations that no other plugin has:

  • Villager trading - inject custom trades into villagers or wandering traders, with a profession, minimum level, appearance chance, and villager XP.

  • Grindstone - a one or two slot grindstone recipe.

It also layers extras onto every recipe type, none of which exist elsewhere: a browsable recipe book GUI with categories, quick-crafting, libreforge effects and conditions, price support, per-player recipe locking and unlocking, give-result-item: false to fire effects instead of giving an item, plus symmetry and vanilla Crafter support on crafting table recipes.

Notes and limitations


Where to go next