Changelog Notes
This page explains the current documentation sync focus and provides an upgrade checklist. For complete release information, also check the per-module CHANGELOG.md files, default configuration files, and the release package you are using. 12 of the 14 runtime modules ship a CHANGELOG.md; EmakiAccessory and EmakiMobs do not have one yet, so use their default config.yml and release notes for version changes instead.
CoreLib 4.5.11 / Item 2.5.9: safe legacy configured-item migration
- Shared CoreLib GUI files and EmakiItem
items/definitions now migrate legacy item fields before normal YAML parsing. - Legacy sources, amounts, names, lore, model data, enchantments, item flags, and hidden components are converted to
item.source,item.amount, anditem.components, including 1.21.5+custom_model_dataandtooltip_displaymappings. - Canonical values win,
components.rawnodes are skipped as a whole, non-target business fields remain unchanged, and repeated starts do not rewrite migrated files. - Exact original text is backed up before any change. Migrated output is written to a temporary file and parsed again; the source is replaced only after validation, and failures preserve or restore the original.
- Backups are stored under each plugin data directory at
migration-backups/configured-item-format/<timestamp>/. A full configuration backup is still recommended before production upgrades.
CoreLib boundary change: domain protocols moved back to business modules
CoreLib no longer owns domain protocols and extension points. Use the current owners:
- The item layer preview SPI (
ItemLayerPreviewProvider,ItemLayerPreviewRequest, and related types) was removed from CoreLib and is now owned byEmakiItemApiinemaki.jiuwu.craft.item.api.preview. - Equipment skill PDC keys and their codec are now owned solely by
emaki.jiuwu.craft.skills.api.pdc.EquipmentSkillPdcCodecinEmakiSkillsApi. - The attribute PDC and attribute service contract is now authoritative in
EmakiAttributeApi(emaki.jiuwu.craft.attribute.api.PdcAttributeAccesswith the fullPdcAttributePayload), reached throughEmakiAttributeApi.extensions().pdc(). - All CoreLib compatibility adapters were removed in CoreLib
4.6.7:SkillPdcGateway,PdcAttributeGateway, and the mirror typesPdcAttributeApi,PdcAttributePayloadSnapshot, andEmakiAttributeBridgeno longer exist. External code still referencing them will throwNoClassDefFoundError.
Current documentation sync focus
This documentation line has been rechecked against the current source tree for commands, permissions, configuration directories, and major runtime capabilities, together with the runtime boundaries and configuration structures below.
Runtime boundary and configuration sync focus
- Platform and scheduling
paper-plugin.ymldescriptors now declare Paper 1.21.8+ and Folia support. CoreLib provides the Folia scheduler adapter, and business modules route delayed tasks, async work, GUI return-to-main-thread refreshes, and display refreshes through unified scheduling entry points.- Requirements now target Paper 1.21.8+ and include the current Folia support declaration.
- GUI and item presentation
- GUI slots use
itemas the current structured item-source field. Dynamic information, confirmation, and preview slots prefer templateitem,display_name,lore, and component settings. - EmakiGem inlay/open/upgrade GUIs no longer auto-fill the target item from the player's main hand or inventory when opened. Players must place target equipment and materials manually.
- EmakiSkills skill panels, trigger selection, and EmakiStrengthen preview/confirmation dynamic slots now follow the same template-first GUI rule.
- GUI slots use
- Attributes and PDC
- Attribute supports ranged random values. Lore/PDC parsing can represent percentage and integer ranges, and snapshots keep minimum, maximum, and resolved values for ranged contributions.
variablesandea_attributesare separated more strictly: variables are text/placeholder context, while real attribute output should use explicitea_attributes.- Recent cleanup removed
ea_attribute_metalogic; materials, gems, items, and strengthen configs should not rely on it as the current attribute metadata entry.
- Cooking recipes
- Recipe results now use the unified
result.<branch>.outputs/actionsstructure. Success, early, over, undercooked, overcooked, and invalid branches follow the same model. - Recipe completion conditions were added, and station interaction keys were adjusted to the current source behavior.
- Station floating text, display backend, and refresh configuration are part of the current configuration line.
- Recipe results now use the unified
- Level
- Added the EmakiLevel / EmakiLevelApi module for multiple level types, exp sources, requirements, PDC, PlaceholderAPI, CoreLib actions, MythicMobs drops, and EmakiAttribute contribution bridging.
- VitePress now includes detailed Level module documentation, and the getting-started, introduction, and architecture pages include the progression module.
- Forge / Gem / Strengthen / Item / Skills
- Forge material effects show only payload fields for the selected effect type.
quality_modifyusestier, andcapacity_bonususesvalue. - Gem items are refreshed from the current gem definition when obtained, after reloads, and when reconstructed inside GUIs.
- Skills, Strengthen, Forge, Gem, and Item use the
es_skillslist form for skill effects in current examples and documentation.
- Forge material effects show only payload fields for the selected effect type.
Added and expanded
- Attribute
- Configuration directory documentation for
config.yml,attribute_balance.yml,attributes/,damage_types/,conditions/, andlore_formats/. - Scaling curve documentation for
logarithmic,sqrt, andpiecewise_linearrules. - Damage documentation now includes synthetic hit feedback when vanilla damage is intercepted.
- Configuration directory documentation for
- Gem
- Socket opener documentation for
socket_openers, opener items, socket type filtering, and failure feedback. - Inlay success rate documentation for the current
inlay_successstructure. - Gem resonance documentation now covers
min_level,priority,exclusive_group, and the actualeffectsobject structure.
- Socket opener documentation for
- Skills
- Action bar documentation for templates, update interval, and cast mode display.
- Script engine limits, including per-phase action count and per-action target limits.
- Passive trigger settings and
combo_attackbehavior.
- Cooking
- Command and permission documentation for
/ec debug, oven, juicer, and fermentation barrel permissions. - Station documentation for display entities, display distance, refresh interval, wok animation, and scald damage.
- Command and permission documentation for
- Forge
- Forge history documentation for audit records, auto-save, and troubleshooting.
- Quality documentation keeps quality pools, guarantee counters, quality item metadata, and deterministic algorithm notes.
- Strengthen
- Branch tree documentation for branch recipe files and transfer design notes.
- Item
- Command documentation includes
/ei debugandemakiitem.debug.
- Command documentation includes
Removed or corrected
- Gem commands
- Removed old admin entries that are not in the current command router.
- Current command set:
/emakigem gui <inlay|open|upgrade>,reload,inspect,clearstate, anddebug. - Current permissions:
emakigem.use,emakigem.reload,emakigem.admin, andemakigem.debug.
- Skills commands
- GUI entry is
/eskills gui. - Old trigger management commands were removed.
/eskills clearslot <player> <slot>is documented.castmodeis documented as/eskills castmode <on|off|toggle>.
- GUI entry is
- Cooking permissions
- Juicer collect permission is
emakicooking.station.juicer.collect. - Fermentation barrel start permission is
emakicooking.station.fermentation_barrel.start. - Station permissions use the
emakicooking.station.*form.
- Juicer collect permission is
Module version lines
The current source tree does not use one single version number for every module. Prefer each module's src/main/resources/config.yml and pom.xml when upgrading:
| Module | Current default config version |
|---|---|
| EmakiCoreLib | 4.8.1 |
| EmakiAttribute | 4.7.11 |
| EmakiForge | 4.7.11 |
| EmakiStrengthen | 4.7.19 |
| EmakiCooking | 4.2.9 |
| EmakiLevel | 1.5.8 |
| EmakiCodex | 1.0.5 |
| EmakiStation | 1.0.8 |
| EmakiGem | 2.7.15 |
| EmakiSkills | 2.7.11 |
| EmakiItem | 2.7.16 |
| EmakiStorage | 1.0.6 |
| EmakiAccessory | 1.0.3 |
| EmakiMobs | 1.0.6 |
All 14 modules currently ship a config.yml version identical to their own pom.xml, so this table doubles as the module release-version table. A few modules keep an internal migration constant (such as AppConfig.CURRENT_VERSION) on a separate track; do not mix the two.
The equipment skill PDC contract has been merged into emaki-skills-api; there is no longer a separate emaki-skills-protocol artifact.
Different version lines reflect separate release cadence, not feature importance.
Recommended reading order
- Read the target module overview page to confirm responsibilities and dependencies.
- Read commands and permissions before configuring permission groups.
- Read configuration directory or core feature pages to understand default files.
- Read feature-specific pages such as socket openers, skill triggers, attribute scaling, forge quality, or cooking stations.
- After editing configuration, verify with the module's reload, inspect, debug, or lint command if available.
- Before upgrading a live server, test with real equipment and player data on a staging server.
Upgrade checklist
- Back up all
plugins/Emaki*/configuration directories. - Back up player data, equipment data, Cooking station data, Station queue data, Accessory data, and economy data.
- Do not blindly overwrite old configuration files; compare defaults and merge new fields manually. The CoreLib 4.5.11 / Item 2.5.9 configured-item migration is not a replacement for a full backup.
- Check whether commands and permission nodes match the current documentation.
- Check whether Attribute
hard_lock_damageand environmental damage mapping fit your server. - Check whether Gem has merged
socket_openers,inlay_success, and globalupgradeconfiguration. - Check whether Skills has merged
actionbar,script_engine, andpassive_trigger_settings. - Check whether Cooking has merged oven, juicer, fermentation barrel station settings, GUI files, and permissions.
- Check whether Forge quality, history, and condition failure strategies match your gameplay.
- Check whether Item auto-update and repair configuration affect old items.