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:
- Blueprint Selection — Players open the forge interface and select an unlocked blueprint recipe. Blueprints can be distributed as items or controlled via permissions.
- Material Input — Place base materials and optional materials into the forge GUI. The system displays real-time capacity usage to help plan material combinations.
- Quality Roll — Upon confirmation, the system performs a weighted random roll based on total material contribution to determine the output quality tier.
- 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:
- Flawed — Weight: 10, Multiplier: 0.95x. Slightly below standard output.
- Common — Weight: 60, Multiplier: 1.0x. The most frequent base quality.
- Fine — Weight: 30, Multiplier: 1.05x. Minor improvement.
- Superior — Weight: 5, Multiplier: 1.1x. Noticeably above average.
- Flawless — Weight: 2, Multiplier: 1.15x. Rare quality, triggers server broadcast.
- Perfect — Weight: 1, Multiplier: 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
Name/Lore Action System
Six action types for modifying output item appearance:
- append_suffix — Append text to the end of the item name
- prepend_prefix — Prepend text to the beginning of the item name
- prepend — Insert lines at the top of the lore
- append — Append lines at the bottom of the lore
- insert_below — Insert lines below a matched anchor line
- replace_line — Replace the entire matched anchor line
All name/lore modifications are built on CoreLib's Ledger system, making them fully reversible and layer-independent.
Effect System
Each material can provide multiple effect types:
- 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
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):
- Crafter — Player UUID and name who performed the forge
- Blueprint — Recipe ID used
- Materials — Type and quantity of each material contributed
- Quality — 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
- /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
- emakiforge.use — Basic forge access (default: all players)
- emakiforge.book — Recipe codex access (default: all players)
- emakiforge.reload — Reload configuration (default: OP)
- emakiforge.admin — Full admin access (default: OP)
PAPI Placeholders
Prefix:
%emakiforge_<placeholder>%
- 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:
- RPG/MMORPG servers — Provides deep crafting gameplay as an alternative to simple crafting tables
- Long-term survival servers — Quality system provides ongoing goals for extended play
- Economy servers — Quality variance naturally creates trading markets
- Dungeon servers — Dungeon material drops + forge system creates complete gear loops
Requirements
- Server: Spigot 1.21+
- Java: 21+
- Hard Dependencies: EmakiCoreLib
- Soft Dependencies: EmakiAttribute, EmakiSkills, PlaceholderAPI