▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/EmakiAttribute
EmakiAttribute

EmakiAttribute

Full RPG attribute and damage engine with 40+ stats and multi-stage calculation

16
0
Все версииEmakiAttribute 2.0.0

EmakiAttribute 2.0.0

Release1 нед. назад

Список изменений

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

Файлы

EmakiAttribute-2.0.0.jar(264.58 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

2.0.0

Загрузчики

Paper
Purpur

Версии игры

1.21–1.21.11

Загрузок

2

Дата публикации

1 нед. назад

Загрузил

ID версии

Главная