EmakiStrengthen | Equipment Star Enhancement & Branch Growth
PluginLGPL-3.0-only

EmakiStrengthen | Equipment Star Enhancement & Branch Growth

Drive equipment from +0 to +N through a fully configurable star-enhancement system: per-star materials and odds, tempering that builds up on failure, protection materials, multiple failure outcomes, nested branch growth, milestone skills, live previews and

111
Downloads
0
Followers
Yesterday
Updated
📦
13
Versions

📖About EmakiStrengthen | Equipment Star Enhancement & Branch Growth

EmakiStrengthen is a GUI-based equipment enhancement module for the Emaki series. Players place a piece of gear and the required materials into the enhancement table, the module rolls the success chance for the target star, and the result is written directly into the equipment's PDC strengthen layer — then rebuilt into the final name and lore by EmakiCoreLib. Every star, every material, every success rate, every failure outcome and every branch is defined in YAML, so you control exactly how deep and how punishing the enhancement curve feels.

Nothing is hard-coded. A single recipe can run from +1 all the way to a configurable maximum star, hand out independent materials and odds at each step, unlock new attributes and skills at milestone stars, fork into multiple growth branches, and broadcast high-star achievements to the whole server. Attribute gains are only real when you declare them explicitly, so display text and real combat stats never drift apart.

Key Highlights

  • Per-star configuration, down to every step — Each star tier defines its own materials, success rate, attribute gains, skills, name/lore changes and success/failure actions. The default recipe ships a complete +1 to +12 curve with materials that scale from 1 copper ingot up to 16, gunpowder from 2 up to 32, plus echo shards and nether ingredients at high stars.
  • Tempering that rewards persistence — Every failed attempt accumulates tempering levels that raise your next success chance (default +5% per level), up to a configurable cap (default 4 levels), with a final success-rate ceiling (default 90%). Specific materials can grant bonus tempering on top.
  • Protection materials — Mark a material as protection and a failure no longer downgrades or destroys the item. The default recipe uses a gold nugget that is only checked, not consumed (amount -1) and fully optional, so players can choose whether to play it safe.
  • Failure is not all-or-nothing — On failure you choose per recipe: keep the current star, downgrade by a configurable number of stars, reset, or destroy the item — each with its own action hooks.
  • Nested branch growth — A recipe can fork at a chosen star into multiple named branches, and branches can fork again. Each branch writes its own attributes, skills and display, and the chosen path is locked into the item state.
  • Milestone attributes and skills — Milestone stars unlock brand-new stat lines and bind skills. The default recipe unlocks crit rate at +5, bonus damage at +8, crit damage at +10, and armor penetration plus an ultimate skill at +12.
  • Live preview before every attempt — The enhancement GUI shows the current success rate, cost and required materials before the player commits.
  • Guaranteed success safety net — An optional guarantee triggers a forced success after a configurable number of consecutive failures, then resets the counter.

Feature Overview

Star system and success rates

  • Star levels run from +1 to a per-recipe maximum (limits.max_star, default 12 in the sample).
  • A global success-rate table acts as the fallback; any recipe can override the rate for each individual star.
  • The default curve: +1 and +2 at 100%, +3 at 95%, +5 at 75%, +7 at 45%, +9 at 22%, +10 at 14%, +11 at 8%, +12 at 4% — a smooth, tunable difficulty ramp.
  • success_chance_cap limits the final rate after tempering bonuses are added (default 90%), so even a heavily tempered attempt keeps a margin of risk.

Per-star stage configuration

  • Every star is its own block with: an optional milestone name, an effects list, required materials, and success/failure actions.
  • Materials are listed per star with item_sources and amount; the default recipe scales material counts at every single star for a real material sink.
  • A material with amount: -1 is only checked for possession, not consumed; combine it with optional: true so players are never forced to hold it.

Five effect types per star

  • variables — expression-engine variables used for lore rendering and templates; they do not write real attributes on their own.
  • ea_attribute — explicitly writes real EmakiAttribute PDC stats (e.g. physical attack, crit rate). Real combat power only comes from this, so display and reality never silently diverge.
  • es_skill — binds an EmakiSkills skill at that star (the sample binds a crit passive at +5 and an ultimate at +12).
  • lore_action — edits the item lore.
  • name_action — edits the item name.

Tempering (forge marks)

  • Failed attempts build tempering levels that raise the next success chance by a configurable amount per level.
  • max_temper caps how high tempering can stack; success_chance_cap caps the final boosted rate.
  • A temper_boost material can add extra tempering levels when inserted (the sample uses a potion at +12).
  • A %temper_color% placeholder turns the tempering line red when above zero and green otherwise, for instant visual feedback in lore.

Lore and name growth strategy

  • At +1 the recipe appends a fresh stat line; from +2 onward it uses replace_line with an anchor to update the existing number — so each stat always has exactly one lore line no matter how high the star.
  • Milestone stars first update existing lines, then append a brand-new stat line as a new attribute unlocks.
  • A global name_actions appends a [+star] suffix, and global lore_actions prepend a gradient enhancement-level line plus a tempering line on every success.
  • Full MiniMessage support, including gradients, for polished display.

