Description
Build your own playable Cobblemon Gym experience!
Brecher's Trainer's gives you all the tools you need to build your very own custom, Cobblemon Gym - or replicate your favorite from the series - that other players can then compete and battle at for rewards (and bragging rights).
Brecher's trainers lets you create persistent, customizeable trainers that other players can then battle at their leisure; dictate various battle formats and restrictions; incorporate redstone puzzles and other fun games; or tie-in other popular modding mechanics to craft a truly unique Gym experience.
Gyms can then be connected across the server via the League System (WIP) so that players can earn League Points by competiting, and creators can earn by hosting, which can then be spent at customizeable League Vendor NPCs. The League System is set up to make it easy to discover and find other gyms as well as to incentivize players to battle at them - because the only thing more fun than building your gym is seeing people experience it!
My goal with this mod is to give players the most flexibility possible when crafting their gyms, while also minimizing server admin headache. Unlike the RCT mod, those trainers used by Brecher's Trainers are dynamically generated at or during runtime, so you no longer need to bother an admin/mod to pre-load the server with files/configs/etc. Brecher's Trainers also offers a number of ways to texture your trainers, again, without the need to adjust server-level Datapacks or shared Resource Packs (though both are certainly still options!).
The Blocks
The mod adds a number of utility blocks to the game to help you set up your gym. Most of these blocks are redstone activated and/or emit redstone signals, allowing you to tie in whatever gadgets and contraptions you want!
Trainer Spawners : The meat and potatoes of any gym. Right click the Spawner to mirror your current Cobblemon party (including levels, stats, movesets, and all that fun stuff) onto the block. Clicking the spawner again will cause a battleable trainer to spawn! Comes in Normal, Locked, and Leader varieties.
Gym Controller : The brain of the gym. Link your gym blocks to the controller to keep track of them and to allow your gym to be reset upon completion!
Completion Triggers : Blocks that can be wirelessly linked to other Gym Blocks and emit a redstone signal when the connected block (or blocks - supports AND/OR logic) are completed.
Reward Dispenser : Block that can be loaded up with rewards and configured to dispense them upon activation. Supports Creative/Inifinite modes for server ops.
Puzzle Block : Tie in Redstone puzzles (Lt. Surge anyone?) into your gym, readable by the Gym Controller and other Gym Blocks.
Reset Blocks: Allow exiting players to trigger gym resets so that everything is put back in place for the next player!
Other Items
Customization Items : Rename your Trainers by using named Nametags on the spawners, or Re-skin them by using a named Ogrepon Mask on the spawners
Ogrepon naming syntax (these usually work, still ironing out some bugs):
| Format | Type | Description |
|----------------------------------|--------|---------------------------------|
| [username] | PLAYER | No prefix → Mojang API lookup |
| player:[username] | PLAYER | Explicit Mojang username lookup |
| uuid:[xxxx-xxxx-...] | UUID | Mojang API lookup by UUID |
| rct:[trainer_id] | RCT | RCT trainerId prefix matching |
| data:[texture_filenaname] | DATA | Direct resource pack texture |
| reset / clear / none / default | RESET | Clears custom skin |
Utility Wands : The mod includes various wands (Reset, Linking, League) to help interface with the various systems
Badge Box : Access the League System interface (WIP)
Customizeable League Point Vendors : Spawn/modify vendors where players can spend their hard-earned League Points
The command system here is a WIP, and longer commands will require a command block, but currently:
/brecher_trainers vendor spawn ~ ~ ~ basic_shop "Rare Candy Shop"
/brecher_trainers vendor modify @e[type=brecher_trainers:league_vendor,x=100,y=64,z=200,distance=..1] settrades[
{trade_id:"rare",item:"cobblemon:rare_candy",quantity:1,lp_cost:100,max_purchases:3},
{trade_id:"master",item:"cobblemon:master_ball",quantity:1,lp_cost:500,max_purchases:1,cooldown_ms:86400000}
]
NBT Fields:
| Field | Type | Description |
|---------------|--------|-----------------------------------|
| trade_id | string | Unique identifier |
| item | string | Item ID (e.g., minecraft:diamond) |
| quantity | int | Stack size (1-64) |
| lp_cost | int | League Points cost |
| max_purchases | int | Purchase limit (-1 = unlimited) |
| cooldown_ms | long | Cooldown in ms (86400000 = 24h) |
Build the Redstone-activated Gym of your dreams, or battle labyrinth of your server's nightmares!


