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)
Changelog
[0.11.0-beta] - 2025-04-12
Added:
- #51
BattleManager#startBattle()
withUUID
return type as replacement forBattleManager#start()
- #50
nickname
property forPokemonModel
s
Changed:
- #49 Adjustments to
RCTBattleAI
move and switch evaluations (e.g. better awareness of shedinjas wonderguard) and other tweaks - #48 If the
name
of aTrainerNPC
is unset or empty it will now fall back to the display name of the entity the trainer is attached to
Fixed:
- #47
RCTBattleAI
attempting 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)
BattleEndCommand
CommandsContext
RCTApiCommands
- 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)