Changelog
[0.16.5-beta] - 2025-06-24
Fixed:
- #316 Glitchy rendering of the trainer card arrow (thanks f0kx for helping to test this)
Changelog
[0.16.4-beta] - 2025-06-21
Changed:
- #315 Default translation (
en_us
) of empty series title (series.rctmod.empty.title
) to "No Series" - #314 Lowered difficulty rating of
unbound
series from9
to8
- #313 Trainer Card UI now shows current series title for the "All" trainers category
Fixed:
- #312 Reorganized some initialization logic (this might fix the startup issue some people with larger mod packs encountered on neoforge)
- #311 Trainer Card arrow not rendering while in offhand
- #310 Trainer Card gui opening while placing blocks
Removed:
- #309 Language key
trainer_type.rctmod.all.title
Changelog
[0.16.3-beta] - 2025-06-17
Fixed:
- #308 Hotfix for event handlers sometimes not getting registered in fabric server environments, which was the cause for several features failing to work
- #307 Some minor adjustments to trainer manager initialization
Changelog
[0.16.2-beta] - 2025-06-16
Changed:
- #306 Error handling of trainer entities with invalid trainer ids: A warning will now be printed in chat (for ops only) and the trainer will be ignored otherwise (instead of shutting down the server)
Fixed:
- #305 Cobblemon event registration after the mod was initialized (this hopefully fixes some rarely occurring crashes on client/server startup)
- #304 Some random crashes related to attempts of accessing a
PlayerState
before it was initialized
Changelog
[0.16.1-beta] - 2025-06-06
Changed:
- #303 Many trainer pokemon will now hold the appropriate gimmick item if mega showdown is installed
- #302 Update min dependency of rctapi to version
0.13.0-beta
: Trainers are now capable of using gimmicks like zmoves or mega evolutions (requires mega showdown)
Fixed:
- #301 Some trainer pokemon not having the correct aspect (e.g. silvally holding a memory or groudon with a red orb)
Changelog
[0.16.0-beta] - 2025-05-13
Added:
- #300 Config option
freeroamRequiresCompletedSeries
: Configure freeroam series requirement - #299 Config option
initialSeries
: Defines a series new players are automatically assigned to - #298 Language support for trainer names and pokemon nicknames (see also #294)
- #297 New language keys
commands.rctmod.errors.unknown_series
: Error when attempting to set a player to an unknwon seriesgui.rctmod.actionbar.warning.level_cap
: Notification shown to players that attempt to level up pokemon at or above their level capgui.rctmod.title.series_continued
: Title display when a series was continuedgui.rctmod.title.series_paused
: Title display when a series was pausedgui.rctmod.trainer_association.series_continue
: Notice of series continuation in trainer association trade (instead of "Important" section)series.rctmod.freeroam.description
: Freeroam series descriptionseries.rctmod.freeroam.title
: Freeroam series title
- #296 Special freeroam series: Grants players a level cap of
100
and allows to pause the current series- A trade for the freeroam series will be available at the trainer association, for players that have completed any series by default
- Players that are in the freeroam series may switch back to their previous series at the trainer association and continue where they left off (it will be the only available series trade)
Changed:
- #295 Bumped min required version of rctapi to
0.12.0-beta
- #294 Language keys are now automatically defined for certain data pack objects (if not explicitly defined otherwise)
- Pokemon
nickname
property. Format:pokemon.rctmod.<trainer_id>.<position>.nickname
(<position>
starts at0
; theliteral
of anickname
may not be empty, or the translation will be ignored) - Series
description
property. Format:series.rctmod.<series_id>.description
- Series
title
property. Format:series.rctmod.<series_id>.title
- Trainer
name
property. Format:trainer.rctmod.<trainer_id>.name
- Trainer type
name
property. Format:trainer_type.rctmod.<type_id>.name
- Pokemon
- #293 The Trainer Association will no longer list a trade for the current series of a player
- #292 Trainers that are part of a series progression may now refuse to battle players that are not in the correct series (unless a player has beaten them before)
- #291 Translatable text now uses a configured
literal
as fallback if no translation was found
Fixed:
- #290 Fixed Rotom forms of various trainers
- #289 Trainer Card mistakenly indicating that some progression trainers lower the level cap
- #288 Various messages getting displayed in the language that has been configured on the server rather than the configured language on clients (i.e. trainer dialogs and series notifications)
- #287
player set/get defeats
commands not working for trainers that are in a different series
Removed:
- #286 Config option
considerEmptySeriesCompleted
(useinitialSeries="freeroam"
instead) - #285 Identity line ("a.k.a") in Trainer Card (identities are not necessarily well formatted like names and will not get translated)
Changelog
[0.15.1-beta] - 2025-04-25
Changed:
- #284 Added
locked
block state to the Trainer Spawner block: Prevents players from applying any signature items (false
by default) - #283 Format of the
TrainerIds
tag from the Trainer Spawner block to an array (instead of an object)
Changelog
[0.15.0-beta] - 2025-04-24
Added:
- #282 Trainer Repel Rod: Prevents trainers from naturally spawning in a
7x7
chunk area
Changed:
- #281 Added
InBattle
boolean tag to trainer entities - #280 Adjusted some default configs to slightly lower trainer spawn rates
- #279 Changed and added some dialog contexts
- Added
missing_required_trainer_light_of_ruin
- Added
missing_required_trainer_team_galactic
- Added
missing_required_trainer_team_shadow
- Added
missing_required_trainer
- Added
wrong_series
(currently not in use) - Changed
battle_lost
->on_battle_lost
- Changed
battle_start
->on_battle_start
- Changed
battle_won
->on_battle_won
- Changed
done_generic
->unknown_reason
- Changed
done_looser
->trainer_lost
- Changed
done_winner
->trainer_won
- Changed
is_busy
->trainer_busy
- Changed
missing_badges
->missing_required_trainer_leader
- Changed
missing_beaten_champs
->missing_required_trainer_champ
- Changed
missing_beaten_e4
->missing_required_trainer_e4
- Changed
missing_beaten_rival
->missing_required_trainer_rival
- Changed
missing_beaten_team_rocket
->missing_required_trainer_team_rocket
- Added
- #278 Configured distinct identities for Team Rocket Grunts, Bug Catchers and other nameless trainers so that different versions can spawn at the same time
- #277 Defeated trainers won't be immediately removed from a players spawn cap anymore but after a short period of time instead
- #276 Improved language support
- The
title
anddescription
of series, thename
of trainer types as well as dialogs now alternatively accept a json object with atranslatable
and/orliteral
field as value (setting directly a string is equivalent to defining a object with aliteral
field having that string). Support for thename
of trainers will be added at a later point in time - Updated/Added
en_us
language keys for most content from this mod
- The
- #275 New
signatureItem
property for trainers: Formerly known astrainerSpawnerItems
these are now configured per trainer mob (data pack object), yet they still serve the same purpose (items to configure a Trainer Spawner). Updated current trainers to match the previous default configuration and defined signature items for all required trainers from the bdsp and unbound series as well as the ev trainers (friendly coaches) - #274 Overhauled some features of the Trainer Spawner block
- Added
TrainerIds
block entity tag: Now also supports trainers that do not have any signature items configured (e.g. it is now possible to generate Trainer Spawners with arbitrary lists of trainer ids) - Added block state property
lootable
(default istrue
): Set tofalse
to prevent signature items from getting dropped - Can now be configured with multiple items at the same time
- Fixed some issues with trainers not properly occupying trainer spawners: A spawner may not spawn another trainer if it is already occupied
- Removed
renderItemKey
block entity tag: Render items are now derived from the configured trainer id list (see also #275) - The block now also drops all signature items for the configured trainers when destroyed
- Trainers that occupy a trainer spawner have a slight chance to switch to another non-occupied trainer spawner - with the correct signature item - in their vicinity (they did this already but somewhat uncontrolled, this should be fixed now)
- Added
- #273 Trainer cooldowns and defeat count restrictions: Trainers can now be battled indefinetely until beaten but their cooldowns will grow larger when losing frequently in a short time span against them
- #272 Trainer mobs (data pack object)
maxTrainerWins
andmaxTrainerDefeats
may now accept negative values to represent infinity (updated all trainers from this mod accordingly)
Fixed:
- #271 Some issues with the rendering of Trainer Spawner items when multiple spawners are in view
- #270 Trainer Association GUI not opening with the 'Infinite Trading' mod installed (and potentially some other issues related to that)
- #269 Trainer battles getting softlocked at the start if the trainer happened to became attached to a different entity in an unloaded chunk
Removed:
- #268 Config option
trainerSpawnerItems
(see also #275)
Changelog
Important: Version 0.14 introduces the series system. Existing player saves will automatically be assigned to the radicalred series. New players will start with the empty series and have to pick a series first (see also #233 Trainer Association).
[0.14.3-beta] - 2025-03-29
Changed:
- #267 Updated min dependency of
rctapi
to0.10.15-beta
Fixed:
- #266 Custom data packs not getting synchronized to clients (a potential cause for various issues in server environments, providing wrong or misleading information to clients)
- Added Trainer Card loading indicator
- Synchronization takes place on player log in or after
/reload
Changelog
Important: Version 0.14 introduces the series system. Existing player saves will automatically be assigned to the radicalred series. New players will start with the empty series and have to pick a series first (see also #233 Trainer Association).
[0.14.2-beta] - 2025-03-26
Added:
- #265 Special bulk selectors
/all
,/types/<typeId>
and/series/<seriesId>
forset defeats
command
Changed:
- #264 Empty series id in
set series
command:...
->empty
- #263 Reworked how player battle statistics are stored
- Important: Migrating persistent data can always be a little bit scary, the automatic migration process is logged and ensures that old data will only be removed after the new data was saved. Regardless creating a backup of the
data
directory can be an additional safety measure - Defeat statistics are now batched in groups per file (instead of one file per trainer)
- This significantly improves loading times (especially for servers with many players and overall greater amounts of defeats against trainers)
- Important: Migrating persistent data can always be a little bit scary, the automatic migration process is logged and ensures that old data will only be removed after the new data was saved. Regardless creating a backup of the
- #262 Trainer Card UI will now open while holding another item in the off hand - if the Trainer Card is in the off hand the UI will only open if the item in the main hand is not in use - blocking with a shield will always prevent the UI from opening
Fixed:
- #261 Clients sometimes being unable to join servers -
invalid stream header
(note: it was difficult to reliably reproduce this issue but I did not run it anymore in any of my tests after this fix, thanks to AGGStudios for helping out testing this) - #260 Level cap sometimes not updating to
100
in the Trainer Card (without relog) after series completion - #259 Series completion message not shown to players that have relogged once after the latest server (re)start
- #258 Trainer Card including defeat counts of (unlisted) trainers from other series