NPC Trainers are NPCs that spawn randomly throughout the world or inside towns. They can be challenged to Pokémon battles by throwing a Pokémon at them. There are several different types of NPC Trainers, each having different Pokémon at different levels. They award amounts of PokéDollars upon defeat that depend on the Trainers' types and the levels of their Pokémon.
- Bug Catcher
- Bug Maniac
- Female Pokémon Breeder
- Female Rocket Grunt
- Poké Maniac
- Poké Maniac Girl
- Preschooler Girl
- Rich Boy
The PokéDollar award given out by a naturally spawning NPC Trainer upon defeat depends on both a base amount (set in the NPC's external JSON file) and the average level of Pokémon in the NPC Trainer's party (rounded down). These two values are multiplied to produce a final PokéDollar award amount.
If an NPC Trainer is edited using an NPC editor, its PokéDollar reward will become fixed and no longer depend on the levels of Pokémon. The amount of PokéDollars specified in the "Win Money" field (in the "Trainer Editor - More Info" section) is exactly the amount of PokéDollars that will be awarded.
If a player's Pokémon is holding an Amulet Coin or a Luck Incense and participates in the battle, the PokéDollar award will be doubled, and if one of the player's Pokémon uses Happy Hour, the award will also be doubled. These two sources of doubling the award stack with each other, meaning that it is possible to gain four times the original amount by using both methods in a battle.
NPC Trainers can be created and customized using an NPC editor. They can be edited in the following ways:
- Trainer name
- Greeting/win/lose message
- "Greeting" is when the NPC Trainer is first engaged in battle.
- "Win" is when the NPC Trainer wins.
- "Lose" is when the NPC Trainer loses.
- Party Pokémon (Pokémon, levels, moves, Shininess, gender, nickname, growth, Abilities, Natures, held items, EVs, and IVs. Party can also be reset or randomized)
- Single/Double battle
- Battle AI mode
- Default: The Trainer will use the battle AI setting for naturally spawning Trainer's as defined in the "battleAITrainer" config setting.
- Random: The Trainer will use moves randomly.
- Aggressive: The Trainer will use the move that deals the most damage to the opponent, avoiding status moves.
- Tactical: The Trainer will know how to use status moves alongside offensive moves.
- Advanced: Along with knowing how to use moves like tactical AI, the Trainer will switch out Pokémon if advantageous.
- Movement AI mode
- Stand still: The Trainer will not move from its current position. It can be challenged by throwing a Pokémon at it.
- Still and engage: The Trainer will not move from its current position. It will challenge players that cross its line of sight.
- Wander: The Trainer will wander around randomly. It can be challenged by throwing a Pokémon at it.
- Wander and engage: The Trainer will wander around randomly. It will challenge players that cross its line of sight.
- Boss mode (Level scaling)
- Not boss: The levels of the Trainer's Pokémon will remain constant and can be specified when editing the Trainer's Pokémon.
- Equal: The levels of the Trainer's Pokémon will be set to the level of the challenging player's highest leveled Pokémon.
- Uncommon (Green boss): The levels of the Trainer's Pokémon will be set to 5 levels above the highest leveled Pokémon in the challenging player's party.
- Rare (Blue boss): The levels of the Trainer's Pokémon will be set to 10 levels above the highest leveled Pokémon in the challenging player's party.
- Legendary (Red boss): The levels of the Trainer's Pokémon will be set to 20 levels above the highest leveled Pokémon in the challenging player's party.
- Ultimate (Yellow boss): The levels of the Trainer's Pokémon will be set to 40 levels above the highest leveled Pokémon in the challenging player's party.
- Encounter mode
- Once: The Trainer will disappear after battling a player.
- Once per player: Each player can only battle the Trainer once.
- Once per Minecraft day: Each player can only battle the trainer once every Minecraft day.
- Once per day: Each player can only battle the Trainer once every real day.
- Unlimited: The Trainer can be challenged an unlimited number of times by each player.
- Drops (by name or by item ID)
- PokéDollar winnings
- Trainer type/skin
External JSON files
By enabling the "useExternalJSONFiles" config setting, the JSON files used to specify spawning data for NPC Trainers will become editable at "<Minecraft directory>/pixelmon/npcs". More information about these JSON files can be found here.
- "allowTrainerExperience": Whether or not NPC Trainers' Pokémon award experience upon defeat.