Changelog
[0.13.6-beta] - 2025-06-17
Changed:
- #79 Errors for invalid held items are now only logged for the last checked held item of a pokemon (in case multiple options have been configured)
Changelog
[0.13.5-beta] - 2025-06-14
Changed:
- #78 Battle AI is now aware of hiddenpower types from pokemon
- #77 Battle AI is now aware of tera types from terastallized pokemon
Fixed:
- #76 Some battle issues related to moves that force opponent pokemon to switch
Changelog
[0.13.4-beta] - 2025-06-10
Changed:
- #75 Lowered base chance for trainers to switch out a dynamaxed pokemon
- #74 Minor adjustments to boost move evaluation (less likely for users with lower health)
Fixed:
- #73 Usage of moves unknown to cobblemon causing battles to softlock
Changelog
[0.13.3-beta] - 2025-06-03
Fixed:
- #72 Trainers attempting to activate ZPowers with wrong moves
Changelog
[0.13.2-beta] - 2025-06-02
Fixed:
- #71 Hotfix for potential
UnsupportedOperationException
when attempting to start a battle
Changelog
[0.13.1-beta] - 2025-06-02
Fixed:
- #70 Oversight causing battles to randomly crash (
NullPointerException
because "moveset" is null)
Changelog
[0.13.0-beta] - 2025-06-02
Changed:
- #69 Allow cobblemons
BATTLE_STARTED_PRE
event 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
gimmicks
property toPokemonModel
: Allows to enable and define a terastalization type (tera
), as well as to activate dyna- and gigantamax (dynamax
andgmax
), 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
Text
utility type for translatable text, which can be parsed from a JSON object withliteral
and/ortranslatable
fields, or directly from a string, which serves as theliteral
value- Translation support for
PokemonModel#nickname
property (will be ignored ifliteral
is not set) - Translation support for
TrainerModel#name
property
- Translation support for
Changed:
- #59 Return type of
PokemonModel#getName()
fromString
toText
(potential breaking change) - #58 Return type of
Trainer#getName()
fromString
toText
(potential breaking change) - #57 Return type of
TrainerModel#getName()
fromString
toText
(potential breaking change) - #56 Return type of
TrainerNPC#getName()
fromString
toText
(potential breaking change) - #55 Return type of
TrainerPlayer#getName()
fromString
toText
(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
RCTBattleAIConfig
andBattleRules
(thanks Gitoido)
Deprecated:
- #52
TypeChart#getEffectiveness(ElementalType, ElementalType, ElementalType, Ability)