
EmakiAttribute
Full RPG attribute and damage engine with 40+ stats and multi-stage calculation
16
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 reloadrepeatedly 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
EmakiAttributeDamageEventis still triggered on the main thread, ensuring safe compatibility for existing listeners.
Changed
Lifecycle & Thread Safety
- Added
AttributeLifecycleCoordinatorfor orchestrating the staged logic of the reload process. DirectoryLoadernow supports asynchronous loading with progress callbacks.AttributeRegistry,DamageTypeRegistry,DefaultProfileRegistry,AttributeBalanceRegistry, andLanguageLoaderhave been enhanced with synchronization protection to accommodate asynchronous read/write scenarios.
Damage Calculation Structure Refactoring
DamageCalculationServicehas 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.0or higher. /emakiattribute reloadhas 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
EmakiAttributeDamageEventtypically require no changes; the event is still fired on the main thread.
Known Issues
- None
Файлы
EmakiAttribute-2.0.0.jar(264.58 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.0.0
Загрузчики
PaperPurpur
Версии игры
1.21–1.21.11
Загрузок
2
Дата публикации
1 нед. назад
