Перейти к содержимому
Mineforgian

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

Загрузки
120
Подписчики
0
Обновлён
29 июня 2026 г.
Лицензия
LGPL-3.0-only

Опубликован 7 апреля 2026 г.

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

Ченджлог

4.4.0Релиз1.21.9, 1.21.10, 1.21.11 · 29 июня 2026 г.

Added

  • Public Bukkit events StrengthenPreAttemptEvent (cancellable, success-rate editable) and StrengthenAttemptEvent.
  • JavaScript extensions for strengthen success-rate rules and result hooks.
  • Config precheck on startup and reload.

Fixed

  • Fixed a crash when opening the strengthen GUI with empty material slots.
  • Fixed suffixed strengthen names flattening localized base item names.

Notes

  • Legacy compatibility fields are consolidated (es_skills, stars); migrate older formats if still in use.
4.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 16 июня 2026 г.

Added

  • Web Console Strengthen route preview.
  • Strengthen layered item preview support.
  • Star-stage name/lore action payloads.
  • Branch star preview data.

Fixed

  • Fixed stage name/lore actions not affecting rebuilt item displays.
  • Fixed Item final preview missing reached Strengthen stage actions.
  • Fixed branch-aware attribute and skill writing.
  • Fixed overly broad example recipe matching.

Refactored

  • StarStage API data.
  • Strengthen recipe parsing and rebuild flow.
  • Web Console route preview registration.

Improved

  • Better recipe selection in Item preview.
  • Clearer route preview for configuration checks.
  • Better final-preview integration with CoreLib and Item.
4.2.0Релиз1.21.9, 1.21.10, 1.21.11 · 5 июня 2026 г.

Strengthen v4.2.0 focuses on cleaner module ownership and better integration with the shared CoreLib toolset.

Highlights

  • Strengthen script module access through emaki.module("strengthen").
  • Strengthen-owned script examples.

Improved

  • Strengthen registers its own Assembly namespace.
  • Shared CoreLib effect/action editor integration in Web Console.
  • CoreLib-aligned bStats, runtime dependency handling, and versioned resource notices.
4.1.0Релиз1.21.9, 1.21.10, 1.21.11 · 2 июня 2026 г.

EmakiStrengthen v4.1.0

Branch tree system, strengthen transfer, Web console, and unified recipe format.


✨ New Features

Strengthen Branch Tree

Equipment can now define multiple upgrade branches instead of a single linear path. Each branch provides unique stat bonuses, giving players meaningful choices at branch points — choose the upgrade direction that fits your playstyle.

Strengthen Transfer

A new transfer service allows you to move strengthen levels from one piece of equipment to another. Preserve your hard-earned upgrades when switching gear.

Web Console Integration

EmakiStrengthen is now accessible through the built-in Web management console, allowing you to edit strengthen recipes and GUI configurations directly in your browser.

Unified Recipe Format

Recipe configuration has been unified into a cleaner success branch format, grouping all results, failure handling, stat bonuses, and lore effects together for better readability.

♻️ Improvements

  • The strengthen GUI has been redesigned for a better user experience.
  • Recipe models have been extracted to the API module for cross-plugin reference.
  • Language files have been fully updated with new translations.
  • Snapshot building and refresh logic has been optimized for better performance.
4.0.0Релиз1.21.9, 1.21.10, 1.21.11 · 11 мая 2026 г.

EmakiStrengthen 4.0.0 Release

This release introduces a branching enhancement system, expression variables, and name/lore actions, significantly expanding enhancement gameplay depth.

New Features

  • Branching Enhancement System: Recipes support branch_tree for tree-based enhancement paths. Players choose different branches at specified star levels (e.g., Sharp → Crit, Heavy → High Damage). Branches can be nested. Paths are recorded as slash-separated strings (e.g., sharp/lethal).
  • Name/Lore Actions: New name_actions / lore_actions fields modify item names and lore on successful enhancement. Star-level effects also support type: "lore_action" for per-star lore control.
  • Expression Variables: Star-level attributes support expressions (e.g., "5 * {star}") for dynamic scaling.
  • PAPI Placeholders: %emakistrengthen_item_max_star%, %emakistrengthen_item_success_rate% (real-time with temper bonus), %emakistrengthen_item_crack_level%.
  • Enhanced Action Context: Success/failure actions now have {strengthen_max_star} and {strengthen_success_rate} placeholders.

