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

EmakiAttribute

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

15
0

EmakiAttribute 3.0.0

release12 апреля 2026 г.

📦 EmakiAttribute 更新日志 / Changelog

中文版

✨ 新增特性

  • Lore 格式增强: 为所有 Lore 格式文件添加详细注释和元数据

    • default_flat.yml: 新增格式说明、优先级配置和正则匹配模式
    • default_percent.yml: 新增百分比格式说明,优先级提升至 100
    • default_regen.yml: 新增回复类格式说明,优先级 80
    • default_resource.yml: 新增资源类格式说明,优先级 60
  • 属性优先级配置: 调整多个属性文件的 read_priority 值,确保 Lore 格式正确匹配

    • physical_damage_bonus: 85 → 101
    • projectile_damage_bonus: 91 → 93
    • spell_crit_rate: 85 → 91
    • spell_damage_bonus: 86 → 88
  • 条件文件新增: 新增 Forge 和 Strengthen 的条件配置文件

    • conditions/forge.yml: Forge 模块的条件定义
    • conditions/strengthen.yml: Strengthen 模块的条件定义

🐛 问题修复

  • Lore 格式优先级冲突: 通过调整 read_priority 解决百分比格式与数值格式的匹配冲突
  • 配置版本不一致: 将所有配置文件的版本统一升级到 3.0.0

🚀 优化与改进

  • 配置文件注释增强: 为所有属性定义、Lore 格式和 Profile 文件添加详细的中文注释

    • 说明每个配置的用途和示例输出
    • 解释优先级的工作原理
    • 标注正则匹配模式
  • 属性定义优化: 确保百分比格式优先于普通数值格式匹配

    • 调整 priority 配置避免 Lore 读取冲突
    • 优化属性匹配顺序

♻️ 架构与底层

  • 配置版本升级:

    • config.yml: 2.3.0 → 3.0.0
    • lang/zh_CN.yml: 2.3.0 → 3.0.0
    • 所有属性定义和 Lore 格式文件版本同步升级
  • 代码格式化: 统一导入格式和代码风格


English Version

✨ Features

  • Lore Format Enhancements: Added detailed comments and metadata to all Lore format files

    • default_flat.yml: Added format description, priority configuration, and regex matching patterns
    • default_percent.yml: Added percentage format description, priority increased to 100
    • default_regen.yml: Added regen format description, priority 80
    • default_resource.yml: Added resource format description, priority 60
  • Attribute Priority Configuration: Adjusted read_priority values in multiple attribute files to ensure correct Lore format matching

    • physical_damage_bonus: 85 → 101
    • projectile_damage_bonus: 91 → 93
    • spell_crit_rate: 85 → 91
    • spell_damage_bonus: 86 → 88
  • Condition Files Added: Added condition configuration files for Forge and Strengthen modules

    • conditions/forge.yml: Condition definitions for Forge module
    • conditions/strengthen.yml: Condition definitions for Strengthen module

🐛 Bug Fixes

  • Lore Format Priority Conflicts: Resolved matching conflicts between percentage and numeric formats by adjusting read_priority
  • Configuration Version Inconsistency: Unified all configuration files to version 3.0.0

🚀 Improvements & Optimizations

  • Configuration Comment Enhancements: Added detailed Chinese comments to all attribute definitions, Lore formats, and Profile files

    • Explained the purpose and example output of each configuration
    • Explained how priority works
    • Annotated regex matching patterns
  • Attribute Definition Optimization: Ensured percentage format takes precedence over plain numeric format matching

    • Adjusted priority configuration to avoid Lore reading conflicts
    • Optimized attribute matching order

♻️ Chores & Refactoring

  • Configuration Version Upgrade:

    • config.yml: 2.3.0 → 3.0.0
    • lang/zh_CN.yml: 2.3.0 → 3.0.0
    • All attribute definitions and Lore format files version synchronized
  • Code Formatting: Unified import format and code style

EmakiAttribute 2.2.0

release9 апреля 2026 г.

EmakiAttribute Changelog

[2.2.0] - 2026-04-09

