
EmakiForge | Blueprint Forging & Quality Crafting
A blueprint-and-material forging system: blueprint-gated recipes, seven material effect types, a capacity budget, a six-tier quality system with pity and deterministic results, full result previews, tamper-proof audit signatures and forge history.
- Загрузки
- 192
- Подписчики
- 1
- Обновлён
- 29 июня 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 27 марта 2026 г.
EmakiForge turns crafting into a deep, configurable forging system. Players place a target item, the required blueprints and materials into the forge GUI; the module validates the recipe, capacity and conditions, then either rebuilds the forge layer on the player's own item (preserving its strengthen / gem / set state) or produces a brand-new item — writing attributes, skills, name, lore and a tamper-proof audit signature scaled by the rolled quality.
Nothing about the outcome is left vague. The materials a player invests shape the result's stats, quality and capacity; a deterministic quality algorithm makes the GUI preview accurate; and a pity mechanic guarantees a minimum quality after a streak of bad luck. Every recipe, material effect, quality tier and action hook lives in YAML.

Key Highlights
- Blueprint-gated recipes — A recipe can require the player to hold specific blueprint items, which are checked but never consumed, so unlocking a blueprint unlocks the ability to forge that recipe.
- Material contribution, seven effect types — Each material can inject text variables, write real attributes, bind skills, modify the result name or lore, force or floor the quality, or even grant extra capacity. The effect value scales by material amount and quality multiplier.
- Capacity budget — A forge-capacity limit caps the total material weight per craft, an optional-material limit caps optional inputs, and capacity-bonus materials can temporarily expand the budget — the GUI shows current/max/state live.
- Six-tier quality with pity and determinism — The default pool ranges from a reduced-effect tier through to Perfect (x1.2), with a pity guarantee after a configurable streak and a deterministic algorithm so the preview is accurate and re-submitting within a short window yields the same quality.
- Two output modes — Target-input mode rebuilds the forge layer on the player's existing item (keeping strengthen/gem/set state); fixed-output mode produces a new item, EmakiItem or external.
- Tamper-proof audit — Forging writes recipe id, quality, multiplier, timestamp and a material-contribution signature into the item, so admins and trade systems can verify it was not edited by an NBT tool.
- Full result preview — The GUI preview slot shows the possible output, the quality pool and the failure risk before the player commits.
- Forge history — Optional history records who forged what, with which materials, at what quality and time — for tracing high-value gear, settling disputes and tracking recipe popularity.
Feature Overview
Blueprints
- A recipe's blueprint requirement lists item sources and amounts; the player must hold them, but they are not consumed.
- Use it to gate recipes behind quests, shops or drops — discover the blueprint, then forge the recipe.
Material system and contribution
- Each material lists item sources, amount, capacity cost, an optional flag and an effects list.
- Seven material effect types:
- Text variables for name/lore templates (no PDC write).
- Real attribute writes into the EmakiAttribute PDC layer (needs Attribute).
- Skill binding via a skill-id list (needs EmakiSkills).
- Name actions on the result (prefix/suffix, reusing CoreLib's name-operation system).
- Lore actions on the result (anchored insertion, reusing CoreLib's lore-operation system).
- Quality modify (force a tier, or set a minimum).
- Capacity bonus (a material with zero capacity cost that instead grants extra capacity).
- The effect value follows: configured value x material amount x quality multiplier (variables stay text; attributes become real stats).
Capacity system
- A forge-capacity limit caps the total of all materials' capacity costs per craft.
- An optional-material limit caps how many optional materials can be added.
- Capacity-bonus materials can temporarily expand the budget.
- The GUI shows the live capacity (current / max / state: waiting-for-blueprint, normal, near-limit, over-limit).
Quality system
- The quality pool is configured globally and can be overridden per recipe.
- Six default tiers spanning a reduced-effect tier up to Perfect (x1.2), each with a weight and a multiplier that multiplies into material effect values.
- A pity guarantee: after a configurable streak with no high tier, the next craft is floored to a minimum quality, counted per player + recipe.
- A deterministic algorithm: identical inputs (player / recipe / materials / pity counter) produce the same quality within a short window, so the GUI preview is accurate, re-submitting within the window does not change it, and only changing materials or waiting it out re-rolls.
- Quality writes into item meta per tier: a colored name prefix, lore and actions; high tiers can trigger a server-wide broadcast with a hoverable item.
Recipe system
- A recipe defines id, display name, blueprint requirement, materials, capacity, optional-material limit, condition, quality, result, actions and permission.
- Conditions can gate by class, player level, equipment type, world/region or PDC markers, with op-bypass and an invalid-as-failure flag.
Two output modes
- Target-input mode (empty result source): does not create a new item; rebuilds the forge layer on the player's placed item, preserving its other-module state (strengthen / gem / set).
- Fixed-output mode (points to an item): forges a brand-new item, which can be an EmakiItem or an external plugin's item.
Action flow
- A pre-action runs before forging and aborts on failure (with reason/action/line variables).
- A result action runs as the result item is generated/applied.
- Success and failure actions run afterward (titles, sounds, messages).
- Result meta-actions run name/lore operations on the result after success.
Forge history
- Optional, with auto-save: records player UUID/name, recipe id, material list, quality, success/failure, timestamp and a result summary.
- Useful for tracing high-value gear origins, resolving "my materials vanished" disputes, and tracking recipe popularity; seasonal servers can archive it after an event.
Audit and tamper-proof signature
- Forging writes recipe id, quality, multiplier, forge time, a material-contribution signature, the output item and the material list into the item PDC.
- The signature verifies the forge data was not modified by an external NBT editor; admins can inspect it and trade systems can validate it.
GUI system
- Forge GUI: blueprint slot, required and optional material slots, a live capacity display, an anvil confirm button and a red over-capacity blocked state, with decorative borders.
- Recipe book: players browse available recipes, filtered by permission, enabled state and conditions.
- Editor GUI: admins edit blueprint/material/recipe resources at runtime.
- The GUI protects input slots, handles clicks, returns items and triggers the forge flow.
JavaScript scripting
- A
forgescript module exposes a forge success-rate rule (registerForgeRule) that can read the original/current rate, player, recipe and prior-rule trace, and return a rate / bonus / multiplier / cancel / message, priority-ordered and clamped 0–100, optionally limited to specific recipe ids. - A result hook (
onResult) runs after completion for rewards, broadcasts or logging. - A sample script ships disabled by default.
Reload and maintenance
- Reload re-reads recipes, GUI, language and runtime resources, with a release-default-data toggle and a configurable number format.
Commands
| Command | Description |
|---|---|
/ef help |
Show help |
/ef forge |
Open the forge GUI |
/ef book |
Open the recipe book |
/ef list recipe |
List loaded recipes |
/ef inspect |
Inspect the held item's forge audit |
/ef reload |
Reload configuration |
/ef debug [player|module|on|off] |
Debug info |
Main command /emakiforge, aliases /eforge, /ef.
Permissions
emakiforge.use— open the forge GUI and basic commands (default: true)emakiforge.book— open the recipe book (default: true)emakiforge.reload— reload configuration (default: op)emakiforge.debug— debug commands (default: op)emakiforge.admin— administrative commands (default: op)
PlaceholderAPI
Expansion identifier emakiforge:
%emakiforge_craft_count_<recipe_id>%— number of times a recipe has been forged%emakiforge_has_crafted_<recipe_id>%— whether the player has forged a recipe%emakiforge_total_crafts%— total forge count%emakiforge_guarantee_<key>%— current pity counter%emakiforge_recipe_count%— number of loaded recipes%emakiforge_last_crafted%— the last forged recipe id
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
- Install
EmakiCoreLib.jarfirst (required dependency). - Place
EmakiForge.jarintoplugins/. - Start the server to generate the default recipe, GUI, language and config.
- Configure blueprints / materials / quality / capacity, then
/ef reloadand test a forge.
Links
- Documentation: https://jiuwu02.github.io/Emaki_Series/
- Discord: https://discord.gg/FV4GFQbvCM
- QQ Group: https://qm.qq.com/q/GqGrzHp0wU
Ченджлог
4.4.0Релиз1.21.9, 1.21.10, 1.21.11 · 29 июня 2026 г.
Added
- Public Bukkit events:
ForgeStartEvent(cancellable) andForgeCompletedEvent(with success, result item, and quality info). - JavaScript extensions for forge result hooks and forge rules via
emaki.module("forge"). - Config precheck on startup and reload.
Improved
- Hardened the prepared forge cache by cloning preview items.
Notes
- No breaking config changes.
4.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 16 июня 2026 г.
Added
- Forge script module access through
emaki.module("forge"). - Forge-owned script examples.
- Shared condition system support.
- Updated Web Console registration.
Fixed
- Fixed default condition alignment.
- Fixed item source display/identification consistency.
- Fixed unstable old API access expectations.
Refactored
- Static facade + Bridge API model.
- Assembly namespace registration.
- Script module lifecycle.
- Recipe loading and item identification.
Improved
- Better default resources and Web Console metadata.
- Better integration with CoreLib item sources and conditions.
4.2.0Релиз1.21.9, 1.21.10, 1.21.11 · 5 июня 2026 г.
Forge v4.2.0 is a cleanup and integration update. Forge now owns its script entry, script examples, and Assembly namespace more clearly.
Highlights
- Forge script module access through
emaki.module("forge"). - Forge-owned script examples.
Improved
- Forge registers its own Assembly layer namespace.
- CoreLib-aligned bStats, runtime dependency handling, and versioned resource notices.
Notes
- Use with the matching CoreLib release.
4.1.0Релиз1.21.9, 1.21.10, 1.21.11 · 2 июня 2026 г.
EmakiForge v4.1.0
Quality pity system, player signatures, Web console editor, and a completely refactored forge pipeline.
✨ New Features
Quality Pity System
After a streak of forges without a high-tier result, the system now guarantees a better quality outcome on your next attempt. No more endless bad luck — the pity mechanic has your back.
Player Signature
Every forged item now proudly displays the name of the player who created it, giving each piece of equipment a personal touch and a unique sense of ownership.
Web Console & GUI Editor
EmakiForge is now fully integrated with the Web management console. Edit forge recipes and GUI configurations directly in your browser. Both the forge interface and recipe book have been completely redesigned for a better player experience.
Forge Validation Service
A new pre-forge validation step ensures that all conditions are met before the forge operation proceeds, preventing invalid forge attempts.
Failure Resolution
A dedicated failure handling service provides flexible multi-tier penalty configurations — customize what happens when a forge attempt fails.
Preparation Phase
Material checking, consumption, and preview have been separated into their own preparation stage, making the forge flow clearer and more maintainable.
Result Post-Processing
Additional actions can now be executed after a forge completes — trigger skills, send messages, or run custom logic.
Performance Recorder
A new performance monitoring feature lets server admins track forge operation performance.
♻️ Improvements
- The main forge service has been extensively refactored, with each stage now having a clear, single responsibility.
- The material model has been simplified for more intuitive recipe configuration.
- The forge GUI and recipe book have been redesigned for a significantly improved user experience.
- The async executor has been optimized for faster forge response times.
4.0.0Релиз1.21.9, 1.21.10, 1.21.11 · 11 мая 2026 г.
EmakiForge 4.0.0 Release
This release introduces a ledger-based reversible name/lore modification system, PAPI placeholder support, and unifies the effect configuration format.
New Features
- Name/Lore Action System: Recipes and quality configs support
name_actions/lore_actionsfields. Forging can directly modify item names and lore with actions likeappend_suffix,prepend_prefix,prepend,append,insert_below,replace_line. All operations tracked via ItemOperationLedger for precise revert capability. Material effects also supporttype: "lore_action"/"name_action". - PAPI Placeholders:
%emakiforge_recipe_count%(loaded recipe count) and%emakiforge_last_crafted%(player's last crafted recipe ID). - Enhanced Forge Audit: Forged items store complete audit data in PDC: recipe ID, quality, multiplier, timestamp, material signatures, and output source.
Improvements
- Unified
effectslist format withtypefield (variables/ea_attribute/es_skill/name_action/lore_action). - Material item sources unified to
item_sources: [...]list format. - Example recipe fully rewritten with comprehensive field coverage and detailed comments.
- Config and language files auto-merge new keys on upgrade.
Breaking Changes
structured_presentationremoved — replaced byname_actions/lore_actions.- Quality config
item_meta.structured_presentation→item_meta.name_actions/item_meta.lore_actions. - Material
itemfield →item_sources: [...]list format. - Skill effect type:
"skill"→"es_skill",skills→es_skills. - Old example recipe
flame_sword.ymlreplaced byexample_recipe.yml.
Upgrade Notes
- Migrate
structured_presentationtoname_actions/lore_actionsin existing recipes. - Migrate material
itemfields toitem_sourceslist format. - Config version updated to
4.0.0— new entries are auto-merged on upgrade.
3.5.0Релиз1.21.9, 1.21.10, 1.21.11 · 4 мая 2026 г.
EmakiForge 3.5.0 Release
This maintenance release improves player data handling around kick events and synchronizes the module with the CoreLib 3.5.0 dependency line.
- Added player kick event handling for forge player data 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 recipes, GUI configuration, and permission nodes remain compatible.
- Test player quit and kick scenarios if you use external data synchronization.
3.4.0Релиз1.21.9, 1.21.10, 1.21.11 · 28 апреля 2026 г.
EmakiForge 3.4.0 Dev Update
This dev update connects EmakiForge more deeply to CoreLib's structured text config system. Forge GUI text and result presentation content can now use richer config objects, including randomized text and nested variables.
- PDC attribute writing:
ForgePdcAttributeWriternow usesPdcAttributeGatewayinstead of reflection. - Structured GUI text: Forge GUI labels and text values can evaluate object-based text configs.
- Presentation content improvements: layer snapshot values, replacements, content, patterns, and anchors can use richer text input.
- Random lore foundation: Forge result displays can use CoreLib
random_textand nested variable behavior. - Cleaner parsing: Forge material parsing was moved into
ForgeMaterialParser. - Stable entry points: existing
fromConfigmethods remain available.
Upgrade Notes
No upgrade notes.
3.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 25 апреля 2026 г.
EmakiForge 3.3.0
EmakiForge 3.3.0 is a maintenance-focused release for server owners who already use the current file-based forging resource workflow. It adds PlaceholderAPI output for player forging progress, removes the old in-game resource editor path, and keeps forging output aligned with the current attribute naming and versioned resource style.
- PlaceholderAPI support:
%emakiforge_total_crafts%,%emakiforge_craft_count_<recipe>%,%emakiforge_has_crafted_<recipe>%, and%emakiforge_guarantee_<key>%are now available when PlaceholderAPI is installed. - Legacy editor removal: the old editor, edit, create, delete, and input command path is no longer part of the current runtime.
- Focused commands: the supported command surface centers on forging, the recipe book, reload, and recipe listing.
- Attribute naming cleanup: result attribute writes continue using the current non-EA-prefixed naming.
- Unified version fields: default config and language resources use
version. - Runtime cleanup: material planning, quality calculation, result item generation, GUI rendering, and error handling were tightened.
Upgrade Notes
- Use Java 25.
- Update any admin guide that still references the removed editor commands.
- Install PlaceholderAPI if you want to use the new forging placeholders.
- Keep custom config on the current
versionfield and non-EA-prefixed attribute names.
Комментарии
Загружаем…