Wild Battle API

⭐ — (14 endorsements) 📥 189,252 downloads 📌 v1.1.2 📅 3/19/2026
🟡 Updated this year

By Raguto · fabric

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 3/16/2026 📅 Created: 3/19/2026
⚠️ Install Order · 2 steps
1🛠️ Forge — Minecraft Forge (mod loader) Download ↗
2🛠️ Fabric — Fabric Loader Download ↗

Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.

🔍 Analysis

  • 👍 0.0% endorsement rate
  • 🏆 #466 of 1032 fabric mods in this game by downloads

📋 About This Mod

### (https://ko-fi.com/raguto)<a href="https://ko-fi.com/Y8Y11OOHHU" target="_blank" rel="noopener"><img src="https://img.shields.io/badge/Ko--fi-Support%20Me-black?style=flat&logo=ko-fi" alt="Ko-fi"> </a> --- _**I grant permission to anyone seeking to add my mod to a modpack**_ --- # Wild Battle API Wild Battle API is a shared wild battle AI framework for Cobblemon. For players and pack authors, it provides configurable smarter wild battle behavior with built-in presets and admin tools. For developers, it exposes a supported public API for registering custom wild `BattleAI` implementations without replacing Cobblemon internals directly. Wild Battle API installs a delegating AI on wild battle actors at battle start. On each AI decision: - Higher-priority providers are checked first. - The first provider that returns a non-null `BattleAI` is used. - Returning `null` defers to lower-priority providers. - If no provider claims the context, the actor's original Cobblemon AI is used as fallback. This lets multiple mods cooperate safely while keeping a reliable fallback path when no custom provider applies. ## Included Features - Shared API for wild battle AI extensions - Priority-based provider resolution - Safe fallback to the actor's original Cobblemon AI - Built-in configurable smart wild AI behavior - Difficulty presets from `easy` to `extreme` - Admin UI and debug commands - Fabric and NeoForge support for Minecraft `1.21.1` ## Admin Commands Wild Battle API includes operator/admin commands for testing and configuration. Commands: - `/wildbattleapi ui` - `/wildbattleapi difficulty <easy|medium|hard|extreme>` - `/wildbattleapi debug on` - `/wildbattleapi debug off` - `/wildbattleapi debug status` Aliases: - `/wba ui` - `/wba difficulty <easy|medium|hard|extreme>` - `/wba debug on|off|status` These commands require permission level `2`. <details> <summary>Developer Usage</summary> ## Developer Usage ### Supported Public API Use only these classes for third-party integrations: - `com.github.raguto.wildbattleapi.api.WildBattleAPI` - `com.github.raguto.wildbattleapi.api.WildAIProvider` - `com.github.raguto.wildbattleapi.api.WildAIContext` Do not depend on internal packages such as `impl`, `mixin`, `config`, or `network`. ### Runtime Dependency Install Wild Battle API anywhere your dependent mod loads. In normal modpacks, that means both client and server. Mod ID: - `wild_battle_api` Also declare it as a dependency in your mod metadata. Fabric (`fabric.mod.json`): ```json { "depends": { "wild_battle_api": "*" } } ``` NeoForge (`META-INF/neoforge.mods.toml`): ```toml ] modId = "wild_battle_api" type = "required" versionRange = "[1.0.0,)" ordering = "AFTER" side = "BOTH" ``` Adjust the minimum version to the first Wild Battle API version your mod supports. ### Compile-Time Dependency If you are not consuming a published Maven artifact, compile against the loader-specific jar directly. Fabric example: ```gradle dependencies { modCompileOnly files("libs/wild_battle_api-fabric-1.0.0.jar") } ``` NeoForge example: ```gradle dependencies { compileOnly files("libs/wild_battle_api-neoforge-1.0.0.jar") } ``` Use the loader-appropriate jar for your environment. ### Registering a Provider Register your provider once during your mod's common initialization. ```java import com.github.raguto.wildbattleapi.api.WildBattleAPI; import com.github.raguto.wildbattleapi.api.WildAIContext; public final class MyWildAIRegistration { public static void init() { WildBattleAPI.registerProvider(150, context -> { if (shouldUseMyAI(context)) { return new MyCustomWildBattleAI(); } return null; }); } private static boolean shouldUseMyAI(WildAIContext context) { return context.getBattle() != null && context.getActor() != null; } } ``` You can also register at the default priority: ```java WildBattleAPI.registerProvider(context -> null); ``` ### Priority Guidance - `0`: catch-all or default provider - `50`: standard override - `100+`: high-priority or boss-specific override - `200+`: hard override, use carefully If your provider only handles specific cases, return `null` for everything else. ### Implementing Your Own BattleAI You may provide any class that implements Cobblemon's `BattleAI`. ```java import com.cobblemon.mod.common.api.battles.model.PokemonBattle; import com.cobblemon.mod.common.api.battles.model.ai.BattleAI; import com.cobblemon.mod.common.battles.ActiveBattlePokemon; import com.cobblemon.mod.common.battles.BattleSide; import com.cobblemon.mod.common.battles.PassActionResponse; import com.cobblemon.mod.common.battles.ShowdownActionResponse; import com.cobblemon.mod.common.battles.ShowdownMoveset; import com.cobblemon.mod.common.net.messages.clien

