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
cracknaming (such asclearcrack); gameplay documentation refers to it consistently as "temper".
Module facts
| Item | Value |
|---|---|
| Module version | 4.6.0 |
| Main command | /emakistrengthen |
| Alias | /estrengthen |
| Hard dependency | EmakiCoreLib |
| Soft dependency | EmakiItem, EmakiAttribute, PlaceholderAPI |
| Main permissions | emakistrengthen.use, emakistrengthen.reload, emakistrengthen.debug, emakistrengthen.admin |
Pages
| Page | Contents |
|---|---|
| Commands | Opening the strengthen GUI, inspecting the held item, refreshing display, setting stars, and giving materials. |
| Recipes | Success rates, material costs, failure penalties, effects, and actions in recipes/*.yml. |
| Process | The full strengthen flow from recipe matching to PDC writes and display refresh. |
| Branch Trees | Strengthen routes per star range and the attributes, skills, and display each route grants. |
| Broadcast | Notifying nearby or all players the first time a star tier is reached. |
| Placeholders | PlaceholderAPI output. |
| CoreLib Actions | Rebuilding and modifying the main-hand strengthen layer. |
| API | Reading state, previewing, and executing strengthening through EmakiStrengthenApi. |
| Event API | Bukkit events and interception points across the strengthen flow. |
| JavaScript | The strengthen script module, chance rules, and result hooks. |
Core concepts
| Concept | Description |
|---|---|
| Strengthen star | Current strengthen tier of the item, such as +1, +2, or +10. |
| Strengthen recipe | Defines which items can be strengthened, required materials, success rate, and results. |
| Material plan | Checks and consumes strengthen materials, protection materials, and temper materials. |
| Temper | A level accumulated on failure that raises later success rates by temper_chance_bonus_per_level. |
| Failure downgrade | When the target star is 6 or higher and no protection material is used, failure drops one star. |
| Protection material | A material with protection: true that prevents a star drop on failure. |
| Branch tree | Forks into different strengthen routes after a configured star. |
| Strengthen layer | Writes to the item's strengthen namespace layer and is rebuilt by CoreLib. |
Default runtime folder
plugins/EmakiStrengthen/
├── config.yml
├── recipes/
│ ├── example_recipe.yml
│ └── example_branch_recipe.yml
├── gui/
│ └── strengthen_gui.yml
└── lang/
├── zh_CN.yml
└── en_US.ymlrecipes/ 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
- Open the strengthen GUI with
/estrengthen open. - Insert target equipment, strengthen materials, and optional protection materials.
- Match an available recipe through the recipe
matchrules. - Check conditions, materials, economy costs, and the current star limit.
- Calculate the success rate: target-star base rate plus temper bonus, clamped to
success_chance_cap. - Fire
StrengthenPreAttemptEvent, allowing external code to adjust the rate or cancel. - Roll the outcome and charge materials and costs.
- On success, raise the star by one, write the strengthen layer, and run that star's
actions.success. - On failure, accumulate temper and possibly drop a star, then run
actions.failure. - 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.