Improvements

  • Unified effects list format with type field.
  • Conditions support structured ConditionGroup parsing.
  • Two new comprehensive example files: example_recipe.yml (linear) and example_branch_recipe.yml (branching).
  • Config and language files auto-merge new keys on upgrade.

Breaking Changes

  • statsvariables (supports expressions), attributesea_attributes in star configs.
  • success_actions / failure_actionsactions.success / actions.failure.
  • Material itemitem_sources list format.
  • structured_presentation removed — replaced by name_actions / lore_actions.
  • Skill effect type: "skill""es_skill", skillses_skills.
  • All old built-in recipes removed; replaced by example_recipe.yml and example_branch_recipe.yml.

Upgrade Notes

  • Existing recipes must be migrated to the new format — refer to the new example files.
  • Branching is optional; recipes without branch_tree still work as linear enhancement.
  • Config version updated to 4.0.0.

View Full Documentation | Join Discord Community | QQ Group

3.5.0Релиз1.21.9, 1.21.10, 1.21.11 · 4 мая 2026 г.

EmakiStrengthen 3.5.0 Release

This release improves strengthen recipe parsing and execution stability while aligning with the CoreLib 3.5.0 dependency line.

  • Improved strengthen recipe parsing and field handling.
  • Improved strengthen attempt execution, cost, failure, and result write-back flows.
  • Removed deprecated lifecycle cleanup calls.
  • Updated dependency alignment to CoreLib 3.5.0.
  • Synchronized plugin, config, and language versions to 3.5.0.

Upgrade Notes

  • Existing recipe fields remain compatible.
  • Retest success, failure, material cost, and attribute write-back flows after updating.

View Full Documentation | Join Discord Community | QQ Group

3.4.0Релиз1.21.9, 1.21.10, 1.21.11 · 28 апреля 2026 г.

EmakiStrengthen 3.4.0 Dev Update

This dev update follows CoreLib's PDC attribute API refactor — attribute writing now uses PdcAttributeGateway instead of reflection.

  • PDC attribute writing: StrengthenPdcAttributeWriter now uses PdcAttributeGateway.
  • Structured display text: strengthen snapshots now evaluate display templates through CoreLib text config support.
  • Dynamic presentation support: expressions, nested variables, and random_text can be used in strengthen presentation content.
  • Recipe parser cleanup: parsing moved into StrengthenRecipeParser.

Upgrade Notes

No upgrade notes.

View Full Documentation | Join Discord Community | QQ Group

3.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 25 апреля 2026 г.

EmakiStrengthen 3.3.0

EmakiStrengthen 3.3.0 adds PlaceholderAPI output for the strengthening state of the player's main-hand item. This makes star level, temper, recipe identity, eligibility, and attempt history easier to show in scoreboards, menus, quests, or admin tools.

  • PlaceholderAPI support: %emakistrengthen_mainhand_star%, %emakistrengthen_mainhand_temper%, %emakistrengthen_mainhand_recipe%, %emakistrengthen_mainhand_eligible%, %emakistrengthen_mainhand_success_count%, and %emakistrengthen_mainhand_failure_count% are available when PlaceholderAPI is installed.
  • Current attribute naming: default recipes continue using the current non-EA-prefixed attribute keys.
  • Admin cleanup remains available: /emakistrengthen clearstate can remove the strengthen layer from the held item.
  • Unified version fields: default config and language files use version.
  • Runtime cleanup: GUI-only material handling, interactions, rendering, and attribute write-back received maintenance.

Upgrade Notes

  • Use Java 25.
  • Install PlaceholderAPI if you want the new placeholders.
  • Keep custom recipe attributes on the current naming scheme.
  • Keep player instructions aligned with GUI-only material consumption.

View Full Documentation | Join Discord Community | QQ Group

Комментарии

Загружаем…