### (https://ko-fi.com/raguto)Ko-fi

  • --
  • _I grant permission to anyone seeking to add my mod to a modpack_
  • --
  • # Wild Battle API

Wild Battle API is a shared wild battle AI framework for Cobblemon.

For players and pack authors, it provides configurable smarter wild battle behavior with built-in presets and admin tools. For developers, it exposes a supported public API for registering custom wild `BattleAI` implementations without replacing Cobblemon internals directly.

Wild Battle API installs a delegating AI on wild battle actors at battle start. On each AI decision:

  • Higher-priority providers are checked first.
  • The first provider that returns a non-null `BattleAI` is used.
  • Returning `null` defers to lower-priority providers.
  • If no provider claims the context, the actor's original Cobblemon AI is used as fallback.

This lets multiple mods cooperate safely while keeping a reliable fallback path when no custom provider applies.

## Included Features

  • Shared API for wild battle AI extensions
  • Priority-based provider resolution
  • Safe fallback to the actor's original Cobblemon AI
  • Built-in configurable smart wild AI behavior
  • Difficulty presets from `easy` to `extreme`
  • Admin UI and debug commands
  • Fabric and NeoForge support for Minecraft `1. 21. 1`

## Admin Commands

Wild Battle API includes operator/admin commands for testing and configuration.

Commands: - `/wildbattleapi ui` - `/wildbattleapi difficulty ` - `/wildbattleapi debug on` - `/wildbattleapi debug off` - `/wildbattleapi debug status`

Aliases: - `/wba ui` - `/wba difficulty ` - `/wba debug on|off|status`

These commands require permission level `2`.

Developer Usage

## Developer Usage

### Supported Public API

Use only these classes for third-party integrations:

  • `com.github.raguto.wildbattleapi.api. WildBattleAPI`
  • `com.github.raguto.wildbattleapi.api. WildAIProvider`
  • `com.github.raguto.wildbattleapi.api. WildAIContext`

Do not depend on internal packages such as `impl`, `mixin`, `config`, or `network`.

### Runtime Dependency

Install Wild Battle API anywhere your dependent mod loads. In normal modpacks, that means both client and server.

Mod ID: - `wild_battle_api`

Also declare it as a dependency in your mod metadata.

Fabric (`fabric.mod.json`):

```json { "depends": { "wild_battle_api": "*" } } ```

NeoForge (`META-INF/neoforge.mods.toml`):

```toml [] modId = "wild_battle_api" type = "required" versionRange = "[1. 0. 0,)" ordering = "AFTER" side = "BOTH" ```

Adjust the minimum version to the first Wild Battle API version your mod supports.

### Compile-Time Dependency

If you are not consuming a published Maven artifact, compile against the loader-specific jar directly.

Fabric example:

```gradle dependencies { modCompileOnly files("libs/wild_battle_api-fabric-1. 0. 0.jar") } ```

NeoForge example:

```gradle dependencies { compileOnly files("libs/wild_battle_api-neoforge-1. 0. 0.jar") } ```

Use the loader-appropriate jar for your environment.

### Registering a Provider

Register your provider once during your mod's common initialization.

```java import com.github.raguto.wildbattleapi.api. WildBattleAPI; import com.github.raguto.wildbattleapi.api. WildAIContext;

public final class MyWildAIRegistration { public static void init() { WildBattleAPI.registerProvider(150, context -> { if (shouldUseMyAI(context)) { return new MyCustomWildBattleAI(); } return null; }); }

private static boolean shouldUseMyAI(WildAIContext context) { return context.getBattle() != null && context.getActor() != null; } } ```

You can also register at the default priority:

```java WildBattleAPI.registerProvider(context -> null); ```

### Priority Guidance

  • `0`: catch-all or default provider
  • `50`: standard override
  • `100+`: high-priority or boss-specific override
  • `200+`: hard override, use carefully

If your provider only handles specific cases, return `null` for everything else.

### Implementing Your Own BattleAI

You may provide any class that implements Cobblemon's `BattleAI`.

```java import com.cobblemon.mod.common.api.battles.model. PokemonBattle; import com.cobblemon.mod.common.api.battles.model.ai. BattleAI; import com.cobblemon.mod.common.battles. ActiveBattlePokemon; import com.cobblemon.mod.common.battles. BattleSide; import com.cobblemon.mod.common.battles. PassActionResponse; import com.cobblemon.mod.common.battles. ShowdownActionResponse; import com.cobblemon.mod.common.battles. ShowdownMoveset; import com.cobblemon.mod.common.net.messages.clien

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Mods
Author
Raguto
Version
1.1.2
Downloads
189,252
Endorsements
14
Category
fabric
Created
3/19/2026
Updated
3/16/2026
Game Versions
1.21.1
Tags
library

🔧 How to Install Minecraft Mods Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Mods →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Mods versions does Wild Battle API support?

The author lists 1.21.1. Other versions may work but are untested by the author.

What is the latest version of Wild Battle API?

Version 1.1.2, published 2026-03-16 with 189,252 downloads recorded at the source.

Keep browsing — more Minecraft Mods mods await

📋 All Minecraft Mods Mods 🏆 Top 25 📂 More fabric 👤 More by Raguto 🔎 Similar Mods 🌐 Best fabric (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods