Skip to content

EmakiStrengthen

EmakiStrengthen provides star-based equipment strengthening, temper state, protection materials, branch trees, attribute output, strengthen layer rebuilding, and a public API.

Some commands still use the historical crack naming (such as clearcrack); gameplay documentation refers to it consistently as "temper".

Module facts

ItemValue
Module version4.6.0
Main command/emakistrengthen
Alias/estrengthen
Hard dependencyEmakiCoreLib
Soft dependencyEmakiItem, EmakiAttribute, PlaceholderAPI
Main permissionsemakistrengthen.use, emakistrengthen.reload, emakistrengthen.debug, emakistrengthen.admin

Pages

PageContents
CommandsOpening the strengthen GUI, inspecting the held item, refreshing display, setting stars, and giving materials.
RecipesSuccess rates, material costs, failure penalties, effects, and actions in recipes/*.yml.
ProcessThe full strengthen flow from recipe matching to PDC writes and display refresh.
Branch TreesStrengthen routes per star range and the attributes, skills, and display each route grants.
BroadcastNotifying nearby or all players the first time a star tier is reached.
PlaceholdersPlaceholderAPI output.
CoreLib ActionsRebuilding and modifying the main-hand strengthen layer.
APIReading state, previewing, and executing strengthening through EmakiStrengthenApi.
Event APIBukkit events and interception points across the strengthen flow.
JavaScriptThe strengthen script module, chance rules, and result hooks.

Core concepts

ConceptDescription
Strengthen starCurrent strengthen tier of the item, such as +1, +2, or +10.
Strengthen recipeDefines which items can be strengthened, required materials, success rate, and results.
Material planChecks and consumes strengthen materials, protection materials, and temper materials.
TemperA level accumulated on failure that raises later success rates by temper_chance_bonus_per_level.
Failure downgradeWhen the target star is 6 or higher and no protection material is used, failure drops one star.
Protection materialA material with protection: true that prevents a star drop on failure.
Branch treeForks into different strengthen routes after a configured star.
Strengthen layerWrites to the item's strengthen namespace layer and is rebuilt by CoreLib.

Default runtime folder

text
plugins/EmakiStrengthen/
├── config.yml
├── recipes/
│   ├── example_recipe.yml
│   └── example_branch_recipe.yml
├── gui/
│   └── strengthen_gui.yml
└── lang/
    ├── zh_CN.yml
    └── en_US.yml

recipes/ defines the strengthen rules for different items; gui/strengthen_gui.yml defines the layout of the strengthen interface. The bundled example script is released by CoreLib to plugins/EmakiCoreLib/scripts/examples/strengthen_success.js.

Typical strengthen flow

  1. Open the strengthen GUI with /estrengthen open.
  2. Insert target equipment, strengthen materials, and optional protection materials.
  3. Match an available recipe through the recipe match rules.
  4. Check conditions, materials, economy costs, and the current star limit.
  5. Calculate the success rate: target-star base rate plus temper bonus, clamped to success_chance_cap.
  6. Fire StrengthenPreAttemptEvent, allowing external code to adjust the rate or cancel.
  7. Roll the outcome and charge materials and costs.
  8. On success, raise the star by one, write the strengthen layer, and run that star's actions.success.
  9. On failure, accumulate temper and possibly drop a star, then run actions.failure.
  10. CoreLib rebuilds the item presentation; reaching a broadcast star for the first time sends a local or global broadcast.

Relation with Attribute

Strengthen can run as a display-and-progression system only. With ea_attribute effects configured and EmakiAttribute installed, each star can contribute real stats: attributes are written through the EmakiAttribute authoritative API into a structured PDC layer and participate in real combat calculation.

When EmakiAttribute is absent, Strengthen takes a no-op path: strengthening still completes but no attributes are written.

Relation with Item

With EmakiItem installed, Strengthen registers an item layer preview provider through EmakiItemApi from its conditionally loaded integration package, letting EmakiItem preview strengthen layer content. When EmakiItem is absent or disabled, that registration is skipped or released automatically without affecting strengthening.