EmakiAttribute is a complete RPG attribute and combat system. It brings 43 built-in attributes, 3 damage types, and a carefully designed damage calculation pipeline to Minecraft, giving your server MMORPG-level combat depth. From simple attack/defense values to complex elemental systems, everything is configurable.
43 Built-in Attributes
Physical Attack (7)
- physical_attack, physical_crit_rate, physical_crit_damage, physical_damage_bonus, physical_armor_penetration, lifesteal, percentage_lifesteal
Projectile Attack (6)
- projectile_attack, projectile_crit_rate, projectile_crit_damage, projectile_damage_bonus, projectile_penetration
Spell Attack (5)
- spell_attack, spell_crit_rate, spell_crit_damage, spell_damage_bonus, magic_penetration
Defense (11)
- physical_defense, projectile_defense, spell_defense, dodge_chance, physical_crit_evasion, projectile_crit_evasion, magic_crit_evasion, physical_crit_multiplier_resistance, projectile_crit_multiplier_resistance, magic_crit_multiplier_resistance, lifesteal_resistance
Resources (4)
- health, health_regen, mana, mana_regen
General (6)
- attack_speed, movement_speed, real_damage, attribute_power, entity_scale, speed
Damage Pipeline
When an attack occurs, EmakiAttribute processes damage through this pipeline:
- Attack snapshot — collect all attacker attributes
- Damage type determination — physical / projectile / spell
- Base damage calculation — attack × (1 + damage bonus%)
- Crit check — crit rate vs crit evasion, apply crit multiplier (reduced by resistance)
- Penetration — reduce target defense by penetration value
- Defense mitigation — remaining defense reduces damage
- Dodge check — dodge rate determines if damage is nullified
- Real damage — add flat true damage (ignores defense)
- Lifesteal — calculate healing from final damage (reduced by resistance)
- Damage messages — send combat info to attacker and target
Resource System
- Define unlimited custom resources (health, mana, rage, energy, etc.)
- Independent max value, min value, and regen rate per resource
- Natural regeneration at configurable intervals
- Optional sync to Bukkit native attributes
- API for other plugins to consume/restore resources
Damage Messages
Customizable combat messages with rich placeholders:
{damage},
{damage_type},
{attacker_name},
{target_name},
{attacker_health},
{attacker_max_health},
{target_health},
{target_max_health},
{distance},
{is_crit},
{element}.
Skill Damage Integration
When EmakiSkills is installed, skill scripts can use
attribute_damage to route skill damage through the full EA pipeline (crits, penetration, dodge, defense, messages — everything).
Additional Features
- Condition System — Equipment usage conditions (level, permission, placeholder checks)
- Lore Format Engine — Customizable attribute display templates in item lore
- PAPI Placeholders — %emakiattribute_<attr>%, %emakiattribute_resource_<id>_current/max/regen%
Commands
- /ea reload — Reload configuration
- /ea dump [player] — Output full attribute snapshot
- /ea resource <player> <resource> set/add/remove <value> — Manage resources
- /ea inspect — Inspect held item attributes
Requirements
- Server: Spigot 1.21+
- Java: 21+
- Hard Dependencies: EmakiCoreLib
- Soft Dependencies: EmakiSkills, PlaceholderAPI