Recipes
Strengthening recipes define target matching, economy cost, star limits, base success rates, required materials, effects, and actions. Recipe files are placed in recipes/*.yml, and the file name is normally used as the recipe id.
Top-level fields
| Field | Description |
|---|---|
id | Unique recipe id. |
display_name | Display name. |
gui_template | GUI template id. |
economy | Economy cost configuration for each attempt. |
limits | Maximum star, temper limit, and chance cap. |
success_rates | Base success chance for each target star. |
match | Rules used to decide which items can use this recipe. |
name_actions | Global name operations applied after success. |
lore_actions | Global lore operations applied after success. |
stars | Per-star material, effect, and action definitions. |
Economy
yaml
economy:
enabled: true
currencies:
- provider: "vault"
currency_id: ""
base_cost: 320
cost_formula: "%base_cost% * %star%"
display_name: "<gold>Coins</gold>"cost_formula can reference variables such as %base_cost% and %star%.
Limits
yaml
limits:
max_star: 12
max_temper: 4
temper_chance_bonus_per_level: 5.0
success_chance_cap: 90.0| Field | Description |
|---|---|
max_star | Maximum reachable star. |
max_temper | Maximum temper level accumulated from failures. |
temper_chance_bonus_per_level | Success chance bonus per temper level. |
success_chance_cap | Upper success chance after all bonuses. |
Match rules
yaml
match:
source_ids:
- "emakiitem-example_item"| Field | Type | Description |
|---|---|---|
source_ids | list | Bind exactly to EmakiItem / ItemSource identifiers. Recommended. |
source_types | list | Match by item source type. |
source_patterns | list | Match by item source pattern. |
slot_groups | list | Coarse slot/equipment type groups (weapon/armor/offhand/generic), not concrete slots such as main_hand or helmet. |
lore_contains | list | Lore contains the given text. |
stats_any | list | Has any of the given attributes. |
Prefer
source_idsfor exact binding so a recipe does not accidentally match every weapon.
Star stage materials
| Field | Type | Default | Description |
|---|---|---|---|
item_sources | list | none | Material item source. |
amount | integer | 1 | Required amount. Use -1 to require possession without consuming. |
optional | boolean | false | Whether the material is optional. |
protection | boolean | false | Prevents a star drop on failure. |
temper_boost | integer | 0 | Extra temper levels supplied for this attempt. |
yaml
materials:
- item_sources:
- "minecraft-copper_ingot"
amount: 3
# Protection material: not consumed, only checked
- item_sources:
- "minecraft-gold_nugget"
amount: -1
optional: true
protection: trueSuccess rates
yaml
success_rates:
1: 100.0
2: 95.0
3: 90.0
4: 80.0
5: 70.0Keys represent the target star, and values are percentages. Temper bonuses are applied after the base rate and are capped by limits.success_chance_cap.
Star example
yaml
stars:
1:
effects:
- type: "variables"
variables:
physical_attack: 4
- type: "lore_action"
lore_actions:
- action: "append"
content:
- "<gray>Physical Damage: <gold>+4</gold></gray>"
materials:
- item_sources:
- "minecraft-copper_ingot"
amount: 1
- item_sources:
- "minecraft-gunpowder"
amount: 2
2:
effects:
- type: "variables"
variables:
physical_attack: 4
- type: "lore_action"
lore_actions:
- action: "replace_line"
anchor: "Physical Damage:"
content:
- "<gray>Physical Damage: <gold>+8</gold></gray>"
materials:
- item_sources:
- "minecraft-copper_ingot"
amount: 1Effect types
| Type | Description |
|---|---|
variables | Expression variables used by lore, name/lore templates, and placeholder context. They do not automatically become Attribute PDC attributes. |
ea_attribute | Explicit EmakiAttribute PDC attribute payload. |
es_skill | EmakiSkills skill attachment; payload uses the es_skills list. |
lore_action | Lore operation. |
name_action | Item name operation. |
Current effect boundaries:
variablesonly provide text, placeholder, and operation-template context.- Real attribute output must be configured explicitly with
type: "ea_attribute"andea_attributes. - Skill attachments use
type: "es_skill", while concrete skill ids are stored in thees_skillslist.
Notes
- Use high success rates for early stars and gradually increase material cost.
- Use protection materials for high-risk levels when item downgrade or destruction is enabled by recipe logic.
- Prefer
replace_linefor repeated stat lines to avoid duplicate lore. - Test old strengthened items after changing recipe ids or match rules.