Plugin that integrates Cobblemon statistics into PlaceholderApi
Plugin that uses statistics data from cobblemon mod on hybrid servers and hooks into PlaceholdersAPI with good looking info
StatMonsPAPI Placeholders
Complete placeholder reference for the StatMonsPAPI plugin. All placeholders use the prefix statmonspapi.
Stat names are case‑ and underscore‑insensitive — shinycaught = shiny_caught = shiny_pokemon_caught.
Syntax
| Placeholder | Description |
|---|---|
%statmonspapi_<stat>% |
Value for the player the placeholder is shown to |
%statmonspapi_rank_<stat>% |
This player's rank (- if not ranked) |
%statmonspapi_top<N>_<stat>% |
Value of the player in place N |
%statmonspapi_top<N>_<stat>_value% |
Same as above |
%statmonspapi_top<N>_<stat>_name% |
Name of the player in place N |
%statmonspapi_dexprogress% |
Pokédex progress, e.g. 15/1025 | 1% |
%statmonspapi_dexpercent% |
Pokédex percentage only |
%statmonspapi_dextotal% |
Total number of Pokédex entries |
%statmonspapi_top<N>_dexprogress% |
Pokédex progress of the player in place N (ranked by registered) |
%statmonspapi_top<N>_dexpercent% |
Pokédex percentage of the player in place N |
N is a number from 1 to top-limit (default 100).
Event‑based stats
Counted live by the plugin from Cobblemon events (same logic as the ScoreMons mod).
| Name | Description | Aliases |
|---|---|---|
caught |
Pokémon caught | pokemon_caught, pokemoncaught |
shinycaught |
Shiny Pokémon caught (incl. shinies revived from fossils) | shiny_pokemon_caught |
battlewon |
PvP battles won | battle_won, battleswon, wins |
battlelose |
PvP battles lost | battle_lose, battlelost, losses |
registered |
Pokédex entries registered (species owned) | pokemon_registered |
seen |
Pokédex entries seen | pokemon_seen |
reel |
Pokémon fished up with a rod | pokemon_reel, fished |
trades |
Trades completed | — |
fossilrevived |
Fossils revived | fossil_revived, fossils |
pokeballthrown |
Poké Balls thrown (counted when the ball hits a Pokémon) | pokeball_thrown, ballsthrown |
evolved |
Evolutions | pokemon_evolved, evolutions |
Placeholders per stat
Caught (pokemon_caught, pokemoncaught)
- Player:
%statmonspapi_caught% - Rank:
%statmonspapi_rank_caught% - Top 1:
%statmonspapi_top1_caught_name%—%statmonspapi_top1_caught% - Top 2:
%statmonspapi_top2_caught_name%—%statmonspapi_top2_caught% - Top 3:
%statmonspapi_top3_caught_name%—%statmonspapi_top3_caught%
Shiny caught (shiny_pokemon_caught)
- Player:
%statmonspapi_shinycaught% - Rank:
%statmonspapi_rank_shinycaught% - Top 1:
%statmonspapi_top1_shinycaught_name%—%statmonspapi_top1_shinycaught% - Top 2:
%statmonspapi_top2_shinycaught_name%—%statmonspapi_top2_shinycaught% - Top 3:
%statmonspapi_top3_shinycaught_name%—%statmonspapi_top3_shinycaught%
PvP battles won (battle_won, battleswon, wins)
- Player:
%statmonspapi_battlewon% - Rank:
%statmonspapi_rank_battlewon% - Top 1:
%statmonspapi_top1_battlewon_name%—%statmonspapi_top1_battlewon% - Top 2:
%statmonspapi_top2_battlewon_name%—%statmonspapi_top2_battlewon% - Top 3:
%statmonspapi_top3_battlewon_name%—%statmonspapi_top3_battlewon%
PvP battles lost (battle_lose, battlelost, losses)
- Player:
%statmonspapi_battlelose% - Rank:
%statmonspapi_rank_battlelose% - Top 1:
%statmonspapi_top1_battlelose_name%—%statmonspapi_top1_battlelose% - Top 2:
%statmonspapi_top2_battlelose_name%—%statmonspapi_top2_battlelose% - Top 3:
%statmonspapi_top3_battlelose_name%—%statmonspapi_top3_battlelose%
Pokédex entries registered (pokemon_registered)
- Player:
%statmonspapi_registered% - Rank:
%statmonspapi_rank_registered% - Top 1:
%statmonspapi_top1_registered_name%—%statmonspapi_top1_registered% - Top 2:
%statmonspapi_top2_registered_name%—%statmonspapi_top2_registered% - Top 3:
%statmonspapi_top3_registered_name%—%statmonspapi_top3_registered%
Pokédex entries seen (pokemon_seen)
- Player:
%statmonspapi_seen% - Rank:
%statmonspapi_rank_seen% - Top 1:
%statmonspapi_top1_seen_name%—%statmonspapi_top1_seen% - Top 2:
%statmonspapi_top2_seen_name%—%statmonspapi_top2_seen% - Top 3:
%statmonspapi_top3_seen_name%—%statmonspapi_top3_seen%
Pokémon fished up (pokemon_reel, fished)
- Player:
%statmonspapi_reel% - Rank:
%statmonspapi_rank_reel% - Top 1:
%statmonspapi_top1_reel_name%—%statmonspapi_top1_reel% - Top 2:
%statmonspapi_top2_reel_name%—%statmonspapi_top2_reel% - Top 3:
%statmonspapi_top3_reel_name%—%statmonspapi_top3_reel%
Trades completed
- Player:
%statmonspapi_trades% - Rank:
%statmonspapi_rank_trades% - Top 1:
%statmonspapi_top1_trades_name%—%statmonspapi_top1_trades% - Top 2:
%statmonspapi_top2_trades_name%—%statmonspapi_top2_trades% - Top 3:
%statmonspapi_top3_trades_name%—%statmonspapi_top3_trades%
Fossils revived (fossil_revived, fossils)
- Player:
%statmonspapi_fossilrevived% - Rank:
%statmonspapi_rank_fossilrevived% - Top 1:
%statmonspapi_top1_fossilrevived_name%—%statmonspapi_top1_fossilrevived% - Top 2:
%statmonspapi_top2_fossilrevived_name%—%statmonspapi_top2_fossilrevived% - Top 3:
%statmonspapi_top3_fossilrevived_name%—%statmonspapi_top3_fossilrevived%
Poké Balls thrown (pokeball_thrown, ballsthrown)
- Player:
%statmonspapi_pokeballthrown% - Rank:
%statmonspapi_rank_pokeballthrown% - Top 1:
%statmonspapi_top1_pokeballthrown_name%—%statmonspapi_top1_pokeballthrown% - Top 2:
%statmonspapi_top2_pokeballthrown_name%—%statmonspapi_top2_pokeballthrown% - Top 3:
%statmonspapi_top3_pokeballthrown_name%—%statmonspapi_top3_pokeballthrown%
Evolutions (pokemon_evolved, evolutions)
- Player:
%statmonspapi_evolved% - Rank:
%statmonspapi_rank_evolved% - Top 1:
%statmonspapi_top1_evolved_name%—%statmonspapi_top1_evolved% - Top 2:
%statmonspapi_top2_evolved_name%—%statmonspapi_top2_evolved% - Top 3:
%statmonspapi_top3_evolved_name%—%statmonspapi_top3_evolved%
Cobblemon data stats
Read from world/cobblemonplayerdata/. Covers each player's full history, including offline players.
| Name | Description | Aliases |
|---|---|---|
defeated |
Wild Pokémon defeated | pokemon_defeated, killed, kills |
battle_victory |
All battles won | victories, allwins, totalwins |
pvw_wins |
Battles won against wild Pokémon | pvwwins, wildwins |
pvn_wins |
Battles won against NPC trainers | pvnwins, npcwins |
eggs_collected |
Eggs collected | eggscollected, eggs |
eggs_hatched |
Eggs hatched | eggshatched, hatched |
alpha_caught |
Alpha Pokémon caught | alphacaught, alphas |
tm_learned |
TMs learned | tmlearned, tms |
aspects_collected |
Aspects collected (forms and variants) | aspects, forms |
Placeholders per stat
Wild Pokémon defeated (pokemon_defeated, killed, kills)
- Player:
%statmonspapi_defeated% - Rank:
%statmonspapi_rank_defeated% - Top 1:
%statmonspapi_top1_defeated_name%—%statmonspapi_top1_defeated% - Top 2:
%statmonspapi_top2_defeated_name%—%statmonspapi_top2_defeated% - Top 3:
%statmonspapi_top3_defeated_name%—%statmonspapi_top3_defeated%
All battles won (victories, allwins, totalwins)
- Player:
%statmonspapi_battle_victory% - Rank:
%statmonspapi_rank_battle_victory% - Top 1:
%statmonspapi_top1_battle_victory_name%—%statmonspapi_top1_battle_victory% - Top 2:
%statmonspapi_top2_battle_victory_name%—%statmonspapi_top2_battle_victory% - Top 3:
%statmonspapi_top3_battle_victory_name%—%statmonspapi_top3_battle_victory%
Battles won vs wild Pokémon (pvwwins, wildwins)
- Player:
%statmonspapi_pvw_wins% - Rank:
%statmonspapi_rank_pvw_wins% - Top 1:
%statmonspapi_top1_pvw_wins_name%—%statmonspapi_top1_pvw_wins% - Top 2:
%statmonspapi_top2_pvw_wins_name%—%statmonspapi_top2_pvw_wins% - Top 3:
%statmonspapi_top3_pvw_wins_name%—%statmonspapi_top3_pvw_wins%
Battles won vs NPC trainers (pvnwins, npcwins)
- Player:
%statmonspapi_pvn_wins% - Rank:
%statmonspapi_rank_pvn_wins% - Top 1:
%statmonspapi_top1_pvn_wins_name%—%statmonspapi_top1_pvn_wins% - Top 2:
%statmonspapi_top2_pvn_wins_name%—%statmonspapi_top2_pvn_wins% - Top 3:
%statmonspapi_top3_pvn_wins_name%—%statmonspapi_top3_pvn_wins%
Eggs collected (eggscollected, eggs)
- Player:
%statmonspapi_eggs_collected% - Rank:
%statmonspapi_rank_eggs_collected% - Top 1:
%statmonspapi_top1_eggs_collected_name%—%statmonspapi_top1_eggs_collected% - Top 2:
%statmonspapi_top2_eggs_collected_name%—%statmonspapi_top2_eggs_collected% - Top 3:
%statmonspapi_top3_eggs_collected_name%—%statmonspapi_top3_eggs_collected%
Eggs hatched (eggshatched, hatched)
- Player:
%statmonspapi_eggs_hatched% - Rank:
%statmonspapi_rank_eggs_hatched% - Top 1:
%statmonspapi_top1_eggs_hatched_name%—%statmonspapi_top1_eggs_hatched% - Top 2:
%statmonspapi_top2_eggs_hatched_name%—%statmonspapi_top2_eggs_hatched% - Top 3:
%statmonspapi_top3_eggs_hatched_name%—%statmonspapi_top3_eggs_hatched%
Alpha Pokémon caught (alphacaught, alphas)
- Player:
%statmonspapi_alpha_caught% - Rank:
%statmonspapi_rank_alpha_caught% - Top 1:
%statmonspapi_top1_alpha_caught_name%—%statmonspapi_top1_alpha_caught% - Top 2:
%statmonspapi_top2_alpha_caught_name%—%statmonspapi_top2_alpha_caught% - Top 3:
%statmonspapi_top3_alpha_caught_name%—%statmonspapi_top3_alpha_caught%
TMs learned (tmlearned, tms)
- Player:
%statmonspapi_tm_learned% - Rank:
%statmonspapi_rank_tm_learned% - Top 1:
%statmonspapi_top1_tm_learned_name%—%statmonspapi_top1_tm_learned% - Top 2:
%statmonspapi_top2_tm_learned_name%—%statmonspapi_top2_tm_learned% - Top 3:
%statmonspapi_top3_tm_learned_name%—%statmonspapi_top3_tm_learned%
Aspects collected (aspects, forms)
- Player:
%statmonspapi_aspects_collected% - Rank:
%statmonspapi_rank_aspects_collected% - Top 1:
%statmonspapi_top1_aspects_collected_name%—%statmonspapi_top1_aspects_collected% - Top 2:
%statmonspapi_top2_aspects_collected_name%—%statmonspapi_top2_aspects_collected% - Top 3:
%statmonspapi_top3_aspects_collected_name%—%statmonspapi_top3_aspects_collected%
Caught by type
Eighteen stats named caught_type_<type>. Each follows the same placeholder pattern as the other stats.
| Type | Stat | Aliases |
|---|---|---|
| Normal | caught_type_normal |
typenormal, caughtnormal |
| Fire | caught_type_fire |
typefire, caughtfire |
| Water | caught_type_water |
typewater, caughtwater |
| Grass | caught_type_grass |
typegrass, caughtgrass |
| Electric | caught_type_electric |
typeelectric, caughtelectric |
| Ice | caught_type_ice |
typeice, caughtice |
| Fighting | caught_type_fighting |
typefighting, caughtfighting |
| Poison | caught_type_poison |
typepoison, caughtpoison |
| Ground | caught_type_ground |
typeground, caughtground |
| Flying | caught_type_flying |
typeflying, caughtflying |
| Psychic | caught_type_psychic |
typepsychic, caughtpsychic |
| Bug | caught_type_bug |
typebug, caughtbug |
| Rock | caught_type_rock |
typerock, caughtrock |
| Ghost | caught_type_ghost |
typeghost, caughtghost |
| Dragon | caught_type_dragon |
typedragon, caughtdragon |
| Dark | caught_type_dark |
typedark, caughtdark |
| Steel | caught_type_steel |
typesteel, caughtsteel |
| Fairy | caught_type_fairy |
typefairy, caughtfairy |
Example — Normal‑type Pokémon caught
Normal‑type Pokémon caught (typenormal, caughtnormal)
- Player:
%statmonspapi_caught_type_normal% - Rank:
%statmonspapi_rank_caught_type_normal% - Top 1:
%statmonspapi_top1_caught_type_normal_name%—%statmonspapi_top1_caught_type_normal% - Top 2:
%statmonspapi_top2_caught_type_normal_name%—%statmonspapi_top2_caught_type_normal% - Top 3:
%statmonspapi_top3_caught_type_normal_name%—%statmonspapi_top3_caught_type_normal%
The same pattern applies to all 18 types — just swap caught_type_normal for caught_type_fire, caught_type_water, etc.
Pokédex progress
| What | Placeholder |
|---|---|
| Player | %statmonspapi_dexprogress% |
| Player — percentage | %statmonspapi_dexpercent% |
| Total entries | %statmonspapi_dextotal% |
| Top 1 — name | %statmonspapi_top1_registered_name% |
| Top 1 — progress | %statmonspapi_top1_dexprogress% |
| Top 1 — percentage | %statmonspapi_top1_dexpercent% |
| Top 2 — name | %statmonspapi_top2_registered_name% |
| Top 2 — progress | %statmonspapi_top2_dexprogress% |
| Top 2 — percentage | %statmonspapi_top2_dexpercent% |
| Top 3 — name | %statmonspapi_top3_registered_name% |
| Top 3 — progress | %statmonspapi_top3_dexprogress% |
| Top 3 — percentage | %statmonspapi_top3_dexpercent% |
Example
1. %statmonspapi_top1_shinycaught_name% - %statmonspapi_top1_shinycaught% 2. %statmonspapi_top2_shinycaught_name% - %statmonspapi_top2_shinycaught% 3. %statmonspapi_top3_shinycaught_name% - %statmonspapi_top3_shinycaught% You: %statmonspapi_shinycaught% (rank %statmonspapi_rank_shinycaught%)
Notes
- No data: name
-, value0— changeable inconfig.yml(empty-name,empty-value). - Updates: event‑based stats update live. Cobblemon data stats update when Cobblemon saves the player file.
- Rankings are recalculated every
refresh-seconds(default 30 s). - Pokédex progress: format, entry count and decimal places are set in
config.yml(pokedex-format,pokedex-total,pokedex-percent-decimals). defeatedandcaught_type_*depend on field names in Cobblemon 1.8.2 player files. If one always shows0, check theadvancementDatasection of a player file.