Added

New preview and lint admin commands

  • Added /emakiattribute preview [player] [slot] so operators can inspect the snapshot signature, item name, and non-zero attributes of a specific equipment slot directly.
  • Added /emakiattribute lint, which summarizes load issues from config, attribute definitions, damage types, default groups, lore formats, presets, and PDC read rules for pre-launch or post-reload checks.

Improved

Better operational diagnostics and attribute display order

  • The preview subcommand now provides player-name and slot completions, and the help output now includes clearer separators and command hints.
  • Default attribute priorities were reorganized for entries such as attack_speed_vanilla, physical_damage_bonus, projectile_damage_bonus, spell_crit_rate, and spell_damage_bonus, making lore display order more stable.

Fixed

  • The preview command now distinguishes "no permission", "player not found", "invalid slot", and "no item in slot", which reduces ambiguity during investigation.
  • lint now validates whether default_damage_type and allowed_damage_causes actually point to loaded damage types, preventing dangling config references.

Upgrade Notes

  • If you plan to run /emakiattribute preview from the console, always provide both player name and slot explicitly.
  • If your item lore depends on the old default attribute ordering, re-check the rendered display after upgrading.
  • It is recommended to run /emakiattribute lint after every reload of custom attributes, damage types, presets, or PDC condition rules.

Known Issues

  • None

EmakiAttribute 2.1.0

release7 апреля 2026 г.

[2.1.0] - 2026-04-08

Added

PDC Attribute Writing and Conditional Reading Interface

  • Added PdcAttributeApi and registered it via Bukkit Services. External plugins can now write, read, and clear structured attribute payloads on items, grouped by source_id.
  • Added PdcAttributeService, PdcAttributePayload, and PdcReadRule. This supports writing attribute values and meta data to an item's Persistent Data Container (PDC) and managing them grouped by source.
  • Added a conditions/ directory and PdcReadRuleLoader. Rules can determine whether a group of PDC attributes takes effect based on conditions like player placeholders, source meta, and source attributes.
  • Included two disabled example configurations by default: default_bind.yml and default_equipment_level.yml, making it easy to enable binding checks and equipment level requirements according to server rules.

Integration of MMOItems Combat Bridge into the Attribute Damage Chain

  • MmoItemsBridge now listens for MMOItems main-hand/off-hand melee hits, projectile hits, and the SpecialWeaponAttackEvent.
  • MMOItems hit events are uniformly rewritten into EmakiAttribute's damage calculation process, preventing conflicts where external weapon damage and the attribute system calculate separately.
  • Projectiles record their source and a snapshot before entering Attribute's projectile damage resolution chain. Synthetic knockback can be optionally added post-calculation based on configuration.

Improvements & Optimizations

Item Snapshot Now Merges Lore and PDC Attributes

  • AttributeSnapshotCollector now collects both Lore attributes and PDC attributes, generating a unified signature cache for the merged result.
  • Equipped state snapshots support filtering PDC attributes based on the player's context. This allows rules like "equipment binding," "level requirements," and "source conditions" to directly affect the final combat attributes.
  • Since read rules participate in signature generation, changes to equipment conditions will also trigger snapshot refreshes, reducing lingering attributes after a player logs in.

Placeholder and Lifecycle Cleanup

  • Placeholder expansions have been standardized for attribute and resource queries. power now automatically maps to attribute_power.
  • Resource placeholders now only retain explicit fields: current, max, default, bonus, percent.
  • Added a PDC rule loading phase to the plugin's lifecycle. The conditions/ directory is refreshed during reloads.
  • Command aliases have been adjusted from eattr / attr to eattribute / ea to reduce conflicts with other plugin commands.

Consolidation of Default Attribute Sets

  • Removed default attribute definitions for skill_damage_bonus, skill_crit_rate, skill_crit_damage, and skill_cdr.
  • Removed damage_types/skill.yml and the example debug attribute test_attribute.
  • Corresponding default entries have been removed from attribute_balance.yml and profiles/global.yml to prevent new servers from inheriting the old skill attribute groupings.

