EmakiStrengthen | Star-Progression & Branching

Star upgrades, branching paths, pity compensation, protection materials — strategic and exciting equipment growth.

53

EmakiStrengthen | Star-Progression & Branching

EmakiStrengthen provides two independent enhancement systems for equipment: star strengthening and branch strengthening. Star strengthening is the classic incremental upgrade with diminishing success rates creating risk-reward tension. Branch strengthening offers tree-shaped route selection, letting players customize their equipment growth direction based on playstyle.

Core Features

Star Strengthening System

Classic equipment enhancement gameplay where each attempt increases one star level with diminishing success rates:

Default Success Rate Curve:

| Target Star | Base Success Rate | | ----------- | ----------------- | | +1 | 100% | | +2 | 100% | | +3 | 95% | | +4 | 85% | | +5 | 75% | | +6 | 60% | | +7 | 45% | | +8 | 32% | | +9 | 22% | | +10 | 14% | | +11 | 8% | | +12 | 4% |

Each recipe can override global rates with its own curve. Actual success rate = base rate + pity bonus, capped at `success_chance_cap` (default 90%).

Shatter - Shatter — Star level unchanged, pity accumulates - Shatter — Star level drops by 1, pity accumulates - Shatter — Equipment is damaged (requires repair)

Economy Cost: - Supports Vault economy system - Cost formula supports `{base_cost}` and `{star}` variables - Example: `{base_cost} * {star}` means cost scales linearly with star level

Branch Strengthening System

Tree-shaped route selection allowing the same equipment to grow in completely different directions:

Branch Tree Structure: - `branch_id` — Branch identifier (root node uses "root") - `display_name` — Branch display name for GUI selection - `fork_after_star` — Star level after which the fork choice appears (-1 = no fork) - `stars` — Star stage definitions within this branch - `children` — Child branch list

Fork Mechanism:

When a player completes the specified star level, the system presents a branch selection GUI. The player must choose a route to continue. Example: - root (★1-4) → fork_after_star: 4 → Choose Sharp/Heavy route - sharp (★5-7) → fork_after_star: 7 → Choose Lethal/Swift route

Path Recording:

Selected branch paths are stored in item PDC (e.g., "sharp/lethal") for: - Determining subsequent star configurations - Visual display in GUI showing the chosen route - Correct attribute rebuilding on refresh

Multi-Layer Nesting:

Branches can nest infinitely — a branch can fork again internally. This enables complex skill-tree-style growth routes, such as: - Base route → Physical/Magic fork - Physical route → Crit/Heavy/Penetration fork - Each ultimate route unlocks a unique skill

Pity Compensation (Forging Marks)

The Temper system ensures every failure contributes toward eventual success:

Accumulation Rules: - Each failed enhancement increases temper level by 1 - On success, temper resets to 0 - Temper has a maximum level (`max_temper`, default 4)

Compensation Formula: - Each temper level provides fixed success rate bonus (`temper_chance_bonus_per_level`, default 5%) - Actual rate = base rate + (temper level × bonus per level) - Final rate capped at `success_chance_cap` (default 90%)

Example Calculations: - +8 base rate 32%, temper 3: actual = 32% + 3×5% = 47% - +10 base rate 14%, temper 4 (max): actual = 14% + 4×5% = 34%

Temper Boost Materials:

Special materials with `temper_boost` can provide extra temper levels when placed in the GUI, adding strategic depth to high-star attempts.

Protection Materials

Safety nets for high-risk enhancement attempts:

Anti-Downgrade Materials: - Materials with `protection: true` - Consumed on failure to prevent star loss - Not consumed on success - Amount set to -1 means detection-only (not consumed)

Anti-Shatter Materials: - Prevent equipment destruction on high-star failures - Shattered equipment requires additional repair processes

Usage Strategy: - Low stars (+1 to +5): High success rates, protection usually unnecessary - Mid stars (+6 to +8): Worth using anti-downgrade materials - High stars (+9+): Strongly recommended to use protection

Name/Lore Action System

Six action types for modifying equipment appearance on successful enhancement:

| Action Type | Description | Example Use | | ---------------- | ---------------------------------------- | --------------------------------- | | `append_suffix` | Append text to end of item name | Add `[+5]` star marker | | `prepend_prefix` | Prepend text to beginning of item name | Add route marker | | `prepend` | Insert lines at top of lore | Show enhancement level and temper | | `append` | Append lines at bottom of lore | First-time attribute addition | | `insert_below` | Insert lines below a matched anchor line | Insert new attributes at position | | `replace_line` | Replace the entire matched anchor line | Update existing attribute values |

