Skip to content

Blueprints and Materials

Forge recipes use blueprint requirements and material entries. Materials can consume item sources, occupy forge capacity, contribute variables, write Attribute payloads, attach Skills, and modify name or lore.

Blueprint requirements

yaml
blueprint_requirements:
  - item_sources:
      - "minecraft-enchanted_book"
    amount: 1
FieldDescription
item_sourcesRequired blueprint item sources.
amountRequired amount.

Blueprint requirements are checked before forging. They are suitable for recipe scrolls, unlock items, or profession certificates.

Material list

yaml
materials:
  - item_sources:
      - "minecraft-iron_ingot"
    amount: 3
    capacity_cost: 5
    effects:
      - type: "variables"
        variables:
          physical_damage: 5
      - type: "ea_attribute"
        ea_attributes:
          physical_attack: 5.0
  - item_sources:
      - "minecraft-fire_charge"
    amount: 1
    optional: true
    capacity_cost: 12
    effects:
      - type: "variables"
        variables:
          fire_damage: 12
FieldDescription
item_sourcesItem sources matched as this material.
amountRequired amount.
capacity_costForge capacity occupied by this material.
optionalWhether this material is optional.
effectsEffects contributed by this material.

Capacity

yaml
forge_capacity: 35
optional_material_limit: 3

forge_capacity limits the total material capacity cost. optional_material_limit limits how many optional material types can be used in one forge.

Effect types

TypeDescription
variablesContribute text/template variable values. They do not automatically write Attribute PDC.
ea_attributeWrite explicit EmakiAttribute PDC attributes.
es_skillAttach EmakiSkills skills; payload uses the es_skills list.
name_actionExecute name operations on the result item.
lore_actionExecute lore operations on the result item.
quality_modifyForce or raise the minimum quality tier. Use tier for the target quality id.
capacity_bonusIncrease forge capacity limit. Use value for the capacity bonus.

Name action example

yaml
effects:
  - type: "name_action"
    name_actions:
      - action: "prepend_prefix"
        value: "<red>Flame </red>"
      - action: "append_suffix"
        value: " <gray>[Forged]</gray>"

Design notes

  • Use stable item_sources instead of display names.
  • Assign capacity costs according to material value.
  • Keep optional material count limited so players cannot stack too many effects.
  • Use variables for presentation and template context; use ea_attribute for real Attribute integration.
  • Current examples should use es_skills as a list, not the old single es_skill form.
  • Current Forge configs should not rely on ea_attribute_meta.
  • Current quality_modify uses tier; current capacity_bonus uses value.