EmakiForge | Blueprint-Driven Quality-Tiered Crafting System icon

EmakiForge | Blueprint-Driven Quality-Tiered Crafting System -----

Blueprints, material contribution, capacity limits, six quality tiers — a complete forging chain fro



EmakiForge Changelog
[1.10.0] - 2026-03-31
New Features
Material Quality Modification Mechanism
  • Added ForgeMaterial.QualityModifier record to support influencing forging quality through material effects.
  • Supports two modification modes:
    • force: Forcibly specifies a quality tier, overriding random and pity mechanisms.
    • minimum: Sets a quality floor, taking the higher value compared to the random result.
  • Added ForgeQualityModifierResolver service to uniformly process quality modification logic.
  • The quality_modify effect can now be added in material definitions:
Code (YAML):
effects:
  - type
: quality_modify
   mode
: force   # or minimum
   tier
: perfect   # quality tier name
Item Refresh Service
  • Added ForgeItemRefreshService, supporting automatic refresh of forging attributes for player inventory and dropped items.
  • Added ForgeItemRefreshListener, listening to the following events to trigger refresh:
  • Player joins server (PlayerJoinEvent)
  • Player clicks inventory (InventoryClickEvent)
  • Player drags inventory (InventoryDragEvent)
  • Player drops an item (PlayerDropItemEvent)
  • Player picks up an item (EntityPickupItemEvent)
  • Supports batch refresh for online players, single player inventory refresh, and dropped item refresh.
  • The refresh process recalculates quality modifications and updates item metadata.
Material Contribution Record
  • Added ForgeMaterialContribution record, representing contribution information of forging materials.
  • Includes material ID, quantity, slot, category, sequence, and other information.
  • Provides toAuditMap() and toSignatureData() methods for auditing and signing.
Improvements & Optimizations
Quality Calculation Flow Optimization
  • QualityRollPlan record structure changes:
  • Added rolledTier: Randomly rolled quality tier.
  • Added finalTier: Final quality tier after applying modifications.
  • Added forceApplied: Whether a force modification was applied.
  • PreparedForge record structure changes:
  • Added rolledQualityTier: Random quality tier.
  • Added forceQualityApplied: Whether forced application occurred.
  • Improved quality calculation logic to support material modifier participation.
Quality Tier Comparison Refactoring
  • QualitySettings added helper methods:
  • findTier(String name): Find a quality tier.
  • tierIndex(String name): Get the index of a quality tier.
  • tierIndex(QualityTier tier): Get the index of a quality tier.
  • hasTier(String name): Check if a quality tier exists.
  • higherTier(QualityTier first, QualityTier second): Compare and return the higher quality tier.
  • Improved quality tier lookup logic, reducing redundant calculations.
  • Optimized quality configuration parsing performance.
ForgeMaterial Enhancements
  • Added qualityModifiers() method to get the list of material quality modifiers.
  • Added definitionSignatureData() method to generate material definition signature data.
  • Improved material effect parsing to support quality modification effects.
ForgeService Improvements
  • Added findMaterialById(String materialId) method.
  • Added resolveMaterialQualityModifiers() method to parse material quality modifiers.
  • Improved forge preparation flow, integrating quality modification calculation.
Configuration Changes
Configuration File Updates
  • Action IDs in configuration files have been updated to camelCase format.
  • Example recipe configurations have been updated accordingly.
Code Improvements
EmakiForgePlugin
  • Added itemRefreshService() accessor.
  • Improved plugin lifecycle management.
ForgeLifecycleCoordinator
  • Integrated item refresh service initialization.
ForgeRuntimeComponents
  • Added itemRefreshService component.
RecipeLoader
  • Improved recipe loading logic.
ForgeExecutionService
  • Improved forge execution flow.
ForgeLayerSnapshotBuilder
  • Optimized layer snapshot building logic.
ForgeLookupIndex
  • Added findMaterialById() method.
  • Improved material lookup performance.
Usage Notes
Material Quality Modification
  • To use the material quality modification feature, you need to add the quality_modify effect in the material definition.
  • The effect data must include the mode (force/minimum) and tier (quality name) fields.
  • Force mode overrides pity mechanisms; use with caution.
  • Minimum mode takes the higher value compared to the random result, suitable for pity scenarios.
Item Refresh Service
  • The item refresh service is enabled by default and will automatically refresh upon relevant events.
  • The refresh process recalculates quality modifications and updates item metadata.
  • May cause performance overhead in scenarios with a large number of items; adjustment based on server load is recommended.
Action ID Migration
  • Action IDs in configuration files need to be migrated from underscore_case to camelCase format.
  • Affected configurations:
  • Quality actions in config.yml
  • Custom recipe configurations
Compatibility
  • Requires EmakiCoreLib 1.11.0 or above.
  • The quality modification feature is optional and does not affect existing recipe configurations.
  • Maintains backward compatibility with older configuration files.
API Changes
  • QualityRollPlan record structure changed with added fields.
  • PreparedForge record structure changed with added fields.
  • QualityCalculationService constructor added new parameters.
  • The above changes may affect external plugins directly using these APIs.
Known Issues
  • The item refresh service may cause performance overhead in scenarios with a large number of items.
----------, Mar 31, 2026
Resource Information
Author:
----------
Total Downloads: 152
First Release: Mar 29, 2026
Last Update: Jun 16, 2026
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings