Changelog
[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
- Repel rod positions are no longer persisted independently (in
- #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)
Changelog
[0.17.6-beta] - 2026-01-29
Fixed:
- #383 New
nbtargument intrainer summoncommands not being optional as supposed to
Changelog
[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"]]
- a. single values:
- #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.
Changelog
[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)
Changelog
[0.17.3-beta] - 2025-11-29
Fixed:
- #369 Desync issue with displayed player level cap in a trainer card
Changelog
[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
Changelog
[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)
Changelog
[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)
Changelog
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)
Changelog
[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


