Radical Cobblemon Trainers
Over 1500 unique and challenging trainers, from the Pokemon ROM hacks Radical Red (v3.02) and Unbound (v2.0.3.2) as well as the main series games Brilliant Diamond/Shining Pearl, that will spawn naturally in your world.
Supported By
Description
Trainer spawning: Encounter different trainers in different biomes.

Textures were procedurally generated in advance so trainer appearances do not resemble any specific figures.
Story Mode: Defeat leaders, rivals and many more to become the ultimate champion.


Choose your path: Seek out the Trainer Association to start a journey of your choice.



Player Progression: Limits how far players can progress by preventing pokemon in their party, below a certain level (level cap), to gain any exp until they have defeated the next key trainer (e. g. leader).

Trainer Card: The Trainer Card will help you to keep track of your progress, find information about trainers and to locate the next key trainer to increase your level cap, when they spawn nearby.


Endgame: There are many challenging trainers for you to encounter, even after becoming a champion. Seek out stronger trainers for better loot, or complete multiple series (again) to permanently boost your luck!

Youtube Guides
Overview of the series feature (added with 0.14) by Pocketcraft:
Awesome guide by Jonathan's Playroom (applies to version 0.13 for the most part):
Another great guide for 0.13 by Pocketcraft:
Configuration/Documentation
The mod contains many config options and has an extensive data pack support. Please refer to the documentation for more information, guides and the FAQ.
Dependencies
- Cobblemon
- Radical Cobblemon Trainers API
- Forge Config API Port (only on fabric)
Data Packs (official)
- Loot tables for badges from Cobblemon Pokemon Badges: RCT Badges - Cobblemon Pokemon Badges
- Loot tables for badges from PKGBadges: RCT Badges - PKGBadges
- Loot tables for badges from Elemental Effects Badges: RCT Badges - Elemental Effects Badges
Only install one of these.
Other Addons
- Radical Gyms & Structures adds structures for gym leaders that will generate in your world.
- Run and Bun is an advanced trainer battle AI and provides an alternative option to configure your trainers with.
- More Radical Trainers will add many themed shorter series for you to conquer.
- Failrun is another series data pack with custom trainers and a long progression-focused series.
- The mod is to easy for you? Check out Cobblemon: Mega Showdown, while it will enable you to use gimmicks like mega evolutions, so will it also enable these features for trainers from the core series of this mod.
- Not happy with the textures? Trainer Texture Pack provides many pokemon franchise inspired skins for trainers.
- ToolTipFix fixes issues with tooltips of the Trainer Card being to large to properly read (only on fabric).
These are just some suggestions. There are most likely many more exciting addons out there.
Known Issues
- The Trainer Card arrow will not render when "Emissive Textures" is enabled in Continuity
- Trainers fail to spawn with Convenient Decors installed
- There have been complications when trying to pick up trainers with mods like Carry On (trainers may not be temporarily removed from worlds or the spawing system can run into unexpected issues)
Planned features
More/Better/Fixed assets (Teams, Textures, Mobs, Dialogs, Loot tables, ...)- Clear distinction between male and female trainers (textures)
- Clear distinction between adult and child trainers (models)
More config and datapack options to allow trainers beeing used in advancement like scenarios:disable despawningmax trainer defeats/wins per playerinfinite trainer defeats/wins (e.g. by setting (global) max wins/defeats to0)loot condition for n'th (e.g. 1st) defeat (defeat_count)
AdvancementsMore user feedback in certain situations (e.g. when a player gains a badge)Some config optionsMore commandsFabric
Discord
You can find a Discord Channel for this mod in the Cobblemon Discord Server.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
## [0.19.2-beta] - 2026-09-23
- Added:**
- #410* Dedicated speech bubble font asset at
assets/rctmod/font/speech_bubble.json
- Fixed:**
- #409* Client crashes due to incompatibilies of speech bubble text (e.g. with Sodium)
- #408* Speech bubble text rendering behind the background on neoforge
## [0.19.2-beta] - 2026-09-23
- Added:**
- #410* Dedicated speech bubble font asset at
assets/rctmod/font/speech_bubble.json
- Fixed:**
- #409* Client crashes due to incompatibilies of speech bubble text (e.g. with Sodium)
- #408* Speech bubble text rendering behind the background on neoforge
## [0.19.1-beta] - 2026-09-20
- Changed:**
- #407* Trainer messages are now displayed as speech bubbles above their head (chat messages are still available but optional)
- Added related server config options (
showMessageAsSpeechBubbleandshowMessagesInChat) - Slightly adjsuted trainer entity AI so they will stand still while talking
- Speech bubble texture(s) can be changed with a resource pack (
assets/rctmod/textures/speech_bubbles) and use the same pattern as other assets to allow to assign them to all trainers (default.png), groups of trainers (groups/) or single trainers (singles/). The default texture is160x90px with16px space for borders (other dimensions are possible, the border scales accordingly) - #406* Updated trainer loot tables to include Cobblemon TMs
## [0.19.1-beta] - 2026-09-20
- Changed:**
- #407* Trainer messages are now displayed as speech bubbles above their head (chat messages are still available but optional)
- Added related server config options (
showMessageAsSpeechBubbleandshowMessagesInChat) - Slightly adjsuted trainer entity AI so they will stand still while talking
- Speech bubble texture(s) can be changed with a resource pack (
assets/rctmod/textures/speech_bubbles) and use the same pattern as other assets to allow to assign them to all trainers (default.png), groups of trainers (groups/) or single trainers (singles/). The default texture is160x90px with16px space for borders (other dimensions are possible, the border scales accordingly) - #406* Updated trainer loot tables to include Cobblemon TMs
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.19.0-beta] - 2026-09-07
- Changed:**
- #405* Update min required version of Cobblemon to
1.8
- Fixed:**
- #404* Some issues related to attempts of trainer initialization before a server was fully started
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.19.0-beta] - 2026-09-07
- Changed:**
- #405* Update min required version of Cobblemon to
1.8
- Fixed:**
- #404* Some issues related to attempts of trainer initialization before a server was fully started
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.18.1-beta] - 2026-04-12
- Fixed:**
- #403* Crash related to certain series constellations
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.18.1-beta] - 2026-04-12
- Fixed:**
- #403* Crash related to certain series constellations
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.18.0-beta] - 2026-04-11
- Added:**
- #402* New
format=<format>argument for theget progress graphcommand. Possible values are: png: Generate an image file, saved on the clientsvg: Generate a vector graphic file, saved on the clientuml: Generate a *PlantUML* graph, can be viewed online, old behaviour, default- #401* Series property
hideTrainerIdentities: Determines if trainer names/is are hidden in the progress graph (see *#400*) unless they are required or have been beaten before - #400* The trainer card now offers the option to view the *series progress graph* ingame as vector graphic
- Series progress graph visualization is powered by *JGraphT* (*PlantUML* graphs can still be generated, see also *#402*)
- #399* Trainer mob property
requiredSeries: Similar torequiredDefeatsallows to define series that a player has to complete before a trainer can be challenged (shoutout to Kile for implementing this) - #398* Trainer mobs now support TBCS win commands
- An overview of the win command and selector syntax can be found in the [TBCS mod description](https://modrinth.com/mod/tbcs)
- The TBCS mod needs to be installed **on the server side** for win commands to function (**the mod is optional for clients**)
- The [Pack Builder tool](https://srcmc.gitlab.io/rct/docs/latest/tools/pack_builder/about/) has been updated with form fields for the new "Win Commands" property (see "Mobs")
- Changed:**
- #397* Adjusted
get progress graphcommand to generate graphs in dedicated threads, which reduces overall load on the server during the process - #396* Some labels in the trainer card will now scale down automatically (to ensure they better fit for different languages)
- #395* Update min required version of
rctapito0.15.0-beta
- Fixed:**
- #394* Client side lag when in the Trainer Card menu while attending to larger series
- #393* Command
get progress graphsometimes unexpectedly failing for certain series - #392* Potential crash caused by trainer names unexpectedly getting unset from other sources (mods or datapacks)
- #391* Trainer type related advancements not getting rewarded (players that might have missed advancaments will get these granted if they defeat any of the required trainers again)
- #390* Various performance issues related to level cap and trainer level calculations
- Removed:**
- #389* Command flags
include_defeated,include_optionalsandinclude_singlesfromplayer get progress graph(usedefeated/optionals/singles=<boolean>instead)
As of version
0.18.0-beta, Radical Cobblemon Trainers may only be redistributed under the terms of the [MCOML License](https://gitlab.com/srcmc/rct/mod/-/raw/1.21.1/LICENSE.txt?ref_type=heads).## [0.18.0-beta] - 2026-04-11
- Added:**
- #402* New
format=<format>argument for theget progress graphcommand. Possible values are: png: Generate an image file, saved on the clientsvg: Generate a vector graphic file, saved on the clientuml: Generate a *PlantUML* graph, can be viewed online, old behaviour, default- #401* Series property
hideTrainerIdentities: Determines if trainer names/is are hidden in the progress graph (see *#400*) unless they are required or have been beaten before - #400* The trainer card now offers the option to view the *series progress graph* ingame as vector graphic
- Series progress graph visualization is powered by *JGraphT* (*PlantUML* graphs can still be generated, see also *#402*)
- #399* Trainer mob property
requiredSeries: Similar torequiredDefeatsallows to define series that a player has to complete before a trainer can be challenged (shoutout to Kile for implementing this) - #398* Trainer mobs now support TBCS win commands
- An overview of the win command and selector syntax can be found in the [TBCS mod description](https://modrinth.com/mod/tbcs)
- The TBCS mod needs to be installed **on the server side** for win commands to function (**the mod is optional for clients**)
- The [Pack Builder tool](https://srcmc.gitlab.io/rct/docs/latest/tools/pack_builder/about/) has been updated with form fields for the new "Win Commands" property (see "Mobs")
- Changed:**
- #397* Adjusted
get progress graphcommand to generate graphs in dedicated threads, which reduces overall load on the server during the process - #396* Some labels in the trainer card will now scale down automatically (to ensure they better fit for different languages)
- #395* Update min required version of
rctapito0.15.0-beta
- Fixed:**
- #394* Client side lag when in the Trainer Card menu while attending to larger series
- #393* Command
get progress graphsometimes unexpectedly failing for certain series - #392* Potential crash caused by trainer names unexpectedly getting unset from other sources (mods or datapacks)
- #391* Trainer type related advancements not getting rewarded (players that might have missed advancaments will get these granted if they defeat any of the required trainers again)
- #390* Various performance issues related to level cap and trainer level calculations
- Removed:**
- #389* Command flags
include_defeated,include_optionalsandinclude_singlesfromplayer get progress graph(usedefeated/optionals/singles=<boolean>instead)
## [0.17.7-beta] - 2026-03-19
- Added:**
- #388* Debug config option
logRepelRods: Enables logging for additional information about trainer repel rods
- Changed:**
- #387* Reworked Trainer Repel Rod to a block entity
- Repel rod positions are no longer persisted independently (in
data/rctmod.spawn.chunks.repel.map.dat) - The block entity now registers itself once it receives its first tick (i.e. its chunk is loaded)
- This change possibly fixes previously reported issues of repel rods randomly stopping to work and should overall be a more stable solution (while the actual bug was never confirmed/reproduced this is still fair to assume due to the complete rework)
- Unfortunately **existing repel rods will have to be replaced** (or pulsed with redstone) to get registered as block entities
- #386* Trainer repel rod now connects to redstone dust
- Fixed:**
- #385* NPE when attempting to access minecraft instance in datagen task
- #384* Possibility for trainers to spawn outside a players simulation distance (causing chunks to load and performance issues)
## [0.17.7-beta] - 2026-03-19
- Added:**
- #388* Debug config option
logRepelRods: Enables logging for additional information about trainer repel rods
- Changed:**
- #387* Reworked Trainer Repel Rod to a block entity
- Repel rod positions are no longer persisted independently (in
data/rctmod.spawn.chunks.repel.map.dat) - The block entity now registers itself once it receives its first tick (i.e. its chunk is loaded)
- This change possibly fixes previously reported issues of repel rods randomly stopping to work and should overall be a more stable solution (while the actual bug was never confirmed/reproduced this is still fair to assume due to the complete rework)
- Unfortunately **existing repel rods will have to be replaced** (or pulsed with redstone) to get registered as block entities
- #386* Trainer repel rod now connects to redstone dust
- Fixed:**
- #385* NPE when attempting to access minecraft instance in datagen task
- #384* Possibility for trainers to spawn outside a players simulation distance (causing chunks to load and performance issues)
## [0.17.6-beta] - 2026-01-29
- Fixed:**
- #383* New
nbtargument intrainer summoncommands not being optional as supposed to
## [0.17.6-beta] - 2026-01-29
- Fixed:**
- #383* New
nbtargument intrainer summoncommands not being optional as supposed to
## [0.17.5-beta] - 2026-01-27
- Added:**
- #382* Portuguese (Brazil) language support (big thanks to PrincessStellar!). Note: The level cap entry in the trainer card may have some letters overlap due to space restriction, this will be fixed with an upcoming update.
- Changed:**
- #381* The command
rctmod player get progress graphnow accepts the flagsdefeated=<boolean>,optionals=<boolean>andsingles=<boolean>withdefeatedandoptionalsdefaulting totruewhilesinglesdefaults tofalse(activating this flag will let the graph hit the limits of PlantUML but it may have its uses in the future) - #380* The commands
rctmod trainer summonandsummon_persistentnow optionally accept an nbt tag as last argument (like vanillasummon) - #379* The properties
requiredDefeatsandrequiredSeriesof trainer mobs and series respectively are now more lenient towards the format of data they accept (<example input>=><how it will be interpreted>): - a. single values:
"example"=>[["example"]] - b. array of single values:
["example1", "example2"]=>[["example1"], ["example2"]] - c. array of arrays with values:
[["example1", "example2"], "example3"]=>[["example1", "example2"], ["example3"]] - #378* Trainer Spawner block now has an additional block state
inverted: Inverts how the block reacts to redstone (i.e. it will be boosted if not powered). The value is set tofalseby default, usesetblockto create a spawner with custom block states (e.g.rctmod:trainer_spawner[inverted=true]).
- Fixed:**
- #377* Json parser for data packs crashing the game/server when loading invalid json (errors are now logged but otherwise ignored)
- #376* NPE when running datagen with this mod in a dev environment (probably)
- #375* Outdated format of internal data pack
- #374* Relative level cap of trainer mobs and series getting capped between
[1, 100]instead of[-100, 100]
- Deprecated:**
- #373* Command flags
include_defeated,include_optionalsandinclude_singles(these will for now attempt to set the corresponding new flag totruebut with a lower priority, see also *#381*). They are scheduled to be removed completely with0.18.0-beta.
## [0.17.5-beta] - 2026-01-27
- Added:**
- #382* Portuguese (Brazil) language support (big thanks to PrincessStellar!). Note: The level cap entry in the trainer card may have some letters overlap due to space restriction, this will be fixed with an upcoming update.
- Changed:**
- #381* The command
rctmod player get progress graphnow accepts the flagsdefeated=<boolean>,optionals=<boolean>andsingles=<boolean>withdefeatedandoptionalsdefaulting totruewhilesinglesdefaults tofalse(activating this flag will let the graph hit the limits of PlantUML but it may have its uses in the future) - #380* The commands
rctmod trainer summonandsummon_persistentnow optionally accept an nbt tag as last argument (like vanillasummon) - #379* The properties
requiredDefeatsandrequiredSeriesof trainer mobs and series respectively are now more lenient towards the format of data they accept (<example input>=><how it will be interpreted>): - a. single values:
"example"=>[["example"]] - b. array of single values:
["example1", "example2"]=>[["example1"], ["example2"]] - c. array of arrays with values:
[["example1", "example2"], "example3"]=>[["example1", "example2"], ["example3"]] - #378* Trainer Spawner block now has an additional block state
inverted: Inverts how the block reacts to redstone (i.e. it will be boosted if not powered). The value is set tofalseby default, usesetblockto create a spawner with custom block states (e.g.rctmod:trainer_spawner[inverted=true]).
- Fixed:**
- #377* Json parser for data packs crashing the game/server when loading invalid json (errors are now logged but otherwise ignored)
- #376* NPE when running datagen with this mod in a dev environment (probably)
- #375* Outdated format of internal data pack
- #374* Relative level cap of trainer mobs and series getting capped between
[1, 100]instead of[-100, 100]
- Deprecated:**
- #373* Command flags
include_defeated,include_optionalsandinclude_singles(these will for now attempt to set the corresponding new flag totruebut with a lower priority, see also *#381*). They are scheduled to be removed completely with0.18.0-beta.
## [0.17.4-beta] - 2025-11-30
- Changed:**
- #372* Trainers will no longer force players that are actively looking into a container into a battle (player inventory does not count)
- Fixed:**
- #371* Pokemon from players attacking trainers that are targeting/looking at their owners
- Removed:**
- #370* Possibility to summon trainer entites with
/summon(use/rctmod trainer summoninstead)
## [0.17.4-beta] - 2025-11-30
- Changed:**
- #372* Trainers will no longer force players that are actively looking into a container into a battle (player inventory does not count)
- Fixed:**
- #371* Pokemon from players attacking trainers that are targeting/looking at their owners
- Removed:**
- #370* Possibility to summon trainer entites with
/summon(use/rctmod trainer summoninstead)
## [0.17.3-beta] - 2025-11-29
- Fixed:**
- #369* Desync issue with displayed player level cap in a trainer card
## [0.17.3-beta] - 2025-11-29
- Fixed:**
- #369* Desync issue with displayed player level cap in a trainer card
## [0.17.2-beta] - 2025-11-27
- Changed:**
- #368* The
maxLevelDiffto spawn trainers will now scale linearly with a *players level* relative to100. It will never go below4(unless explicitly set to a lower value). An exception to this are *key trainers*, who always may spawn with a level difference up tomaxLevelDiff(basically as it worked before with all trainers).
- Fixed:**
- #367* Spawn chances for trainers not getting properly reduced with larger level difference to a player
## [0.17.2-beta] - 2025-11-27
- Changed:**
- #368* The
maxLevelDiffto spawn trainers will now scale linearly with a *players level* relative to100. It will never go below4(unless explicitly set to a lower value). An exception to this are *key trainers*, who always may spawn with a level difference up tomaxLevelDiff(basically as it worked before with all trainers).
- Fixed:**
- #367* Spawn chances for trainers not getting properly reduced with larger level difference to a player
## [0.17.1-beta] - 2025-11-24
- Changed:**
- #366* Slightly increased speed of trainers that are following a player with a trainer card
- #365* Slightly tweaked trainer entity behaviour when in battle
- Fixed:**
- #364* Outdated item ids for some mega showdown items
- #363* Some trainers having the double battle format while only carrying 1 pokemon (also adjusted display names of such trainers)
- #362* Trainers displaying wrong reward level caps if they are followed by (stronger) optional trainers
- #361* Trainers not following players that are holding a trainer card if they could battle against them (they will stop following if directly being looked at to still allow them to force battles)
- #360* Trainers staring at players that cannot battle against them
- Removed:**
- #359* Log message when trainer id of an entitiy changes
- #358* Trainer response for player level cap being too low (as this may not be a reason for refusing battles anymore)
## [0.17.1-beta] - 2025-11-24
- Changed:**
- #366* Slightly increased speed of trainers that are following a player with a trainer card
- #365* Slightly tweaked trainer entity behaviour when in battle
- Fixed:**
- #364* Outdated item ids for some mega showdown items
- #363* Some trainers having the double battle format while only carrying 1 pokemon (also adjusted display names of such trainers)
- #362* Trainers displaying wrong reward level caps if they are followed by (stronger) optional trainers
- #361* Trainers not following players that are holding a trainer card if they could battle against them (they will stop following if directly being looked at to still allow them to force battles)
- #360* Trainers staring at players that cannot battle against them
- Removed:**
- #359* Log message when trainer id of an entitiy changes
- #358* Trainer response for player level cap being too low (as this may not be a reason for refusing battles anymore)
## [0.17.0-beta] - 2025-11-22
- Added:**
- #357* Config option
forceBattleLookTicks: Number of ticks a player needs to stare at a trainer to get forced into a battle - #356* Config option
forceBattleMaxDistance: Max distance at which trainers can force players into a battle - #355* Config option
forceBattleMaxLevelDiff: Maximum level difference between a trainers and players to allow forced battles - #354* Config option
forceBattleOnSight: Determines if trainers can force players into a battle on sight - #353* New properties for data pack trainer mobs
forceBattleOnSight,forceBattleMaxDistance,forceBattleLookTicksandforceBattleMaxLevelDiff(these will take precedence over the global config values if set for a trainer)
- Changed:**
- #352* Trainers may now force players into a battle if directly looked at for a certain amount of time (see added config options)
- #351* Update min dependency of Cobblemon to
1.7.0 - #350* Update min dependency of RCTApi to
0.14.0-beta
- Fixed:**
- #349* Missing validation of some trainer mob properties when parsed from data pack json objects (issues are generally printed as warnings to the log)
## [0.17.0-beta] - 2025-11-22
- Added:**
- #357* Config option
forceBattleLookTicks: Number of ticks a player needs to stare at a trainer to get forced into a battle - #356* Config option
forceBattleMaxDistance: Max distance at which trainers can force players into a battle - #355* Config option
forceBattleMaxLevelDiff: Maximum level difference between a trainers and players to allow forced battles - #354* Config option
forceBattleOnSight: Determines if trainers can force players into a battle on sight - #353* New properties for data pack trainer mobs
forceBattleOnSight,forceBattleMaxDistance,forceBattleLookTicksandforceBattleMaxLevelDiff(these will take precedence over the global config values if set for a trainer)
- Changed:**
- #352* Trainers may now force players into a battle if directly looked at for a certain amount of time (see added config options)
- #351* Update min dependency of Cobblemon to
1.7.0 - #350* Update min dependency of RCTApi to
0.14.0-beta
- Fixed:**
- #349* Missing validation of some trainer mob properties when parsed from data pack json objects (issues are generally printed as warnings to the log)
Note that the latest
0.16 version only supports Cobblemon 1.6. Version 0.17 is coming soon.## [0.16.11-beta] - 2025-11-22
- Added:**
- #348* Data pack property
initialLevelCapandrelativeLevelCapfor series: Overwrites the global config value for a series if set - #347* Data pack property
relativeLevelCapfor trainer mobs: Overwrites the global config value and series property for a trainer if set
- Changed:**
- #346* Commands
trainer get required/reward_level_capnow require a player selector argument - #345* Renamed server config
additiveLevelCapRequirement->relativeLevelCap(**the option will reset to its default value0**) - #344* Replaced some log errors with warnings
- #343* Trainers (that have the appropriate loot table) may now only drop an
Ancient Origin Ballafter their first defeat and this is only possible for trainers with pokemon at or above level50(the item was originally considered to be removed) - #342* Trainers will no longer refuse battles against players with a lower level cap than the trainer level (they will still refuse for other reasons, e.g. carrying pokemon above the level cap or missing defeats against other trainers)
- Fixed:**
- #341* Adjusted displayed level caps in various locations (e.g. trainer card) to better reflect the actual progression of a player
- #340* Inconsistencies if trainers depend on others from different series (these dependencies are now ignored and a warning is printed to the log)
- #339* Omitting (optional)
titleordescriptionin series metadata causing a crash - #338* Visual bug in legend of generated progression graphs for series (plantuml)
Note that the latest
0.16 version only supports Cobblemon 1.6. Version 0.17 is coming soon.## [0.16.11-beta] - 2025-11-22
- Added:**
- #348* Data pack property
initialLevelCapandrelativeLevelCapfor series: Overwrites the global config value for a series if set - #347* Data pack property
relativeLevelCapfor trainer mobs: Overwrites the global config value and series property for a trainer if set
- Changed:**
- #346* Commands
trainer get required/reward_level_capnow require a player selector argument - #345* Renamed server config
additiveLevelCapRequirement->relativeLevelCap(**the option will reset to its default value0**) - #344* Replaced some log errors with warnings
- #343* Trainers (that have the appropriate loot table) may now only drop an
Ancient Origin Ballafter their first defeat and this is only possible for trainers with pokemon at or above level50(the item was originally considered to be removed) - #342* Trainers will no longer refuse battles against players with a lower level cap than the trainer level (they will still refuse for other reasons, e.g. carrying pokemon above the level cap or missing defeats against other trainers)
- Fixed:**
- #341* Adjusted displayed level caps in various locations (e.g. trainer card) to better reflect the actual progression of a player
- #340* Inconsistencies if trainers depend on others from different series (these dependencies are now ignored and a warning is printed to the log)
- #339* Omitting (optional)
titleordescriptionin series metadata causing a crash - #338* Visual bug in legend of generated progression graphs for series (plantuml)
## [0.16.10-beta] - 2025-10-16
- Fixed:**
- #337* Potential crash if blocks that serve as proxies for players (e.g. Deployers) interact with trainers while the player is in a different dimension
- #336* Potential crash related to the removal of existing dimensions containing persistent trainers
## [0.16.10-beta] - 2025-10-16
- Fixed:**
- #337* Potential crash if blocks that serve as proxies for players (e.g. Deployers) interact with trainers while the player is in a different dimension
- #336* Potential crash related to the removal of existing dimensions containing persistent trainers