Upgrade Notes

  • If your equipment, loot, strengthening, or other modules still reference skill_damage_bonus, skill_crit_rate, skill_crit_damage, or skill_crit_damage, please migrate to your new attribute design before upgrading.
  • External plugins that wish to write structured attributes to items should first obtain the PdcAttributeApi, register their own source_id, and then proceed with writing.
  • Update old scripts calling /emakiattribute attr or /emakiattribute eattr to use eattribute or ea instead.
  • After enabling MMOItems on your server, it is recommended to thoroughly retest melee, projectile, and special weapon attacks to ensure there is no double damage calculation or duplicate processing by old listeners.

Known Issues

  • None

EmakiAttribute 2.0.0

release4 апреля 2026 г.

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 1.8.0

release1 апреля 2026 г.

EmakiAttribute Changelog

[1.8.0] - 2026-03-31

New Features

Attribute Damage Action System

  • Added the AttributeActions registry for managing the registration and unregistration of attribute-related actions.
  • Added the AttributeDamageAction action, supporting the infliction of custom damage based on attributes within the action system.
  • Action Parameters:
    • amount (required): Base damage value.
    • type (optional): Damage type ID, defaults to the type configured in settings.
    • cause (optional): Damage cause, defaults to CUSTOM.
  • Automatically integrated into the EmakiCoreLib action registration system, supporting templated configuration and conditional execution.

Combat Feedback Enhancement

  • Added a synthetic impact feedback system to enhance visual and auditory feedback after EA (EmakiAttribute) damage settlement.
  • Mob entities will automatically have their aggression target set (applyAggroTarget) after taking EA damage.
    • Automatically activates the Mob's aware and aggressive states.
    • Sets the attacker as the target, improving combat AI response.
  • Improved impact animation handling (playSyntheticImpact).
    • Unified the logic for playing impact animations.
    • Supports playing custom hurt sounds.
    • Ensures visual feedback is closer to vanilla Minecraft's performance.

Configuration Changes

Configuration Version Upgrade

  • Configuration version upgraded from 1.1 to 1.2.

New Configuration Options

  • synthetic_hit_feedback.knockback: Whether to enable synthetic knockback effect (default: true).
  • synthetic_hit_feedback.knockback_strength: Knockback strength (default: 0.4).
  • synthetic_hit_feedback.hurt_sound: Whether to play hurt sound (default: true).

Code Improvements

EmakiAttributePlugin

  • Added the registerCoreLibActions() method to register attribute actions when the plugin loads.
  • Added the unregisterCoreLibActions() method to unregister attribute actions when the plugin unloads.
  • Improved lifecycle management to ensure proper initialization and cleanup of the action system.

DamageCalculationService

  • Added the applyAggroTarget() method to handle Mob aggression target setting.
  • Refactored the applyDirectDamage() method, extracting impact animation logic.
  • Added the playSyntheticImpact() method to uniformly handle impact animations and sounds.
  • Improved the damage application process, enhancing combat feedback.

AttributeConfig

  • Added the syntheticHitKnockback field.
  • Added the syntheticHitKnockbackStrength field.
  • Added the syntheticHitHurtSound field.
  • Updated configuration parsing logic to support the new impact feedback settings.

Usage Notes

Action System Integration

  • Ensure EmakiCoreLib version ≥ 1.11.0.
  • Attribute actions are automatically registered when the plugin loads; no manual configuration is needed.
  • The action ID is attributedamage and can be used in action templates.

Combat Feedback Configuration

  • New configuration items use default values; old configuration files do not require modification.
  • If you need to customize impact feedback, add the synthetic_hit_feedback section in config.yml.
  • Recommended range for knockback strength: 0.1 - 1.0.

Compatibility

  • Deeply integrated with EmakiCoreLib 1.11.0.
  • Maintains backward compatibility with older configuration file versions.
  • New features are optional and do not affect the existing combat system.

Known Issues

  • None

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:GPL-3.0-only
Опубликован:2 недели назад
Обновлён:2 дня назад
Главная