🤺 201 Trainers 🤺
This datapack adds Trainer NPC's around the world making it even better to level up your Pokémon as well as getting some bonus rewards for winning against them! All trainers have dynamic parties and Pokémon levels that scale with your team, ensuring that whether you're a new or experienced player, every battle remains a challenging and engaging experience.Important (⚠️) This datapack requires a resource pack to function properly. Make sure to place the ZIP file in both your resourcepacks and datapacks folders.

📋 Reward List 📋


























































































🏆 NPC Spawns and Rewards 🐣
🧠 NPC | 🌍 Biome/Location | 💰 Money Reward |
---|---|---|
Aqua | Grassland, Highlands, Hills, Forest | 100–200 |
Artist | Grassland, Plains, Hills, Forest | 200–500 |
Ash | Overworld | 1000–2000 |
Backpacker | Grassland, Highlands, Hills, Forest | 500–1000 |
Baker | Grassland, Hills, Forest | 100–200 |
Biker | Overworld | 200–500 |
Bird Keeper | Mountain, Forest, Highlands | 200–500 |
Black Belt | Mountain, Desert, Badlands, Highlands | 200–500 |
Boarder | Deep Ocean, Coast, Beach, Island | 100–200 |
Bug Catcher | Forest, Grassland, Jungle | 200–500 |
Café Master | Sandy, Plains | 100–200 |
Dragon Tamer | Mountain, Peak, End, Nether Mountain | 500–1000 |
Engineer | Sandy, Plains | 200–500 |
Firebreather | Nether, Cave | 200–500 |
Fisherman | Coast, Beach, Freshwater, Island | 200–500 |
Garçon | Plains | 500–1000 |
Gardener | Grassland, Highlands, Hills, Forest | 100–200 |
Golfer | Grassland, Plains | 100–200 |
Guitarist | Mountain, Peak | 200–500 |
Hiker | Mountain, Peak, Nether Mountain | 500–1000 |
James | Mountain, Peak, Grassland, Highlands, Hills, Forest | 1000–2000 |
Jessie | Mountain, Peak, Grassland, Highlands, Hills, Forest | 1000–2000 |
Jogger | Grassland, Highlands, Hills, Plains | 100–200 |
Magma | Nether, Cave | 100–200 |
Model | Mountain, Peak | 500–1000 |
Office Worker | Magical, Plains | 500–1000 |
Officer | Plains | 100–200 |
Pokémon Breeder | Mountain, Grassland, Hills, Plains | 200–500 |
Pokémaniac | Spooky, Cave, Desert, Grassland | 500–1000 |
Pokéfan | Grassland, Highlands, Hills, Forest | 200–500 |
Pokékid | Grassland, Highlands, Hills, Forest | 100–200 |
Postman | Plains | 200–500 |
Psychic | Magical, Mushroom, Nether Fungus | 500–1000 |
Rocket Grunt | Nether, Cave | 500–1000 |
Sailor | Coast, Ocean | 200–500 |
Schoolboy | Grassland, Highlands, Hills, Forest | 200–500 |
Sky Trainer | Mountain, Peak, Highlands, Hills | 200–500 |
Super Nerd | Magical, Mushroom, End, Nether Fungus | 200–500 |
Surfer | Coast, Ocean | 500–1000 |
Swimmer | Deep Ocean, Coast, Beach, Island | 200–500 |
Tourist | Grassland, Plains, Hills, Forest | 100–200 |
Veteran | Mountain, Peak, Highlands, Hills | 500–1000 |
Youngster | Grassland, Highlands, Hills, Forest | 100–200 |
📝 Change Rewards List 📝
-
Important Note: Modifying datapacks can be challenging for beginners. Proceed with caution! ⚠️
To customize the items that each Trainer gives, you'll need to have the datapack folder unzipped and placed in your datapacks directory. Once unzipped, navigate to the following location:
201TrainersDatapack\data\201\loot_tableIn this folder, you'll find a JSON file with all the rewards.
To change an item, open the .json file and locate an item which will look like this: "name": "cobblemon:poke_ball". For example, if you want to replace the pokeball drop with a rare candy, change "name": "cobblemon:poke_ball" to "name": "cobblemon:rare_candy".
You can find the namespaces for cobblemon items by pressing F3+H in-game and hovering your mouse over an item.
To remove items, simply delete the corresponding section:
{ "type": "item", "weight": 1, "name": "cobblemon:poke_ball" }
To add more items, simply add a new section:
{ "type": "item", "weight": 1, "name": "cobblemon:poke_ball" }
Remember to add a comma "," after each item (except the last one). Essentially, it's a JSON list separated by commas. If you've modified any of these .json files and the rewards stop working, you might have misspelled an item in the namespace or used an item that doesn't exist in Minecraft's namespace. Additionally, double-check that your .json file is properly formatted by using an online JSON formatter.
💵 Add Money Rewards for Servers 💵
-
Important (⚠️) If you want to use this datapack on your Server contact me first.
If you are running Impactor on your Server you can also add money rewards to each trainer that is defeated. Simply go into this folder location:
201TrainersDatapack\data\cobblemon\npc_presetsInside this folder you will see 5 .json files with the corresponding names battle_reward_pokedollars.json, battle_reward_pokedollars2.json, battle_reward_pokedollars3.json, battle_reward_pokedollars4.json and battle_reward_pokedollars5.json. Open each one of these files and change the "defaultValue" from "0" to "1":
{ "config": [ { "variableName": "toggle_battle_reward_p", "displayName": "Toggle Battle Pokedollar Reward", "description": "Determines if this trainer should give a reward to the player after the battle.", "type": "BOOLEAN", "defaultValue": "0" }, { "variableName": "battle_reward_amount_p_1", "displayName": "Min Battle Pokedollar Payout", "description": "Determines the min payout for the player.", "type": "NUMBER", "defaultValue": "100.0" }, { "variableName": "battle_reward_amount_p_2", "displayName": "Max Battle Pokedollar Payout", "description": "Determines the max payout for the player.", "type": "NUMBER", "defaultValue": "200.0" } ] }Then go into this folder location:
201TrainersDatapack\data\cobblemon\flows\battle_victoryInside this folder you will see a single file named npc_battle_end.json. Go inside this file and change the name of the set currency to the name of the currency you are using. To change, go on each of the sections that reference impactor:pokedollars, and change pokedollars to the currency of your choice:
t.loser.npc.config.toggle_battle_reward_p ? { for_each(t.player_winner, c.player_winners, { v.player = t.player_winner.player; v.npc = t.loser.npc; q.set_query('player', t.player_winner.player); q.set_query('npc', t.loser.npc); t.modifier = q.player.data.ng.modifier; t.random_dollars = math.random_integer(q.npc.config.battle_reward_amount_p_1 * (t.modifier != 0 ? t.modifier : 1), q.npc.config.battle_reward_amount_p_2 * (t.modifier != 0 ? t.modifier : 1)); q.run_command('deposit ' + t.random_dollars + ' impactor:pokedollars ' + q.player.username); q.player.tell('§aYou have received §l' + t.random_dollars + '$§r§a for winning!§r'); }); };Have some issues? You can join the Official Cobblemon discord server, search for '201 Trainers' and ask your questions there, or alternatively, you can DM me on discord.
