EmakiAttribute | Full-Pipeline RPG Combat with 43 Attributes icon

EmakiAttribute | Full-Pipeline RPG Combat with 43 Attributes -----

Complete RPG attribute and combat system — crits, penetration, dodge, block, elemental damage, all i



EmakiAttribute 2.0.0
EmakiAttribute Changelog
[2.0.0] - 2026-04-04
Added
Asynchronous Reload Process
  • Added reloadPluginStateAsync(...), allowing the attribute system reload to be executed asynchronously in stages.
  • Progress messages such as "reading language & configs / loading attribute definitions / refreshing cache" are continuously reported during the reload.
  • Added reload mutex protection; executing /emakiattribute reload repeatedly will now directly prompt "A reload task is already in progress."
  • When a command fails, the root cause error is reported back to the executor, facilitating troubleshooting of configuration or resource issues.
Asynchronous Damage Resolution Pipeline
  • Added AsyncDamageEngine, migrating EA damage resolution to the CoreLib asynchronous scheduler.
  • Melee, projectile, and environmental damage now uniformly follow the "async resolution + main thread finalization + application on the next tick" pipeline.
  • The damage event EmakiAttributeDamageEvent is still triggered on the main thread, ensuring safe compatibility for existing listeners.
Changed
Lifecycle & Thread Safety
  • Added AttributeLifecycleCoordinator for orchestrating the staged logic of the reload process.
  • DirectoryLoader now supports asynchronous loading with progress callbacks.
  • AttributeRegistry, DamageTypeRegistry, DefaultProfileRegistry, AttributeBalanceRegistry, and LanguageLoader have been enhanced with synchronization protection to accommodate asynchronous read/write scenarios.
Damage Calculation Structure Refactoring
  • DamageCalculationService has been refactored to split damage resolution into "preparation phase / result finalization phase," reducing code duplication between synchronous and asynchronous implementations.
  • The same instance of damage will reuse unified type resolution, random seed, and event finalization logic.
  • If asynchronous settlement fails, the root cause is logged, aiding in problem diagnosis when used with combat debugging output.
Configuration & Resource Upgrades
  • Reloading configuration will now automatically merge new entries for allowed_damage_causes, reducing the manual patching effort during configuration upgrades.
  • Added new language keys: command.reload.in_progress, command.reload.started, command.reload.failed.
  • Removed the example file attributes/test_attribute.yml.
  • Optimized the format of the built-in description text in attribute_balance.yml, unifying the default descriptive style.
Upgrade Notes
  • Requires EmakiCoreLib 2.0.0 or higher.
  • /emakiattribute reload has been changed to an asynchronous process. Operational scripts should no longer assume that command return implies all data has finished reloading.
  • External plugins that only listen for EmakiAttributeDamageEvent typically require no changes; the event is still fired on the main thread.
Known Issues
  • None
----------, Apr 3, 2026
Resource Information
Author:
----------
Total Downloads: 154
First Release: Mar 29, 2026
Last Update: Jun 16, 2026
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings