Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
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
All attributes are fully customizable via YAML — display names, lore formats, value ranges, and stacking behavior.
Damage Pipeline
When an attack occurs, EmakiAttribute processes damage through this pipeline:
- Attack Snapshot — Collect all attacker attributes (from equipment, gems, strengthening, sets, etc.)
- Damage Type Determination — Physical / Projectile / Spell based on attack method
- Base Damage — Attack × (1 + damage bonus%)
- Crit Check — Crit rate vs crit evasion; on crit, multiply by crit damage (reduced by crit multiplier resistance)
- Penetration — Reduce target defense by penetration value
- Defense Mitigation — Remaining defense reduces damage via formula
- Dodge Check — Dodge rate determines if damage is nullified entirely
- Real Damage — Add flat true damage (ignores all defense)
- Lifesteal — Calculate healing from final damage (reduced by lifesteal resistance)
- Damage Messages — Send combat info to attacker and target
Resource System
- Define unlimited custom resources (health, mana, rage, energy, stamina, etc.)
- Independent max value, min value, and regen rate per resource
- Natural regeneration at configurable tick intervals
- Optional sync to Bukkit native attributes (e.g., health)
- Full on init option (start at max value)
- API for other plugins to consume/restore resources
Condition System
Equipment and items can have usage conditions — attributes only apply when conditions are met:
- Level requirements, permission checks, placeholder conditions
- Expression syntax using
{variable}format all_of/any_ofcombination logic
Lore Format Engine
Customize how attributes display in item lore via template files in lore_formats/:
- Independent display template per attribute
- Color codes and placeholder support
- Percentage and flat value formats
- Different colors for positive/negative values
Damage Messages
Customizable combat messages sent to attacker and target with rich placeholders:
| Placeholder | Description |
|---|---|
{damage} |
Final damage value |
{damage_type} |
Damage type name |
{attacker_name} |
Attacker name |
{target_name} |
Target name |
{attacker_health} |
Attacker current health |
{attacker_max_health} |
Attacker max health |
{target_health} |
Target current health |
{target_max_health} |
Target max health |
{distance} |
Distance between attacker and target |
{is_crit} |
Whether the hit was a crit |
{element} |
Element type |
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, lifesteal, and messages all apply.
PAPI Placeholders
| Placeholder | Description |
|---|---|
%emakiattribute_<attribute_id>% |
Current attribute value |
%emakiattribute_resource_<id>_current% |
Resource current value |
%emakiattribute_resource_<id>_max% |
Resource max value |
%emakiattribute_resource_<id>_regen% |
Resource per-second regen rate |
Commands
| Command | Description |
|---|---|
/ea reload |
Reload configuration |
/ea dump [player] |
Output full attribute snapshot |
/ea resource <player> <resource> set/add/remove <value> |
Manage player resources |
/ea inspect |
Inspect held item attributes |
Permissions
| Permission | Description |
|---|---|
emakiattribute.use |
Base usage permission |
emakiattribute.reload |
Reload permission |
emakiattribute.admin |
Administrator permission |
emakiattribute.dump |
View attribute snapshot |
Requirements
| Item | Requirement |
|---|---|
| Server | Spigot 1.21+ |
| Java | 21+ |
| Hard Dependencies | EmakiCoreLib |
| Soft Dependencies | EmakiSkills, PlaceholderAPI |
View Full Wiki Documentation | Join Discord Community | QQ Group


