Skip to content

MythicMobs Integration

EmakiAttribute integrates with MythicMobs for attribute damage mechanics, attribute conditions, and mob attribute configuration.

MythicMobs is a soft dependency. If it is not installed, related features are skipped.

Skill mechanic: emaki_damage

Aliases: emakiattribute_damage, attribute_damage.

ParameterTypeDefaultDescription
damagedoubleskill powerBase damage.
damage_typestringDamage type id, such as physical or spell.
allow_criticalbooleantrueWhether critical hits are allowed.
allow_target_dodgebooleanfalseWhether target dodge is allowed.
calculate_target_defensebooleantrueWhether target defense is calculated.
trigger_mythic_on_damagedbooleanfalseWhether MythicMobs on-damaged behavior is triggered.

Example:

yaml
FireBlast:
  Skills:
    - emaki_damage{damage=50;damage_type=spell;allow_critical=true} @target

Skill mechanics: temporary attributes

These mechanics target skill targets (@target, @self, etc.) and work on both players and mobs. Temporary attributes are removed automatically on expiry and are not persisted (they are lost on restart).

emaki_attribute_add

Alias: emakiattribute_add. Adds one temporary attribute to the target.

ParameterTypeDefaultDescription
effect_idstringTemporary effect id. Re-applying the same id follows the stack mode.
attributestringAttribute id.
valuedouble0Temporary value.
durationintDuration in ticks, must be greater than 0.
stack_modestringattribute defaultREPLACE or STACK. Falls back to the attribute's temporary_stack_mode.
setbooleanfalseWhen true, uses overwrite (SET) instead of additive (ADD).

emaki_attribute_remove

Alias: emakiattribute_remove. Removes the temporary attribute with the given effect_id.

ParameterTypeDescription
effect_idstringTemporary effect id to remove.

emaki_attribute_add_tag

Alias: emakiattribute_add_tag. Adds a temporary attribute for every attribute whose tags contain the given tag. Each attribute gets its own effect id (prefix:attributeId) so they never overwrite each other.

ParameterTypeDefaultDescription
tagstringAttribute tag (e.g. DEBUFF), case-insensitive.
valuedouble0Value applied to every matching attribute.
durationintDuration in ticks, must be greater than 0.
effect_prefixstringtag:<tag>Prefix for the generated effect ids.
stack_modestringper-attribute defaultREPLACE or STACK. Falls back to each attribute's temporary_stack_mode.

emaki_attribute_clear_tag

Alias: emakiattribute_clear_tag. Clears every temporary attribute whose attribute carries the given tag.

ParameterTypeDescription
tagstringAttribute tag, case-insensitive.

Example:

yaml
CurseStrike:
  Skills:
    - emaki_attribute_add{effect_id=curse_slow;attribute=movement_speed;value=-2;duration=100} @target
    - emaki_attribute_add_tag{tag=DEBUFF;value=-10;duration=100;stack_mode=STACK} @target
Purify:
  Skills:
    - emaki_attribute_clear_tag{tag=DEBUFF} @target

Condition: emaki_attribute

Aliases: emakiattribute_attribute, attribute_value, attribute_resource.

ParameterDescription
attributeAttribute id when checking an attribute value.
resourceResource id when checking a resource value. Players only.
fieldResource field: current (aliases current_value, value), max (alias current_max), default (alias default_max), bonus (alias bonus_max), or percent. Defaults to current.
operatorComparison operator.
valueComparison value.
value_2Second value for between.
OperatorAliasesDescription
>gtGreater than.
>=gteGreater than or equal (default).
<ltLess than.
<=lteLess than or equal.
!=<>, neNot equal.
betweenBetween value and value_2, inclusive and order-independent.

Omitting operator or supplying an unrecognized one falls back to >=. There is no dedicated equality operator.

yaml
Conditions:
  - emaki_attribute{resource=health;field=percent;operator=<;value=30} true

Mob attributes

MythicMobs mobs can define an EmakiAttribute section:

yaml
FireDragon:
  Type: ENDER_DRAGON
  Health: 500
  EmakiAttribute:
    - "physical_attack: 100"
    - "physical_defense: 50"
    - "spell_attack: 80"
    - "health: 500"

Every entry must be quoted

EmakiAttribute is a string list. Written unquoted as - physical_attack: 100, YAML parses each entry as a mapping instead of a string, the whole section is skipped, the mob receives no attributes, and nothing is logged.

To check: run /ea debug on and enter combat, then look for your attribute IDs in the attacker snapshot. Seeing only default_profile entries means the section was not read.

Attributes are synchronized when Mythic mobs spawn, and active Mythic mobs are resynced after MythicMobs reloads.