nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Radical Cobblemon Trainers API

Radical Cobblemon Trainers API

Mod

Trainer management and battle API for Cobblemon.

Client or server AdventureGame MechanicsManagementUtility

4.76M downloads
126 followers
Filter loader...

Changelog

As of version 0.15.0-beta, RCTApi may only be redistributed under the terms of the MCOML License.

[0.15.0-beta] - 2026-03-21

Added:

  • #128 BattleInstance: Associates a TrainerNPC with a PokemonBattle and the LivingEntity it was attached to at the start of that battle
  • #127 TrainerNPC#getBattleInstances(): Retrieves a list of all active BattleInstances the trainer is attending to

Changed:

  • #126 Adjustments to the battle AI switch evaluation, which makes it less likely for trainers to switch into pokemon with much higher stats
  • #125 Slight adjustment to battle AI to lower the chance to use (often waste) healing items on squishy pokemon on the field
  • #124 Trainers may now attend to multiple battles at the same time
    • Note that a trainer entity can still only attend to one battle at a time (a copy of that entity can attend to a different battle)
    • The entity the trainer was attached to at the start of a battle is stored to ensure recall animations of pokemon will always point towards that entity
    • This was possible in an older version of the API (with unexpected side effects) but was never an intended feature, now it is
  • #123 Trainers now support custom sound events. Use the battleTheme property to assign a custom resource location (falls back to battle.pvn.default if unset). Refer to the docs for more info

Fixed:

  • #122 Battle AI attempting to use baton pass when there is no pokemon to switch to and it will also avoid that move if the user has no stat buffs
  • #121 Battle AI not including active shield effects (light screen/reflect) in some damage calculations
  • #120 Battle AI not recognizing the weather effects "heavy rain", "extremely harsh sunlight" and "strong winds" (e.g. attempting to use fire or water moves when they would fail)
  • #119 BATTLE_STARTED event receiving null instead of the BattleState as parameter

Removed:

  • #118 Deprecated overloads of TypeChart#getEffectiveness()

Changelog

[0.14.8-beta] - 2026-02-14

Fixed:

  • #117 Oversight from previous change leading to trainer pokemon having random movesets

Changelog

[0.14.7-beta] - 2026-02-13

Added:

  • #116 Debug#setActive(int) static method to configure active debug contexts (not recommended to activate in release builds)
  • #115 PokemonPropertiesModelConverter: Convert PokemonModel to PokemonProperties (thanks Gito)

Changed:

  • #114 Adjusted semantics of Debug utility (now works with contexts instead of levels, combine with | for multiple)

Fixed:

  • #113 Battles getting stuck when trainers use Tatsugiris Commander ability with Dondozo
  • #112 PokemonModel(Pokemon) constructor copying wrong properties

Changelog

[0.14.6-beta] - 2026-01-18

Added:

  • #111 Added BattleFormatProvider (functional) interface

Changed:

  • #110 Changed return type of BattleState#getFormat() and BattleContext#getFormat() to BattleFormatProvider
  • #109 The (rctapi) BattleFormat enum now implements BattleFormatProvider (method signature remains unchanged)
  • #108 Updated BattleRules
    • Added adjustNPCLevels property: Decide if npc pokemon levels should be adjusted according to the adjustLevel value of the battle format (the default battle formats do not adjust levels)
    • Added adjustPlayerLevels property: Decide if player pokemon levels should be adjusted according to the adjustLevel value of the battle format (the default battle formats do not adjust levels)
    • Added healPlayers property: Decide if player pokemon should be healed at the start of a battle
  • #107 BattleManager#startBattle(...) (and overloads) now accept a BattleFormatProvider instead of a (rctapi) BattleFormat as argument (old overloads still exist but are deprecated)
  • #106 BattleState and BattleContext now accept a BattleFormatProvider in their constructors instead of a (rctapi) BattleFormat (old overloads still exist but are deprecated)

Fixed:

  • #105 Certain max moves of dynamaxed pokemon possibly causing battles to softlock
  • #104 Tera type stellar leading to battle failures if evaluated defensively on the player side

Changelog

[0.14.5-beta] - 2025-12-27

Added:

  • #103 Added BattleState#isPaticipating(Trainer): Reports if trainer is participating in the associated battle

Changed:

  • #102 Adjusted priority for gimmicks dynamax/gmax and tera (tera will now be chosen after the max transformation has ended if both are possible)
  • #101 Changed default RCTBattleAIConfig#switchBias to 0.5 (value is now a bit more impactful, other biases will most likely get reworked in a similar manner)
  • #100 Improved evaluation for a bunch of moves with certain requirements (e.g. Ally Switch or Trick) and other minor adjustments to move selection logic
  • #99 Increased priority of some mixins (to avoid potential conflicts)
  • #98 Reworked rct battle ai switch evaluation (might require some fine tuning)

Fixed:

  • #97 Battle AI attempting to use First Impression in arbitrary turns (should only be used in first turn)
  • #96 Battle AI not avoiding sacrificial moves (e.g. Explosion) when on their last pokemon
  • #95 Battle AI treating the user of the move Block as trapped, rather than the target
  • #94 Duplicate error messages when failing to start a battle
  • #93 gimmicks property of pokemon (tera, dynamax, gmax) not getting applied in battle

Changelog

[0.14.4-beta] - 2025-12-11

Fixed:

  • #92 Workaround to avoid issue with the Cobblemon showdown interpreter leading to battle instructions getting executed in the wrong order (most commonly triggered by switched-in trainer pokemon getting immediately knocked out). This changes is restricted to battles started by rctapi.

Removed:

  • #91 Adhoc fix for issues related to pokemon switching positions (e.g. with "Ally Switch") as it has been fixed recently in Cobblemon itself

Changelog

[0.14.3-beta] - 2025-12-05

Fixed:

  • #90 Battles tending to get softlocked when AI switches

Changelog

[0.14.2-beta] - 2025-12-04

Fixed:

  • #89 Different scenarios leading to battles getting softlocked

Changelog

[0.14.1-beta] - 2025-11-24

Changed:

  • #88 Replaced Pokemon#clone() invocations with Pokemon#copyFrom() (this might have been the cause for some battle related issues)

Changelog

[0.14.0-beta] - 2025-11-22

Changed:

  • #87 Increased minimum required version of Cobblemon to 1.7
  • #86 Replaced some log errors with warnings

External resources


Project members

hd42

Member


Technical information

License
Client side
optional
Server side
optional
Project ID