EmakiForge | Blueprint-Driven Quality-Tiered Crafting System
Blueprints, material contribution, capacity limits, six quality tiers — a complete forging chain from raw materials to finished gear.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
EmakiForge | Blueprint-Driven Quality-Tiered Crafting System
EmakiForge brings deep crafting gameplay to your server. Players learn recipes through blueprints, gather and contribute materials, make trade-offs within capacity limits, and forge equipment of varying quality. The six-tier quality system makes every forge attempt exciting, while the material contribution system turns the forging process itself into meaningful decision-making.
Forging Workflow
A complete forging session follows these steps:
1. Result Output — Players open the forge interface and select an unlocked blueprint recipe. Blueprints can be distributed as items or controlled via permissions. 2. Result Output — Place base materials and optional materials into the forge GUI. The system displays real-time capacity usage to help plan material combinations. 3. Result Output — Upon confirmation, the system performs a weighted random roll based on total material contribution to determine the output quality tier. 4. Result Output — The final item is generated with quality multipliers applied to attributes, name/lore modifications executed, audit records written, and the forge is complete.
Core Features
Quality System
EmakiForge provides a six-tier quality system, each with independent weight and attribute multiplier:
| Quality Tier | Default Weight | Multiplier | Description | | ------------ | -------------- | ---------- | ----------------------------------------- | | Flawed | 10 | 0.95x | Slightly below standard output | | Common | 60 | 1.0x | Most frequent base quality | | Fine | 30 | 1.05x | Minor improvement | | Superior | 5 | 1.1x | Noticeably above average | | Flawless | 2 | 1.15x | Rare quality, triggers server broadcast | | Perfect | 1 | 1.2x | Extremely rare, triggers server broadcast |
Key quality features:
- Weights determine roll probability; more material contribution shifts odds toward higher tiers - Attribute multiplier directly scales all base attribute values defined in the recipe - Each tier can have independent name prefixes (e.g., [Perfect], [Fine]) - Pity system: after a configurable number of consecutive forges, a minimum quality is guaranteed (default: Flawless after 60 attempts) - Quality pools can be customized globally or per-recipe
Material Contribution System
Forging isn't simple crafting — it's a strategic contribution process:
Base Materials - Minimum requirements that must be fully met before forging can begin - Each base material has fixed quantity requirements and capacity cost
Optional Materials - Extra input to improve quality chances or add special effects - Each optional material provides different attribute directions (fire damage, movement speed, magic penetration, etc.) - The number of optional material types per forge is capped by `optional_material_limit`
Capacity Limit - Total `capacity_cost` of all materials cannot exceed the recipe's `forge_capacity` - Forces players to make trade-offs between multiple optional materials - Special materials can provide `capacity_bonus` effects to expand the capacity ceiling
Contribution Calculation - Each material has an independent capacity cost value (`capacity_cost`) - Material effects stack additively onto the output item upon successful forge - Quality multiplier is applied to all material-provided attribute values
Name/Lore Action System
Six action types for modifying output item appearance:
| Action Type | Description | Example Use | | ---------------- | ---------------------------------------- | ---------------------------------- | | `append_suffix` | Append text to end of item name | Add `[Flame]` marker | | `prepend_prefix` | Prepend text to beginning of item name | Add quality tag `[Perfect]` | | `prepend` | Insert lines at top of lore | Display quality info | | `append` | Append lines at bottom of lore | Add attribute descriptions | | `insert_below` | Insert lines below a matched anchor line | Insert values below "Forge Stats:" | | `replace_line` | Replace the entire matched anchor line | Update existing attribute values |
All name/lore modifications are built on CoreLib's Ledger system, making them fully reversible and layer-independent. If an item is later modified by another system, the forge layer can be independently reverted without affecting other layers.
Effect System
Each material can provide multiple effect types:
| Effect Type | Description | | ---------------- | ------------------------------------------------------------------------------------ | | `variables` | Expression engine variables for lore placeholder rendering and attribute calculation | | `ea_attribute` | EmakiAttribute PDC attributes written directly to item data | | `es_skill` | EmakiSkills skill binding for active/passive abilities | | `name_action` | Item display name modifications | | `lore_action` | Item lore description modifications | | `capacity_bonus` | Special type that expands the forge capacity ceiling for the current session |
Effects support variable placeholders (e.g., `{physical_damage}`, `{fire_damage}`) that are automatically resolved to actual values during lore rendering.
Recipe Codex GUI
Players can browse all available recipes through a codex interface:
- Chest-based GUI displaying all registered forge recipes - Shows required materials, quantities, and capacity costs - Displays possible quality ranges and attribute directions - Pagination support for large recipe collections - Completed recipes marked with "Crafted" status
Forge Audit Trail
Every forged item stores complete forging information via PDC (PersistentDataContainer):
- Timestamp — Player UUID and name who performed the forge - Timestamp — Recipe ID used - Timestamp — Type and quantity of each material contributed - Timestamp — Rolled quality tier and multiplier - Timestamp — Millisecond-precision forge time
Audit data supports post-forge refresh: when recipes are updated, existing items can recalculate attributes from audit records without requiring players to re-forge.
Commands
| Command | Description | Permission | | ----------------- | ----------------------------------- | ------------------- | | `/ef help` | Display help information | `emakiforge.use` | | `/ef forge` | Open the standalone forge interface | `emakiforge.use` | | `/ef book` | Open the recipe codex | `emakiforge.book` | | `/ef reload` | Reload all configuration files | `emakiforge.reload` | | `/ef list recipe` | List all loaded recipes | `emakiforge.admin` |
Command aliases: `/eforge`, `/ef`
Permissions
| Permission Node | Description | Default | | ------------------- | -------------------- | ----------- | | `emakiforge.use` | Basic forge access | All players | | `emakiforge.book` | Recipe codex access | All players | | `emakiforge.reload` | Reload configuration | OP | | `emakiforge.admin` | Full admin access | OP |
PAPI Placeholders
Prefix: `%emakiforge_<placeholder>%`
| Placeholder | Description | | ------------------------- | --------------------------------------------------------------- | | `recipe_count` | Total number of loaded recipes | | `craft_count_<recipe_id>` | Player's forge count for a specific recipe | | `has_crafted_<recipe_id>` | Whether the player has completed a specific recipe (true/false) | | `total_crafts` | Player's total forge count across all recipes | | `last_crafted` | Recipe ID of the player's most recent forge | | `guarantee_<recipe_id>` | Player's pity counter for a specific recipe |
Ideal Server Types
EmakiForge is particularly well-suited for:
- Dungeon servers — Provides deep crafting gameplay as an alternative to simple crafting tables - Dungeon servers — Quality system provides ongoing goals for extended play - Dungeon servers — Quality variance naturally creates trading markets - Dungeon servers — Dungeon material drops + forge system creates complete gear loops
Not recommended for pure vanilla survival or small casual servers, as the forge system requires configuration effort and player learning investment.
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