Please consider supporting me on ko-fi if you like the mod and can afford it, I appreciate even 1 dollar. 
I grant permission to anyone seeking to add my mod to a modpack
Cobblemon Battle Tower
A competitive battle challenge mod for Cobblemon. Lock in your team, fight through progressively harder floors, and earn Battle Points to spend in the shop.
Battle Modes
- Singles — 1v1, 1–6 Pokémon
- Doubles — 2v2, 2–6 Pokémon
- Co-op Doubles — 2 players vs NPC, exactly 3 Pokémon per player
- Boss — Legendary boss encounters with a shared HP pool across all participants
- 1-player (6 Pokémon), 2-player (3 pokemon per player), 3-player (2 pokemon per player)
Progressive Difficulty
125+ competitive Smogon-inspired teams across unlimited floors:
| Floors | Gimmicks | Teams |
|---|---|---|
| 1–5 | None | 20 |
| 5–10 | Tera | 15 |
| 10–15 | Tera + Dynamax | 10 |
| 15–30 | Tera + Dynamax + Mega | 30 |
| 30+ | All gimmicks + Legendaries | 50 |
Item usage limits also increase with floor progression. NPC gimmick usage (Tera, Dynamax, Mega) can be individually toggled in config.
Team System
- Lock in your team before a run begins
- Team validation prevents mid-run swaps (species, held items, and abilities are all verified)
- No duplicate species or duplicate held items allowed
- Optional Random Team Mode — floor NPCs are assigned randomized Pokémon instead of structured trainer teams
- Optional legendary restrictions — allowing legendaries reduces BP rewards to 1 per floor
- Configurable banned Pokémon list
Boss Mode
Boss Mode pits you against a progression of Gigantamax Pokémon across 41 fixed floors. Every 5th floor raises the stakes with an epic two-phase legendary encounter — defeat the first form to trigger a dramatic phase transition into a more powerful second form, complete with a new battle theme and announcement. Beyond floor 41, bosses are drawn randomly from the full pool.
Phase boss lineup:
- Floor 5: Groudon → Primal Groudon
- Floor 10: Kyogre → Primal Kyogre
- Floor 15: Rayquaza → Mega Rayquaza
- Floor 20: Palkia → Origin Palkia
- Floor 25: Dialga → Origin Dialga
- Floor 30: Giratina → Origin Forme
- Floor 35: White Kyurem → Black Kyurem
- Floor 40: Necrozma → Ultra Necrozma
- Floor 41: Eternatus → Eternamax Eternatus
Battle Arenas
Configure custom arena locations in config.json. When arenas are available, battles teleport players and trainers to dedicated coordinates. Supports multiple dimensions. Falls back to the terminal location if no arenas are configured or all are occupied.
Example arena config
"battleArenas": [
{ "id": "tower_plaza_1", "dimension": "minecraft:overworld", "x": 1000, "y": 70, "z": -3040, "facing": "north" },
{ "id": "tower_plaza_2", "dimension": "minecraft:overworld", "x": 1040, "y": 70, "z": -3040, "facing": "north" }
]
}
Level Modes
All participating players' Pokémon are forced to the selected level for the duration of the run.
- Level 50 — All Pokémon scaled to Level 50
- Level 100 — All Pokémon scaled to Level 100
Battle Points Shop
70+ items available:
- Battle Items: Booster Energy
- Ability: Ability Patch
- Exp & Candies: Rare Candy, Exp Candy XS/S/M/L/XL
- IV Candies: All 12 types
- PP: PP Max
- EV Vitamins: Protein, Iron, Calcium, Zinc, Carbos, HP Up
- EV Berries: Pomeg, Kelpsy, Qualot, Hondew, Grepa, Tamato
- Type Gems: All 18 types
- Gimmick Items: Mega Stone, Blank Z-Crystal, Max Mushroom
- Legendary Held Items: Blue Orb, Red Orb, Griseous Orb, Lustrous Globe, Adamant Crystal, Prison Bottle, Gracidea Flower, Reveal Glass, Rusted Sword, Rusted Shield, Legend Plate
- Legendary Scrolls: Scroll of Waters, Scroll of Darkness
- Deoxys: Deoxys Meteorite
- Ogerpon Masks: Cornerstone, Wellspring, Hearthflame
- Evolution Items: Auspicious Armor, Malicious Armor, Shell Helmet, Metal Alloy
- Zygarde: Zygarde Cell (x5), Zygarde Core
- Poké Balls: Master Ball, Ancient Origin Ball, Cherish Ball
- Misc: Relic Coin Sack, Star Core
Shop items are fully customizable via bp_shop_items.json. Supports command-based rewards.
Leaderboards
Separate leaderboards per mode (Singles, Doubles, Co-op, Boss), each tracking:
- Highest floor reached
- Best win streak
- Whether legendaries were used (shown as a gold (L) next to the record)
Also can view top 10, 25, 50, and 100 leaderboard scores in chat with a command
Configs
All config files in config/cobblemon_battle_tower/:
config.json— Run cooldown, max legendaries, NPC gimmick toggles (Tera/Dynamax/Mega individually), banned Pokémon list, random team mode toggle, battle arena coordinatesbp_per_floor.json— BP per floor tier (default: 1/2/3/4/5 by tier), legendary BP ratebp_shop_items.json— Add, remove, or replace shop items; supports regular items and command-based rewards (e.g. run a/pokegiveon purchase); toggle default item list on or offitemusage.json— Item usage limits per floor tier (unlimited → 3 → 2 → 1)
Commands
/bt reload— Reload all config files/bt give <amount> [player]— Give BP to yourself or another player/bt setfloor <floor> [player] [mode] [level] [teamname] [bossoptions]— Set starting floor (1–100) with optional mode, level, and boss player count/bt runcooldown [seconds]— View or set the cooldown between runs/bt leaderboard <mode> <top10/25/50/100>— Display leaderboard in chat/bt reset <player>— Reset a player's leaderboard stats/bt resetleaderboard— Reset all leaderboard data
Customizable Trainer Skins
Drop 64×64 PNG player skins into config/cobblemon_battle_tower/skins/ and Battle Tower trainers will randomly use them. 9 default skins are included.
Language Support
19 locales:
Spoiler
- English
- German
- Spanish (ES)
- Spanish (MX)
- French
- Italian
- Japanese
- Korean
- Dutch
- Polish
- Portuguese (BR)
- Russian
- Tagalog
- Turkish
- Ukrainian
- Vietnamese
- Chinese Simplified
- Chinese Traditional (Hong Kong)
- Chinese Traditional (Taiwan)
Requirements
- Cobblemon 1.7+
- RCT API 0.14.6+
- Cobblemon Mega Showdown (required for Boss Mode, gimmick items, and gimmick usage)
Boss Music Credits
- Giratina & Volo Boss Theme Remix — Vetrom
- Dialga / Palkia Remix — Vetrom
- Eternatus Remix — Vetrom
- Eternamax Remix — Vetrom
- Origin Dialga / Palkia Remix — Kieran Zane Roberts
- Necrozma Remix — Zame
- Ultra Necrozma Remix — Zame
- Battle Rayquaza Remix — Zame
- USUM Groudon/Kyogre Remix — GaragebandPoke

