Repository navigation
Gym Leaders & Custom Battle Arenas Guide
Welcome to the comprehensive guide for building, scanning, customizing, and battle-testing custom Gym Arenas in Cobblemon Colonies!
- Overview
- Building & Scanning Custom Arenas
- Datapack Distribution & File Layout
- Radical Cobblemon Trainers (RCT) Integration
- Structurize Blueprint Integration & Safety Guarantees
- Linking Custom Blueprints to Custom NBT Arenas
- Complete Catalog of All 75 Mod Gym Leaders
Cobblemon Colonies enables players to create their own custom Gym Arenas in Creative or Survival mode, save them directly to world datapacks, and immediately challenge them through the Battle Arena building GUI.
Key features include:
- In-Game Scanner: Select corners and preview bounding box dimensions in real-time.
- Dynamic Sizing: The Gym building reads the exact NBT bounding box from the structure file and centers the arena in the pit.
- Automatic Block Clearance: When a match finishes, a player leaves, or the arena times out, all placed arena blocks are automatically erased back to air with zero leftover blocks.
-
Datapack Auto-Discovery: Drop any
.nbtarena file into a datapack and it will instantly populate the "Custom Arenas" dropdown in the Gym window. - Radical Cobblemon Trainers (RCT) Integration: Dedicated RCT tab with Series selection (Radical Red, BDSP, Unbound, and custom datapack series), active league progress tracking, automatic party healing after each victory, and gauntlet queues.
The Gym Arena Scanner (cmoncol:arena_scanner) is available in the Cobblemon Colonies Creative Tab or via:
/give @p cmoncol:arena_scanner- Left-Click Block: Sets Corner 1 (Pos 1). Block breaking is canceled.
- Right-Click Block: Sets Corner 2 (Pos 2).
- Sneak (Shift) + Right-Click: Clears the current selection.
-
Hover Tooltip: Displays your currently selected corners and total dimensions
$(W \times H \times L)$ .
When Cobblemon Colonies loads your arena, it scans the structure for a minecraft:observer block:
- Face direction / placement: Place an Observer block in your arena at the position where you want the Gym Leader and RCT Trainers to stand.
- The NPC will spawn directly on top of the Observer block (
Y + 1.0). - Note: If no Observer block is found, the mod automatically calculates the exact center floor of the arena.
Once you have selected Corner 1 and Corner 2 with the Arena Scanner, execute:
/cmoncol save_arena <arena_name> [leader_id] [rct_trainers](Alternative alias: /cmoncol arena save <arena_name> [leader_id] [rct_trainers])
-
<arena_name>: The unique file name (e.g.molten_pit,sky_pillar,dojo). Underscores and numbers supported. -
[leader_id](Optional): Any of the 75 mod Gym Leaders (e.g.blaine,brock,sabrina). Defaults tosupporter. -
[rct_trainers](Optional): Comma-separated list of Radical Cobblemon Trainers IDs to battle sequentially before the leader (e.g.youngster_joey,camper_liam,blackbelt_kenta).
-
/cmoncol arena list: Lists all currently loaded built-in and datapack arenas, including dimensions, leaders, and RCT trainer counts. -
/cmoncol arena scan <x1> <y1> <z1> <x2> <y2> <z2>: Manually sets scanner corners via coordinate input. -
/gym reset <x> <y> <z>: Force-resets a Gym building, evicts players, despawns NPCs, and clears all arena blocks.
When saving an arena via /cmoncol save_arena, the game automatically creates:
<world>/datapacks/custom_gyms/
├── pack.mcmeta
└── data/
└── custom/
├── structure/
│ └── structures/
│ └── molten_pit.nbt
└── gym_arenas/
└── molten_pit.json
Custom arenas can also be packaged into standard Minecraft datapacks in:
data/<namespace>/structures/gym_arenas/<name>.nbtdata/<namespace>/structure/structures/<name>.nbtdata/<namespace>/structures/<name>.nbt
To customize the display name, assigned Gym Leader, or RCT trainer gauntlet without re-saving the NBT file, edit <name>.json:
{
"name": "Molten Volcano Arena",
"leader": "blaine",
"rct_trainers": [
"youngster_joey",
"camper_liam",
"firebreather_dick"
]
}Cobblemon Colonies features deep, first-class compatibility with Radical Cobblemon Trainers (rctmod) and the RCT API.
When RCT is installed, the Battle Arena GUI exposes a dedicated RCT mode tab alongside Gyms and Custom:
-
Series Dropdown: Allows players to choose which challenge league to embark on:
- Active Series / League: Dynamically connects to the player's current active RCT league and automatically displays their next undefeated opponents.
- Brilliant Diamond / Shining Pearl (BDSP): Sinnoh RCT leaders (Roark, Gardenia, Maylene, Crasher Wake, Fantina, Byron, Candice, Volkner).
- Radical Red: Radical Red difficulty gym leaders (Brock, Misty, Lt. Surge, Erika, Koga, Sabrina, Blaine, Clair).
- Unbound: Pokémon Unbound difficulty gym leaders (Mirskle, Vega, Alice, Mel, Galavan, Big Mo, Tessy, Benjamin).
- Custom Datapack Series: Any additional series and leagues provided by installed RCT datapacks are automatically discovered and added to the series dropdown.
- When selecting Active Series, the mod queries the player's personal RCT
PlayerState. - Trainers and leaders that the player has already defeated are automatically filtered out, ensuring the dropdown only displays opponents the player has yet to conquer.
- Defeating an RCT Gym Leader in the arena updates the player's defeat records (
addProgressDefeatandaddDefeat), unlocking higher level caps and next-tier challenges in RCT.
- In championship and gauntlet matches against RCT trainers and leaders, the player's entire Pokémon party is automatically and fully healed after every victory.
- This ensures trainers are ready for consecutive multi-trainer gauntlets or post-battle exploration without tedious trips to a Pokécenter.
- All direct RCT challenges use the official championship arena structure (
giovanni.nbt) by default, offering a balanced, spacious battleground designed for high-level tactical AI play.
You can also integrate RCT apprentice trainers into your own custom player-made or datapack arenas:
- When a player challenges a custom arena with
rct_trainersconfigured in its companion.json, the arena doors open and Trainer 1 is summoned. - The player battles Trainer 1.
- Upon defeating Trainer 1, victory is announced in chat, the player's party is healed, and Trainer 2 is summoned.
- Once all apprentice trainers are defeated, the mod announces:
"All Gym Trainers defeated! The Gym Leader steps forward!" - The designated Gym Leader spawns for the final championship showdown!
- If RCT is not installed, the apprentice gauntlet is cleanly bypassed and the Gym Leader spawns directly.
A common concern with dynamic sizing is whether loading an arena or cleaning up blocks could accidentally delete parts of the Gym building (e.g., walls, spectator stands, or roof).
Cobblemon Colonies guarantees 100% building safety through strict boundary clamping:
-
Structurize Blueprint Tags:
-
structure_a&structure_b: Placed at opposite floor corners of the arena pit. The mod dynamically reads these to determineholeMinX..holeMaxX,holeMinZ..holeMaxZ, andholeMinY. -
door_a&door_b: Placed at the entrance doorway. When a battle starts, this volume fills with air (open); when a battle ends or resets, it fills with oxidized copper blocks (closed).
-
-
Strict Clearance Clamping:
- When
clearArenaBlocks()runs (on victory, defeat, timeout, or reset), the clear volume is strictly clamped within[holeMinX, holeMaxX]and[holeMinZ, holeMaxZ]. - The clearing logic never affects blocks outside the pit walls or above the pit height.
- The colony hut block and bedrock are always protected.
- When
-
Oversize Protection:
- Before any arena is placed, the mod verifies that
arenaWidth <= holeWidthandarenaLength <= holeLength. - If an arena is larger than the blueprint's designated pit, the battle is safely blocked with a warning message:
"This arena is too large for this gym's pit." - This ensures an oversized arena can never overwrite building walls or spectator seating.
- Before any arena is placed, the mod verifies that
-
Dynamic Pit Centering:
- Because
holeWidthandholeLengthare calculated dynamically fromstructure_aandstructure_b, custom gym blueprints with any pit size ($15\times 15$ ,$21\times 21$ ,$25\times 25$ ,$31\times 31$ , etc.) automatically center any compatible arena atY = holeMinY - 2.
- Because
Minecolonies and Structurize allow server owners and datapack creators to design custom building style packs. Cobblemon Colonies offers two seamless ways to link custom Gym blueprints to specific NBT arenas:
When building your custom gym schematic in Creative mode:
- Place standard Structurize tags:
-
structure_aandstructure_bat the pit floor diagonal corners. -
door_aanddoor_bat the entrance doorway.
-
- Place an additional Structurize Tag Block (or use the Structurize Tag Tool):
- Tag name:
arena:<arena_id>(e.g.arena:brock,arena:custom_molten_pit,arena:pallete_water). - Or tag name:
arena_link:<arena_id>.
- Tag name:
- Export your schematic with the Structurize Scan Tool into your style pack.
- When a player opens the Battle Arena GUI, the custom arenas dropdown will automatically pre-select and link that arena!
If you have existing blueprints and don't want to edit the .blueprint file, you can link them via a JSON file in your datapack:
Path: data/<namespace>/gym_blueprint_links/<pack_link_name>.json
{
"structure_pack": "pallettown",
"blueprint_path": "infrastructure/gym",
"default_arena": "brock",
"allowed_arenas": [
"brock",
"custom:molten_pit",
"custom:boulder_field"
]
}-
structure_pack: Name of the style pack (e.g.pallettown,Combblemon Colonies Style, or your custom pack). -
blueprint_path(Optional): Subdirectory or schematic name filter. -
default_arena(Optional): The arena ID that auto-selects by default when opening the GUI in this building. -
allowed_arenas(Optional): If specified, restricts the gym to only allow these specific arenas.
Use these exact Leader IDs when saving arenas or configuring JSON companion files:
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
brock |
Brock | Rock | Boulder Badge |
misty |
Misty | Water | Cascade Badge |
surge |
Lt. Surge | Electric | Thunder Badge |
erika |
Erika | Grass | Rainbow Badge |
koga |
Koga | Poison | Soul Badge |
sabrina |
Sabrina | Psychic | Marsh Badge |
blaine |
Blaine | Fire | Volcano Badge |
giovanni |
Giovanni | Ground | Earth Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
falkner |
Falkner | Flying | Zephyr Badge |
bugsy |
Bugsy | Bug | Hive Badge |
whitney |
Whitney | Normal | Plain Badge |
morty |
Morty | Ghost | Fog Badge |
chuck |
Chuck | Fighting | Storm Badge |
jasmine |
Jasmine | Steel | Mineral Badge |
pryce |
Pryce | Ice | Glacier Badge |
clair |
Clair | Dragon | Rising Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
roxanne |
Roxanne | Rock | Stone Badge |
brawly |
Brawly | Fighting | Knuckle Badge |
wattson |
Wattson | Electric | Dynamo Badge |
flannery |
Flannery | Fire | Heat Badge |
norman |
Norman | Normal | Balance Badge |
winona |
Winona | Flying | Feather Badge |
tate |
Tate | Psychic | Mind Badge |
liza |
Liza | Psychic | Mind Badge |
tate_and_liza |
Tate & Liza | Psychic (Dual Battle) | Mind Badge |
wallace |
Wallace | Water | Rain Badge |
juan |
Juan | Water | Rain Badge |
sootopolis |
Sootopolis Gym | Water | Rain Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
roark |
Roark | Rock | Coal Badge |
gardenia |
Gardenia | Grass | Forest Badge |
maylene |
Maylene | Fighting | Cobble Badge |
crasher_wake |
Crasher Wake | Water | Fen Badge |
fantina |
Fantina | Ghost | Relic Badge |
byron |
Byron | Steel | Mine Badge |
candice |
Candice | Ice | Icicle Badge |
volkner |
Volkner | Electric | Beacon Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
cilan |
Cilan | Grass | Trio Badge |
chili |
Chili | Fire | Trio Badge |
cress |
Cress | Water | Trio Badge |
striaton |
Striaton Triplets | Elemental (Random) | Trio Badge |
lenora |
Lenora | Normal | Basic Badge |
burgh |
Burgh | Bug | Insect Badge |
elesa |
Elesa | Electric | Bolt Badge |
clay |
Clay | Ground | Quake Badge |
skyla |
Skyla | Flying | Jet Badge |
brycen |
Brycen | Ice | Freeze Badge |
drayden |
Drayden | Dragon | Legend Badge |
iris |
Iris | Dragon | Legend Badge |
opelucid |
Opelucid Gym | Dragon | Legend Badge |
cheren |
Cheren | Normal | Basic Badge |
roxie |
Roxie | Poison | Toxic Badge |
marlon |
Marlon | Water | Wave Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
viola |
Viola | Bug | Bug Badge |
grant |
Grant | Rock | Cliff Badge |
korrina |
Korrina | Fighting | Rumble Badge |
ramos |
Ramos | Grass | Plant Badge |
clemont |
Clemont | Electric | Voltage Badge |
valerie |
Valerie | Fairy | Fairy Badge |
olympia |
Olympia | Psychic | Psychic Badge |
wulfric |
Wulfric | Ice | Iceberg Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
milo |
Milo | Grass | Galar Grass Badge |
nessa |
Nessa | Water | Galar Water Badge |
kabu |
Kabu | Fire | Galar Fire Badge |
bea |
Bea | Fighting | Galar Fighting Badge |
allister |
Allister | Ghost | Galar Ghost Badge |
stow_on_side |
Stow-on-Side Gym | Fighting / Ghost | Fighting / Ghost Badge |
opal |
Opal | Fairy | Galar Fairy Badge |
gordie |
Gordie | Rock | Galar Rock Badge |
melony |
Melony | Ice | Galar Ice Badge |
circhester |
Circhester Gym | Rock / Ice | Rock / Ice Badge |
piers |
Piers | Dark | Galar Dark Badge |
raihan |
Raihan | Dragon | Galar Dragon Badge |
| Leader ID | Name | Type Specialty | Badge Awarded |
|---|---|---|---|
katy |
Katy | Bug | Paldea Bug Badge |
brassius |
Brassius | Grass | Paldea Grass Badge |
iono |
Iono | Electric | Paldea Electric Badge |
kofu |
Kofu | Water | Paldea Water Badge |
larry |
Larry | Normal | Paldea Normal Badge |
ryme |
Ryme | Ghost | Paldea Ghost Badge |
tulip |
Tulip | Psychic | Paldea Psychic Badge |
grusha |
Grusha | Ice | Paldea Ice Badge |
| Leader ID | Description |
|---|---|
supporter |
VIP Supporter NPC with authentic player skins, cloaks, dynamic textures, and random Cobblemon team scaling to level 50. |