Getting Started
This page explains how to build, install, start, and verify Emaki Series.
Requirements
| Item | Requirement |
|---|---|
| Java | 25 |
| Server | Paper 1.21.8+ (minimum supported: 1.21.8); current plugin descriptors declare Folia support |
| Build tool | Maven |
| Required base module | EmakiCoreLib |
Build
From the project root:
mvn -DskipTests packageDefault aggregated plugin modules are CoreLib, Attribute, Forge, Strengthen, Cooking, Level, and Codex. The same build also produces compile-time-only artifacts such as emaki-*-api and emaki-skills-protocol, which are not server plugins.
The root pom.xml declares a private-modules profile that activates automatically when a .key file exists in the project root. It adds Gem, Skills, Item, and Storage to the build. Because the profile is file-activated you normally do not need to request it explicitly, but you can:
mvn -DskipTests -Pprivate-modules packageOnly put plugin runtime jars into the server plugins/ directory. Do not install emaki-*-api-*.jar or emaki-skills-protocol-*.jar; they are not server plugins.
Current plugin and API jar pairs
The versions below come from the current dev workspace pom.xml and paper-plugin.yml files. Server owners install only the plugin runtime jar. Developers may use the matching API jar as a provided / compileOnly dependency.
| Plugin runtime jar | API jar | Current version | Install API jar on server? |
|---|---|---|---|
EmakiCoreLib-4.6.0.jar | emaki-corelib-api-4.6.0.jar | 4.6.0 | No |
EmakiAttribute-4.6.0.jar | emaki-attribute-api-4.6.0.jar | 4.6.0 | No |
EmakiForge-4.6.0.jar | emaki-forge-api-4.6.0.jar | 4.6.0 | No |
EmakiStrengthen-4.6.0.jar | emaki-strengthen-api-4.6.0.jar | 4.6.0 | No |
EmakiCooking-4.1.0.jar | emaki-cooking-api-4.1.0.jar | 4.1.0 | No |
EmakiLevel-1.4.0.jar | emaki-level-api-1.4.0.jar | 1.4.0 | No |
EmakiCodex-1.0.0.jar | emaki-codex-api-1.0.0.jar | 1.0.0 | No |
EmakiGem-2.6.0.jar | emaki-gem-api-2.6.0.jar | 2.6.0 | No |
EmakiSkills-2.6.0.jar | emaki-skills-api-2.6.0.jar | 2.6.0 | No |
EmakiItem-2.6.0.jar | emaki-item-api-2.6.0.jar | 2.6.0 | No |
EmakiStorage-1.0.0.jar | emaki-storage-api-1.0.0.jar | 1.0.0 | No |
Pure protocol artifact: EmakiSkillsProtocol
emaki-skills-protocol-2.6.0.jar is not a server plugin and must not be placed into plugins/. It has no paper-plugin.yml and no main class; it only carries the equipment skill PDC codec contract (EquipmentSkillPdcCodec). CoreLib, Item, Skills, Forge, Gem, and Strengthen shade it into their own jars and relocate it to their runtime package names at build time, so server owners never install or update it separately.
Recommended installation order
- EmakiCoreLib.
- EmakiAttribute if attributes, combat, resources, or attribute payloads are needed.
- Equipment modules: EmakiItem, EmakiForge, EmakiStrengthen, EmakiGem.
- Progression and gameplay modules: EmakiLevel, EmakiSkills, EmakiCooking, EmakiCodex.
- Optional ecosystem plugins: PlaceholderAPI, Vault or ExcellentEconomy, MythicMobs, CraftEngine, ItemsAdder, Nexo, Oraxen, EcoItems, MMOItems, NeigeItems, PacketEvents.
First start
- Put the required plugin jars into
plugins/. - Start the server and let the plugins generate default files.
- Stop the server or ensure no players are using the systems.
- Edit generated files under
plugins/Emaki*/. - Start again and check the console.
- Use module commands to verify that the systems are available.
Basic module checks
Level
- Run
/elv info mainto confirm that default level types loaded. - Run
/elv debug requirement main 2to inspect the requirement source and value. - If PlaceholderAPI is installed, confirm that
%emakilevel_level_main%returns the player level. - If MythicMobs is installed, test an
emakilevel_exp/elv_expdrop or a Mythic kill source.
Troubleshooting basics
- If business modules cannot start, check CoreLib first.
- If YAML fails to load, check indentation, quotes, enum values, and field names.
- If PlaceholderAPI, Vault, or MythicMobs features do not work, confirm the external plugin is installed and loaded.
- For equipment issues, inspect real PDC data instead of trusting Lore only.