Architecture
Emaki Series uses a shared-infrastructure architecture: CoreLib provides common services, and business modules implement gameplay features.
Layers
mermaid
graph TB
Server[Spigot / Bukkit 1.21+]
Core[EmakiCoreLib]
Attribute[EmakiAttribute]
Item[EmakiItem]
Forge[EmakiForge]
Strengthen[EmakiStrengthen]
Gem[EmakiGem]
Skills[EmakiSkills]
Cooking[EmakiCooking]
Mythic[MythicMobs]
Core --> Server
Attribute --> Core
Item --> Core
Forge --> Core
Strengthen --> Core
Gem --> Core
Skills --> Core
Cooking --> Core
Skills -. skill execution .-> MythicCoreLib responsibilities
CoreLib provides action execution, GUI infrastructure, item source resolution, PDC helpers, conditions, expressions, economy bridges, structured presentation, and a built-in Web Console for browser-based configuration management.
Cross-module cooperation
- Business modules depend on CoreLib.
- Attribute exposes services through Bukkit
ServicesManager. - Forge, Strengthen, Gem, and Item write their own item layers or attribute payloads.
- CoreLib Assembly rebuilds final item display from all layers.
- Skills checks cooldowns, resources, and triggers, then calls MythicMobs for actual effects.
- Cooking stores station state by world location.
Equipment data flow
- Item creates a stable custom item.
- Forge writes forge quality or material contributions.
- Strengthen writes star state.
- Gem writes sockets and gems.
- CoreLib rebuilds name and lore.
- Attribute aggregates final stats.
Design advice
Do not let multiple modules directly overwrite the same Lore block. Store real state in PDC or module layers, and let CoreLib rebuild presentation.