Skip to content

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 .-> Mythic

CoreLib 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

  1. Item creates a stable custom item.
  2. Forge writes forge quality or material contributions.
  3. Strengthen writes star state.
  4. Gem writes sockets and gems.
  5. CoreLib rebuilds name and lore.
  6. 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.