Changelog
[0.13.1-beta] - 2025-06-02
Fixed:
- #70 Oversight causing battles to randomly crash (
NullPointerExceptionbecause "moveset" is null)
Changelog
[0.13.0-beta] - 2025-06-02
Changed:
- #69 Allow cobblemons
BATTLE_STARTED_PREevent to intercept battles started by this api - #68 Pokemon models may now alternatively accept a list of held items (if one item was not found the next item is checked)
- #67 Trainer pokemon now support usage of gimmicks (zmoves, mega evolution, dynamax, etc.)
- Added
gimmicksproperty toPokemonModel: Allows to enable and define a terastalization type (tera), as well as to activate dyna- and gigantamax (dynamaxandgmax), latter two require the mega showdown mod to work - Most gimmicks require specific items to be activated, which are not provided by this mod (you can use other mods like mega showdown for that)
- Added
Changelog
Important: This version may break compatibility with mods that rely on an older version of this api (< 0.12.0-beta). This could be the case if mods happen to parse trainers from JSON (i.e. with GSON) or use #getName() (see #55 - 59). There shouldn't be any issues otherwise.
To update be sure to configure your GsonBuilder instances with RCTApi#configureGsonBuilder(GsonBuilder) or simply use a builder provided by RCTApi#gsonBuilder().
[0.12.1-beta] - 2025-05-24
Changed:
- #66 General improvements for
RCTBattleAI- Custom evaluations for hazard and field manipulating moves (tailwind, gravity, trickroom, spikes, stealthrock, toxicspikes and stickyweb)
- Custom evaluations for moves that inflict major status conditions (like spore or glare)
- Custom evaluations for sacrificial moves (like explosion or memento)
- Custom evaluations for some common moves with very specific effects (like taunt or protect)
- Custom evaluations for weather and terrain moves (like raindance or mistyterrain)
- Some minor fixes and adjustments here and there (e.g. sleeptalk checking the opponents sleep status instead of the users)
- #65 Refactored
BattleEffects(formerPokeContext) utility class for the battle ai
Fixed:
- #64 Various potential battle errors with
RCTBattleAI(e.g. battle error if trainer pokemon dies of entry hazards) - #63
Text#getComponent()now returns a component with an empty string (instead of the language key itself), this should fix issues with fallback mechanics if certain texts do not have a translation defined (e.g. trainer names)
Changelog
Important: This version may break compatibility with mods that rely on an older version of this api (< 0.12.0-beta). This could be the case if mods happen to parse trainers from JSON (i.e. with GSON) or use #getName() (see #55 - 59). There shouldn't be any issues otherwise.
To update be sure to configure your GsonBuilder instances with RCTApi#configureGsonBuilder(GsonBuilder) or simply use a builder provided by RCTApi#gsonBuilder().
[0.12.0-beta] - 2025-05-13
Added:
- #62
RCTApi#configureGsonBuilder(GsonBuilder) - #61
RCTApi#gsonBuilder() - #60
Textutility type for translatable text, which can be parsed from a JSON object withliteraland/ortranslatablefields, or directly from a string, which serves as theliteralvalue- Translation support for
PokemonModel#nicknameproperty (will be ignored ifliteralis not set) - Translation support for
TrainerModel#nameproperty
- Translation support for
Changed:
- #59 Return type of
PokemonModel#getName()fromStringtoText(potential breaking change) - #58 Return type of
Trainer#getName()fromStringtoText(potential breaking change) - #57 Return type of
TrainerModel#getName()fromStringtoText(potential breaking change) - #56 Return type of
TrainerNPC#getName()fromStringtoText(potential breaking change) - #55 Return type of
TrainerPlayer#getName()fromStringtoText(potential breaking change)
Changelog
[0.11.1-beta] - 2025-05-05
Changed:
- #54 Adjustments and fixes to
RCTBattleAI- All moves have been further categorized (e.g. HEAL or BUFF) for a better generic evaluation and to circumvent issues with trainers targeting opponents with moves that have positive effects
- Improved awareness of screens, weather effects and terrains
- Improved awareness of certain moves with specific conditions (like fake out or wish)
- Improved awareness of status conditions and other effects (like levitate, seeded or drowsy)
- #53 Builder pattern for
RCTBattleAIConfigandBattleRules(thanks Gitoido)
Deprecated:
- #52
TypeChart#getEffectiveness(ElementalType, ElementalType, ElementalType, Ability)
Changelog
[0.11.0-beta] - 2025-04-12
Added:
- #51
BattleManager#startBattle()withUUIDreturn type as replacement forBattleManager#start() - #50
nicknameproperty forPokemonModels
Changed:
- #49 Adjustments to
RCTBattleAImove and switch evaluations (e.g. better awareness of shedinjas wonderguard) and other tweaks - #48 If the
nameof aTrainerNPCis unset or empty it will now fall back to the display name of the entity the trainer is attached to
Fixed:
- #47
RCTBattleAIattempting to choose various illegal actions, causing battles to softlock in certain situations and other issues (e.g. switching out against pokemon with "arena trap" or while "mean look" is active)
Deprecated:
- #46
BattleManager#start()and helper methods
Removed:
- #45 Demo commands (now implemented in tbcs)
BattleEndCommandCommandsContextRCTApiCommands- other related classes
- #44
BattleState#BattleState(PokemonBattle, BattleRules) - #43
RCTApi#getInstance() - #42
RCTApi#init(TrainerRegistry, BattleManager) - #41
RCTApi#initInstance(String, TrainerRegistry) - #40
RCTApi#initInstance(String, TrainerRegistry, BattleManager)
Changelog
[0.10.15-beta] - 2025-03-29
Changed:
- #39 Serializable model and
JTOclasses
Changelog
[0.10.14-beta] - 2025-03-20
Fixed:
- #38 Potential mod initialization issues when multiple mods register to this api (hopefully)
Changelog
[0.10.13-beta] - 2025-03-15
Fixed:
- #37 Fixed potential issues with randomized pokemon stats when there are multiple mods that depend on this api
Changelog
[0.10.12-beta] - 2025-02-05
Fixed:
- #36 Fix non-initialized IV and EV props in
PokemonModelwhen using Cobblemon Pokemon class constructor (thanks Gitoido)