Failure outcomes and protection

  • Result branches: success (star +1, resets the guarantee counter, may trigger a milestone), keep, downgrade by N, destroy, protected (protection material converts the penalty into a keep).
  • Each outcome has its own action hook (actions.success, actions.failure_keep, actions.failure_downgrade, actions.failure_destroy, actions.protected, actions.guarantee).
  • The guarantee mechanic forces a success after a configured streak of failures.

Branch growth tree

  • fork_after_star opens a branch-selection prompt after a chosen star (-1 disables forking).
  • Branches can nest: the shipped example forks at one tier into sharp/heavy paths, and the sharp path forks again into lethal/swift.
  • Each branch carries its own display_name, its own stars, and its own children, writing different attributes, skills and display along the way.
  • The chosen branch path is saved into the item's strengthen state and cannot be changed afterward, giving each piece a permanent identity.
  • The default branches reach a dedicated ultimate skill at their final star.

Match rules

  • source_ids precisely binds the recipe to specific EmakiItem / ItemSource ids (recommended).
  • slot_groups matches coarse equipment groups (weapon / armor / offhand / generic).
  • lore_contains matches by lore text, and stats_any matches items that already carry given attributes.

Broadcasts and milestones

  • Milestone flags record the first time each star is reached, so achievement broadcasts and integrations never fire twice for the same item.
  • Local broadcasts (configurable star threshold, within a configurable radius) and global broadcasts (configurable star threshold) announce high-star successes.
  • Broadcast messages support %player%, %star%, %item% and %recipe% variables.

Economy

  • Per-recipe economy with multiple currencies, each with a provider (e.g. Vault), a base cost and a cost formula (the sample uses base_cost * star, so each star costs more).

Preview, transfer and runtime tools

  • The GUI preview slot shows success rate, cost and required materials live, before committing.
  • A runtime strengthen-transfer service can migrate an item's enhancement state (stars / tempering / branch / milestones) onto another item.
  • After editing recipes, reload and verify with a test item: success, failure, protection, star writing and attribute writing.

Layered display with the Emaki suite

  • Strengthen data is written into the item's strengthen namespace layer and stacks on top of the forge layer instead of overwriting it.
  • EmakiCoreLib's assembly system rebuilds the final name and lore from all layers.
  • With EmakiAttribute installed, each star can contribute real PDC attributes that feed live combat calculation rather than just lore text.

JavaScript extension

  • A strengthen script module exposes a chance-rule hook (registerChanceRule) that can adjust the success rate, post-failure star, post-failure tempering and protection, with priority-ordered stacking and a final 0–100 clamp.
  • A result hook (onResult) runs after resolution for rewards or broadcasts.
  • A sample script demonstrates a VIP +2.5% success-rate rule.

Public API

  • Read star level, check whether an item can be enhanced, perform enhancement, rebuild display, and listen to success / failure / downgrade / protected events.
  • A StrengthenResult returns the new item to replace the original; enhancement runs on the main thread.

Commands

Command Description
/estrengthen help Show help
/estrengthen open Open the enhancement GUI
/estrengthen reload Reload recipes, GUI, language and runtime resources
/estrengthen inspect [player] Inspect the held item's strengthen layer and matching recipe
/estrengthen refresh [player] Refresh the held item's display
/estrengthen setstar <star> [recipe] Set the held item's star level
/estrengthen clearstate Clear the held item's strengthen layer
/estrengthen clearcrack Clear the held item's tempering
/estrengthen givecatalyst <material> [amount] [player] Give enhancement materials
/estrengthen debug <status|player|module|all> Runtime debug info

Main command /emakistrengthen, alias /estrengthen.

Permissions

  • emakistrengthen.use — use the enhancement GUI and basic commands (default: true)
  • emakistrengthen.reload — reload configuration (default: op)
  • emakistrengthen.debug — debug commands (default: op)
  • emakistrengthen.admin — administrative commands (set star, clear state, give catalyst, etc.; default: op)

PlaceholderAPI

Expansion identifier emakistrengthen (reads the main-hand item):

  • %emakistrengthen_mainhand_star% — current star
  • %emakistrengthen_mainhand_temper% — current tempering level
  • %emakistrengthen_mainhand_crack_level% — tempering (legacy field name)
  • %emakistrengthen_mainhand_max_star% — recipe maximum star
  • %emakistrengthen_mainhand_recipe% — matched recipe id
  • %emakistrengthen_mainhand_eligible% — whether the item can be enhanced
  • %emakistrengthen_mainhand_success_rate% — current success rate
  • %emakistrengthen_mainhand_success_count% / %emakistrengthen_mainhand_failure_count% — success / failure counters

Compatibility & Dependencies

Item Details
Java 25
Bukkit API 1.21
Server Spigot / Paper and downstream forks
Folia Supported
Required EmakiCoreLib
Optional EmakiAttribute, PlaceholderAPI

Installation & Quick Start

  1. Install EmakiCoreLib.jar first (required dependency).
  2. Place EmakiStrengthen.jar into plugins/.
  3. Start the server to generate the default recipe, GUI, language and config.
  4. Bind a recipe to your items via match.source_ids, adjust stars / materials / odds / branches, then /estrengthen reload.
  5. Test on a real item: success, failure, protection, tempering, star writing and attribute writing.

Links