Server Admin

Placeholder API

Requirements, usage, troubleshooting and every %el_%, %guilds_%, %endlesslink_% placeholder token.

PlaceholderAPI placeholders are text tokens (%identifier_key%) that any PAPI-aware mod expands per-player — used in the Endless chat layout, Endless-Info labels/boards, and any other mod that accepts PAPI strings. This page covers install, behavior, usage and the full placeholder reference.


Requirements

PluginVersionType
PlaceholderAPI (CurseForge)≥ 1.0.8Optional dependency
Endless-Leveling-Core≥ 11.2.2Ships the el expansion
Endless-Guilds≥ 1.1.0Ships the guilds expansion
EndlessLink≥ 2.4.1Ships the endlesslink expansion

Setup & Behavior

Each mod's PlaceholderAPI expansion self-registers on boot when PlaceholderAPI is installed. If PlaceholderAPI isn't present, the mod soft-loads and the expansion no-ops — a single info log line, nothing else changes. No configuration is required either way.


Usage

EndlessLink chat layoutingameChatLayout accepts any %...% PAPI token alongside EndlessLink's own internal chat tokens. PAPI tokens resolve before EndlessLink's internal chat tokens.

ingameChatLayout: "%endlesslink_rank% %el_class% [Lv.%el_level%] %player_name%: %message%"

Endless-Info labels — labels and boards resolve PAPI tokens too:

Guild: %guilds_name% (%guilds_tag%) — Lv.%guilds_level% — %guilds_online%/%guilds_members% online

The Core expansion is deliberately identified el, not endless, because chat resolves PAPI first — an endless identifier would shadow EndlessLink's own internal %endless_level% / %endless_prestige% chat tokens.


Endless Leveling — el

Identifier el, shipped by Endless-Leveling-Core 11.2.2+. All return empty when the player's profile isn't loaded.

PlaceholderDescriptionExample
%el_level%Level of active profile47
%el_xp%XP, rounded128450
%el_xp_formatted%Abbreviated K/M/B128.45K
%el_xp_needed%XP remaining to next level (0 at cap)3200
%el_xp_progress%Percent into current level, 0–10073
%el_prestige%Earned prestige2
%el_prestige_effective%Prestige + external bonus3
%el_prestige_highest%Highest prestige across profiles4
%el_skill_points%Unspent skill points5
%el_class%Primary class display nameDuelist
%el_class_id%Raw class idduelist
%el_class_secondary%Secondary class name or emptyPriest
%el_race%Race display nameHuman
%el_cdr%Total ability cooldown reduction, percent20
%el_stat_lifesteal_pct%Constant lifesteal %12
%el_stat_lifesteal_max_pct%Max scaling lifesteal %25
%el_stat_healing_bonus_pct%Healing-received bonus %10
%el_stat_pierce_pct%Innate armor-pierce %8
%el_stat_pierce_flat%Flat armor pierce4.5
%el_stat_bonus_damage_max_pct%Max bonus damage %35
%el_stat_hp_regen_flat%HP regen per second2
%el_stat_hp_regen_pct%HP regen, % of max per 5s5
%el_stat_mana_regen_flat%Mana regen per second1.5
%el_stat_mana_regen_pct%Mana regen, % of max per 5s3
%el_stat_stamina_regen_pct%Bonus stamina recovery %15
%el_attribute_<name>%Allocated points in a skill attribute, e.g. %el_attribute_strength%12
%el_augments%Count of selected augments4

Endless Guilds — guilds

Identifier guilds, shipped by Endless Guilds 1.1.0+. Non-boolean keys return empty when the player isn't in a guild.

PlaceholderDescriptionExample
%guilds_in_guild%Whether the player is in a guildtrue / false
%guilds_name%Guild nameEndless Academy
%guilds_tag%TagEND
%guilds_tag_color%Tag color, hex#55ffaa
%guilds_level%Guild level12
%guilds_xp%Guild XP483200
%guilds_xp_needed%XP to next guild level600000
%guilds_bank%Raw bank balance1250000
%guilds_bank_formatted%Abbreviated bank balance1.3M
%guilds_lifetime_income%Lifetime bank income9800000
%guilds_members%Member count18
%guilds_member_cap%Member capacity26
%guilds_online%Online members4
%guilds_role%RankLeader / Co-Leader / Officer / Scout / Member
%guilds_leader%Leader's nameAirijko
%guilds_contribution%Player's lifetime bank deposits42000
%guilds_xp_contribution%Player's guild-XP contribution31500
%guilds_tax_paid%Cumulative tax paid1200
%guilds_perk_level%Perk level12
%guilds_is_vassal%Whether the guild is a vassaltrue / false

EndlessLink — endlesslink

Identifier endlesslink, shipped by EndlessLink 2.4.1+.

PlaceholderDescriptionExample
%endlesslink_rank%Selected rank tag, with color codes and brackets[VIP]
%endlesslink_rank_id%Raw rank idvip
%endlesslink_rank_raw%Rank text, no bracketsVIP
%endlesslink_rank_color%Rank's hex color#FFD24A
%endlesslink_title%Selected titleWanderer
%endlesslink_title_raw%Title stripped of formattingVeteran
%endlesslink_in_guild%Whether the player is in a guildtrue / false
%endlesslink_guild_name%Guild name
%endlesslink_guild_tag%Guild tag
%endlesslink_guild_level%Guild level
%endlesslink_guild_members%Member count
%endlesslink_guild_online%Online member count
%endlesslink_guild_role%Rankleader / officer / member
%endlesslink_discord_linked%Whether Discord is linkedtrue / false
%endlesslink_discord_name%Linked Discord username
%endlesslink_prestige_tag%EL prestige chat tag, as plain textP3
%endlesslink_level_tag%EL level chat tag, as plain textLv.42
%endlesslink_universe_tag%Cross-realm tag (empty unless in universe chat mode)

%endlesslink_guild_*% reflect EndlessLink's chat guild metadata; %guilds_*% from Endless Guilds is the authoritative guild data.


Legacy / raid placeholders — endlessleveling

Identifier endlessleveling, a legacy raid-focused expansion kept for compatibility.

PlaceholderDescription
%endlessleveling_level%Same as %el_level%
%endlessleveling_prestige%Same as %el_prestige%
%endlessleveling_raid_time%Active-raid time remaining
%endlessleveling_raid_seconds%Active-raid time remaining, in seconds
%endlessleveling_raid_name%Active raid's name
%endlessleveling_raid_status%Active raid's status

Troubleshooting

SymptomCause
Token shows up literally (e.g. %el_level% unresolved)PlaceholderAPI isn't installed, or the mod that ships that expansion is missing/outdated
Token expands to emptyNo data to show — profile not loaded, player not in a guild, or nothing selected (rank/title)
Guild placeholders disagree between %endlesslink_guild_*% and %guilds_*%Expected — endlesslink_guild_* reflects EndlessLink's own chat guild metadata, guilds_* from Endless Guilds is the authoritative guild data