English
Placeholder Reference
PlaceholderAPI Placeholders
Expansion identifier: emakiskills
Prerequisite: PlaceholderAPI is installed. With it present, EmakiSkills registers the following placeholders with no extra configuration. Matching is lower-cased; a placeholder returns an empty string when the player profile is not loaded or the parameters cannot be parsed. Verify: put the placeholder into lore or chat and confirm it resolves to the value shown in the Example column
Global Placeholders
| Placeholder | Description | Example |
|---|---|---|
%emakiskills_cast_mode% | Whether the player is in cast mode | true |
%emakiskills_global_cooldown% | Global cooldown remaining in seconds, 1 decimal | 1.5 |
%emakiskills_unlocked_count% | Number of unlocked skills: the union of skill ids bound to slots and skill ids present in the profile | 8 |
%emakiskills_slot_count% | The player's skill slot count (binding list length, set by slots.default_count) | 6 |
%emakiskills_level_total% | Sum of all skill levels in the profile | 24 |
Skill Placeholders
| Placeholder | Description | Example |
|---|---|---|
%emakiskills_level_<skill_id>% | Level of the specified skill; 0 when the profile has no entry for it | 3 |
%emakiskills_cooldown_<skill_id>% | Remaining cooldown in seconds, 1 decimal; 0 when there is none | 12.5 |
Skill Slot Placeholders
| Placeholder | Description | Example |
|---|---|---|
%emakiskills_slot_<n>_skill% | Skill ID bound to slot n; empty string for an empty slot | fireball |
%emakiskills_slot_<n>_name% | Display name of the skill in slot n | Fireball |
%emakiskills_slot_<n>_trigger% | Trigger ID for slot n; empty string when unbound | right_click |
%emakiskills_slot_<n>_empty% | Whether slot n is empty | false |
An out-of-range slot index (negative or beyond the slot count) returns an empty string. Error handling: when you get an empty value, first check that <n> is between 0 and the slot count minus 1
Resource Placeholders
The resource id is taken verbatim from id in resources/*.yml and must be written the same way inside the placeholder
| Placeholder | Description | Example |
|---|---|---|
%emakiskills_resource_<id>_current% | Current value of the resource, at most 2 decimals | 85 |
%emakiskills_resource_<id>_max% | Maximum from the resource definition, at most 2 decimals; 0 when the definition is missing | 120 |
%emakiskills_resource_<id>_percent% | Current value as a percentage of the maximum, at most 2 decimals; 0 when the definition or state is missing, or max <= 0 | 70 |
Usage Example
yaml
lore:
- '<gray>Cast Mode: <white>%emakiskills_cast_mode%'
- '<gray>Fireball Level: <white>%emakiskills_level_fireball%'
- '<gray>Cooldown: <white>%emakiskills_cooldown_fireball%s'
- '<gray>Mana: <aqua>%emakiskills_resource_mana_current%/%emakiskills_resource_mana_max%'
- '<gray>Slot 1: <white>%emakiskills_slot_0_name% (%emakiskills_slot_0_trigger%)'Upgrade action context variables
When skill upgrade actions (upgrade.levels.<n>.actions.success / .failure) run through the CoreLib action pipeline, the following context variables are injected automatically; reference them exactly as spelled in the table:
| Variable | Description | Example |
|---|---|---|
%skills_skill_id% | Skill definition ID | fireball |
%skills_phase% | Upgrade action phase: skill_upgrade_success or skill_upgrade_failure | skill_upgrade_success |
%skill% / %skill_id% | Skill display name / skill ID | Fireball / fireball |
%level% / %current_level% / %target_level% / %max_level% | Current level / current level / target level / maximum level | 2 |
%success_rate% / %success_rate_raw% | Success rate as formatted text / raw number | 90 |
%roman_level% | Target level in Roman numerals (1-10; Arabic numerals beyond that) | III |
%player% | Player name | Steve |
Action Example
yaml
upgrade:
levels:
3:
actions:
success:
- 'send_message text="<green>Skill %skills_skill_id% upgraded to level %target_level%."'
failure:
- 'send_message text="<red>Upgrade failed, success rate was %success_rate%%."'Notes
- Cooldown placeholders change frequently; avoid overly short scoreboard refresh intervals
<n>in slot placeholders is the slot index, starting from 0<id>in resource placeholders is the resource definition ID (e.g.,mana,stamina) and must match theidinresources/*.yml- CoreLib built-in context variables (
%player_name%, etc.) are also available in skill actions