EmakiAttribute | Full-Pipeline RPG Combat with 43 Attributes

Complete RPG attribute and combat system — crits, penetration, dodge, block, elemental damage, all included.

69

EmakiAttribute | Full-Pipeline RPG Combat with 43 Attributes

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:

1. Damage Messages — Collect all attacker attributes (from equipment, gems, strengthening, sets, etc.) 2. Damage Messages — Physical / Projectile / Spell based on attack method 3. Damage Messages — Attack × (1 + damage bonus%) 4. Damage Messages — Crit rate vs crit evasion; on crit, multiply by crit damage (reduced by crit multiplier resistance) 5. Damage Messages — Reduce target defense by penetration value 6. Damage Messages — Remaining defense reduces damage via formula 7. Damage Messages — Dodge rate determines if damage is nullified entirely 8. Damage Messages — Add flat true damage (ignores all defense) 9. Damage Messages — Calculate healing from final damage (reduced by lifesteal resistance) 10. 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_of` combination 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

ADS