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 and server

616.6k downloads
54 followers
Filter loader...

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 to PokemonModel: Allows to enable and define a terastalization type (tera), as well as to activate dyna- and gigantamax (dynamax and gmax), 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)

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 (former PokeContext) 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 with literal and/or translatable fields, or directly from a string, which serves as the literal value
    • Translation support for PokemonModel#nickname property (will be ignored if literal is not set)
    • Translation support for TrainerModel#name property

Changed:

  • #59 Return type of PokemonModel#getName() from String to Text (potential breaking change)
  • #58 Return type of Trainer#getName() from String to Text (potential breaking change)
  • #57 Return type of TrainerModel#getName() from String to Text (potential breaking change)
  • #56 Return type of TrainerNPC#getName() from String to Text (potential breaking change)
  • #55 Return type of TrainerPlayer#getName() from String to Text (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 and BattleRules (thanks Gitoido)

Deprecated:

  • #52 TypeChart#getEffectiveness(ElementalType, ElementalType, ElementalType, Ability)

Changelog

[0.11.0-beta] - 2025-04-12

Added:

  • #51 BattleManager#startBattle() with UUID return type as replacement for BattleManager#start()
  • #50 nickname property for PokemonModels

Changed:

  • #49 Adjustments to RCTBattleAI move and switch evaluations (e.g. better awareness of shedinjas wonderguard) and other tweaks
  • #48 If the name of a TrainerNPC 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)

Changelog

[0.10.15-beta] - 2025-03-29

Changed:

  • #39 Serializable model and JTO classes

External resources


Project members

hd42

Member


Technical information

License
LGPL-3.0-only
Client side
required
Server side
required
Project ID