Skip to content

Placeholder Reference ​

PlaceholderAPI Placeholders ​

Expansion identifier: emakiattribute

Prerequisite: PlaceholderAPI is installed. Once it is, EmakiAttribute automatically registers a placeholder expansion that exposes player stats and resources to scoreboards, chat, menus, holograms, and other plugins

All placeholders use the format %emakiattribute_<key>%

Attribute Value Placeholders ​

Basic Format ​

text
%emakiattribute_<attribute_id>%

Returns the player's current combat snapshot value for the attribute, formatted to at most 2 decimal places (e.g., 15.5, 100). Returns 0 if the attribute does not exist

Examples ​

PlaceholderDescription
%emakiattribute_physical_attack%Physical attack
%emakiattribute_physical_defense%Physical defense
%emakiattribute_physical_crit_rate%Physical crit rate
%emakiattribute_physical_crit_damage%Physical crit damage
%emakiattribute_spell_attack%Spell attack
%emakiattribute_dodge_chance%Dodge chance
%emakiattribute_lifesteal%Lifesteal ratio

Power Placeholder ​

text
%emakiattribute_power%
%emakiattribute_attribute_power%

Returns the player's total attribute power, computed from each attribute's attribute_power weight and the scores in attribute_balance.yml. power is normalized to the attribute id attribute_power, so both spellings are equivalent

Resource Placeholders ​

Basic Format ​

text
%emakiattribute_resource_<resource_id>%
%emakiattribute_resource_<resource_id>_<field>%

Without a field, defaults to current

Available Fields ​

FieldDescriptionExample
currentCurrent value (default)85
maxCurrent maximum (including bonuses)120
defaultDefault maximum (without bonuses)100
bonusBonus maximum20
percentCurrent value as percentage of max (0–100)70
regenConfigured regeneration per second2.5

Examples ​

PlaceholderDescription
%emakiattribute_resource_health%Current health
%emakiattribute_resource_health_max%Max health
%emakiattribute_resource_health_percent%Health percentage
%emakiattribute_resource_mana%Current mana
%emakiattribute_resource_mana_max%Max mana
%emakiattribute_resource_mana_percent%Mana percentage

Common Usage ​

Scoreboard ​

yaml
lines:
  - '&c❤ %emakiattribute_resource_health%/%emakiattribute_resource_health_max%'
  - '&b✦ %emakiattribute_resource_mana%/%emakiattribute_resource_mana_max%'
  - '&e⚔ Attack: %emakiattribute_physical_attack%'
  - '&a🛡 Defense: %emakiattribute_physical_defense%'

Condition System ​

Use PAPI placeholders directly in CoreLib condition expressions:

yaml
condition:
  entries:
    - '%emakiattribute_physical_attack% >= 100'
    - '%emakiattribute_resource_mana_percent% >= 50'

Skill Thresholds ​

Check attributes in EmakiSkills conditions:

yaml
condition:
  entries:
    - '%emakiattribute_physical_attack% >= 200'

Display Tips ​

  • Use consistent formatting for percentage attributes (e.g., 1 decimal place)
  • Display resources in current / max format
  • Avoid placing too many complex placeholders in high-frequency refresh scenarios (ActionBar, BossBar)
  • Separate player-facing placeholders from admin debug placeholders
  • Placeholder values are numeric strings without color codes, suitable for direct numeric comparison

Damage Message Template Variables ​

Inside a damage type's attacker_message / target_message, %variable% template variables are available

Entity information ​

VariableDescriptionExample
%attacker% / %attacker_name% / %source% / %source_name%Attacker display nameSteve
%attacker_type% / %source_type%Attacker entity typePLAYER
%attacker_uuid% / %source_uuid%Attacker UUID550e8400-...
%attacker_health%Attacker current health18.5
%attacker_max_health%Attacker max health20
%target% / %target_name%Target display nameZombie
%target_type%Target entity typeZOMBIE
%target_uuid%Target UUID...
%target_health%Target current health12.3
%target_max_health%Target max health40
%distance%Distance between attacker and target5.2

Damage information ​

VariableDescriptionExample
%damage_type% / %damage_type_name%Damage type display namePhysical Damage
%damage_type_id%Damage type idphysical
%source_damage% / %input_damage%Original damage value25
%base_damage%Base damage value20
%final_damage% / %damage%Final damage value15.5
%cause% / %damage_cause%Damage cause nameENTITY_ATTACK
%cause_name% / %damage_cause_name%Localized damage cause nameAttack
%cause_id% / %damage_cause_id%Normalized damage cause identity_attack
%critical%Whether the hit was criticaltrue
%critical_text%Critical text; empty when not criticalcritical
%critical_suffix%Critical suffix; empty when not critical <red>critical</red>
%roll%Critical roll value0.85

Template example ​

yaml
damage_types:
  physical:
    attacker_message: "<gray>[Combat] You dealt <red>%final_damage%</red> damage to %target_name%%critical_suffix% <gray>(distance: %distance%m)"
    target_message: "<gray>[Combat] %attacker_name% dealt <red>%final_damage%</red> damage to you%critical_suffix% <gray>(remaining: %target_health%/%target_max_health%)"