Lore Operation Strategy: - ★1 uses `append` to add attribute lines for the first time - ★2+ uses `replace_line` with anchor matching to update existing values - Milestone stars use `append` to add new attribute lines - This ensures each attribute always has exactly one lore line regardless of star level

All modifications built on CoreLib's Ledger system, fully reversible.

Expression Variables

Attribute values dynamically calculated with `{star}` as the core variable:

Available Variables: - `{star}` — Current star level - `{temper}` / `{max_temper}` — Current/max temper level - `{temper_color}` — Auto-colored code based on temper level - `{base_cost}` — Economy base cost

Dynamic Calculation: - Cost formula: `{base_cost} * {star}` → cost increases with star level - Attributes can be defined independently per star or use accumulated values

Milestone Broadcasts

Server-wide announcements when reaching specific star levels:

Local Broadcast: - Sent to nearby players within configured radius (default 48 blocks) - Default trigger at +8 - Suitable for mid-tier achievement notifications

Global Broadcast: - Sent to all online players - Default triggers at +10 and +12 (max star) - Suitable for major achievement celebrations

Custom Format: - Messages support MiniMessage format - Supports `{player}`, `{star}`, `{show_item}` placeholders - `{show_item}` displays item hover tooltip in chat

Effect System

Each star level can provide multiple effect types:

| Effect Type | Description | | -------------- | ------------------------------------------------------------------------ | | `variables` | Expression engine variables for lore rendering and attribute calculation | | `ea_attribute` | EmakiAttribute PDC attributes (explicit override of accumulated values) | | `es_skill` | EmakiSkills skill binding, unlocked at specific star levels | | `lore_action` | Item lore modifications | | `name_action` | Item name modifications |

Milestone Effects: - Specific stars can be marked as milestones (with `name` field) - Milestone stars typically unlock new attribute types or skills - Example: +5 unlocks crit rate, +8 unlocks damage bonus, +12 unlocks ultimate skill

Commands

| Command | Description | Permission | | ----------------------------------------- | -------------------------------------------- | ------------------------ | | `/es help` | Display help information | `emakistrengthen.use` | | `/es open` | Open strengthening interface | `emakistrengthen.use` | | `/es reload` | Reload all configuration files | `emakistrengthen.reload` | | `/es inspect [player]` | View held item's enhancement state | `emakistrengthen.use` | | `/es refresh [player]` | Refresh player inventory enhancement layers | `emakistrengthen.admin` | | `/es setstar <star> [recipe]` | Directly set main-hand item star level | `emakistrengthen.admin` | | `/es clearstate` | Remove enhancement layer from main-hand item | `emakistrengthen.admin` | | `/es clearcrack` | Clear main-hand item temper | `emakistrengthen.admin` | | `/es givecatalyst <id> [amount] [player]` | Give enhancement materials | `emakistrengthen.admin` |

Command alias: `/estrengthen`

Permissions

| Permission Node | Description | Default | | ------------------------ | ------------------------ | ----------- | | `emakistrengthen.use` | Basic enhancement access | All players | | `emakistrengthen.reload` | Reload configuration | OP | | `emakistrengthen.admin` | Full admin access | OP |

PAPI Placeholders

Prefix: `%emakistrengthen_<placeholder>%`

All placeholders read from the player's main-hand item:

| Placeholder | Description | | ------------------------ | --------------------------------------------- | | `mainhand_star` | Current star level | | `mainhand_temper` | Current temper level | | `mainhand_recipe` | Matched recipe ID | | `mainhand_eligible` | Whether the item can be enhanced (true/false) | | `mainhand_success_count` | Cumulative success count | | `mainhand_failure_count` | Cumulative failure count | | `mainhand_max_star` | Recipe's maximum star level | | `mainhand_success_rate` | Next enhancement success rate | | `mainhand_crack_level` | Item's crack level |

Ideal Server Types

EmakiStrengthen is particularly well-suited for:

- Dungeon servers — Star enhancement provides continuous growth, branching adds build diversity - Dungeon servers — High-star gear provides competitive advantage, enhancement risk adds excitement - Dungeon servers — Long-term goal-driven, pity compensation prevents excessive frustration - Dungeon servers — Dungeon drops provide protection materials, creating gear progression loops

Not recommended for pure vanilla survival or servers that don't want gear power gaps.

Requirements

| Item | Requirement | | ----------------- | ------------------------------------------- | | Server | Spigot 1.21+ | | Java | 21+ | | Hard Dependencies | EmakiCoreLib | | Soft Dependencies | EmakiAttribute, EmakiSkills, PlaceholderAPI |

View Full Wiki Documentation | Join Discord Community | QQ Group

ADS