
[trainers]
	# Trainers' pokemobs will gain exp as they battle. [Default: true]
	trainerslevel = true
	# Pokemobs can hurt NPCs. [Default: false]
	pokemobsHarmNPCs = false
	# Trainers with no pokemobs will despawn. [Default: false]
	cullNoMobs = false
	# if true, trainers will not aggro a player within pokecenter_radius of a Pokecenter. [Default: true]
	no_battle_near_pokecenter = true
	# If there are more than this many trainers within trainer_crowding_radius,
	# then the trainers will not aggro to players. [Default: 5]
	trainer_crowding_number = 5
	# Minimum reputation for tracking, players at this or less are visible from twice as far. [Default: -100]
	trainer_min_rep = -100
	# Default reward for trainers. [Default: "minecraft:emerald","n":"1"]
	trainer_defeat_reward = "{\"values\":{\"id\":\"minecraft:emerald\",\"n\":\"1\"}}"
	# Trainers will occasionally mate to produce more trainers. [Default: true]
	trainersMate = true
	# MobIDs listed here will be added as custom trainers if npcsAreTrainers is true.
	# this is for mobs that are not INPCs, but should be.
	custom_trainers = ["player_mobs:player_mob"]
	# Reputation gain on killing a wild pokemob. [Default: 5]
	trainer_wild_kill_rep = 5
	# Reputation gain on killing a tamed pokemob. [Default: 2]
	trainer_tame_kill_rep = 2
	# See no_battle_near_pokecenter. [Default: 10]
	pokecenter_radius = 10
	# How far trainers will check for targets to battle.
	# This is then modified by trainer_min_rep and trainer_max_rep for the actual sight distance.
	# The formula used is:
	# range_modified = range * (max_rep - rep) / (max_rep - min_rep)
	# range_modified is capped at 2 * range, and lower limit of 0. [Default: 8]
	trainerSightRange = 8
	# This is the delay in ticks between the trainer deciding to send out a pokemob, and actually doing so. [Default: 50]
	trainerSendOutDelay = 50
	# Trainers will spawn naturally. [Default: true]
	trainerSpawn = true
	# unk
	# See trainerAIPause. [Default: 64]
	aiPauseDistance = 64
	# Trainers which are non-aggressive, might offer their pokemobs as trades for your pokemobs. [Default: true]
	trainersTradeMobs = true
	# This determines how sparsely trainers spawn.
	# there will only be trainerDensity trainers spawn every this far
	# excluding special spawns like villages. [Default: 256]
	trainerBox = 256
	# This is how far trainers will check to see if there are too many nearby to battle. [Default: 16]
	trainer_crowding_radius = 16
	# Time in ticks the trainer will be on cooldown after a battle
	# for targets other than the one they were battling. [Default: 50]
	trainerBattleDelay = 50
	# If the trainer does not see its target for this many ticks, it will give up the battle. [Default: 100]
	trainerDeAgressTicks = 100
	# Maximum reputation for tracking, players at this or more, are not visible for auto-aggro. [Default: 100]
	trainer_max_rep = 100
	# This is the time in ticks, in which a trainer will go on cooldown
	# after a player wins or loses a battle. [Default: 5000]
	trainerCooldown = 5000
	# Trainers will occasionally battle each other. [Default: true]
	trainersBattleEachOther = true
	# Anything that is an INPC will be made into a trainer. [Default: true]
	npcsAreTrainers = true
	# Trainers can go in snag cubes. [Default: false]
	canSnagTrainers = false
	# Trainers will look for targets every this many ticks. [Default: 20]
	trainerAgroRate = 20
	# Trainers that are non-aggressive (ie. on cooldown or bribed) will offer item trades. [Default: true]
	trainersTradeItems = true
	# If there are no players within aiPauseDistance, the trainer will not tick. [Default: true]
	trainerAIPause = true
	# How many trainers spawn in trainerBox. [Default: 2]
	trainerDensity = 2.0
	# Trainers will occasionally battle wild pokemobs. [Default: true]
	trainersBattlePokemobs = true

[machine]
	# Automatically registers DNA extraction recipes for fossils. [Default: true]
	autoAddFossilDNA = true
	# How many effective ticks are added for breeding time per daycare tick. [Default: 10]
	dayCareBreedAmount = 10
	# Daycares will also speed up the breeding time. [Default: true]
	dayCareBreedSpeedup = true
	# Maximum energy in the AFA, this effectively sets a max range for it to affect, based on the costs. [Default: 3200]
	afaMaxEnergy = 3200
	# How likely an AFA is to result in shiny mobs nearby if it has a shiny charm in it. [Default: 4096]
	afaShinyRate = 4096
	# Warp pads require energy. [Default: true]
	warpPadEnergy = true
	# Energy siphons can be linked to receiving blocks with the device linker. [Default: true]
	wirelessSiphons = true
	# Energy cost of the AFA when running in shiny mode
	#  d is the range of the AFA. [Default: (d^3)/10]
	afaCostFunctionShiny = "(d^3)/10"
	# Amount of daycare power required to give exp to a pokemob, variables are:
	#  x - pokemob's current exp
	#  l - pokemob's current lvl
	#  n - pokemob's needed exp from current level to next. [Default: 0.5]
	dayCarePowerPerExp = "0.5"
	# Used to scale the energy cost of genetics machines, x is the original energy input. [Default: x]
	clonerEfficiencyFunction = "x"
	# Amount of forge energy needed to revive a fossil. [Default: 10000]
	fossilReanimateCost = 10000
	# The maximum forge energy per tick from an energy siphon. [Default: 256]
	maxOutput = 256
	# Warp pads can charge up to this much stored energy. [Default: 10000000]
	warpPadMaxEnergy = 10000000
	# Amount of exp given per daycare tick, variables are:
	#  x - pokemob's current exp
	#  l - pokemob's current lvl
	#  n - pokemob's needed exp from current level to next. [Default: n/10]
	dayCareExpFunction = "n/10"
	# How much daycare power is produced per item of fuel consumed. [Default: 256]
	dayCarePowerPerFuel = 256
	# Effective cost of a lvl 100 pokemob
	# this is for applying breeding tick stuff
	# even though lvl 100 can't gain exp. [Default: 30]
	dayCareLvl100EffectiveLevel = 30
	# How often in ticks the siphon will search for new pokemobs to pull energy. [Default: 100]
	siphonUpdateRate = 100
	# Daycares will only run every this many ticks. [Default: 20]
	dayCareTickRate = 20
	# How much energy you get of a pokemob. [Default: a*x/10]
	#  a is the max of spatk and atk.
	#  x is the level of the pokemob.
	powerFunction = "a*x/10"
	# unk
	# Energy cost of the AFA for running in ability mode
	#  l is the level of the mob
	#  d is the range of the AFA. [Default: (d^3)/(10 + 5*l)]
	afaCostFunction = "(d^3)/(10 + 5*l)"
	# This scales the amount of hunger produced by pulling energy out of a pokemob. [Default: 5]
	energyHungerCost = 5
	# Energy cost of Warp Pad teleportation, dw is 0 for the same dimension, varies otherwise. [Default: (dx)*(dx) + (dy)*(dy) + (dz)*(dz) + (5*dw)^4]
	warpPadCostFunction = "(dx)*(dx) + (dy)*(dy) + (dz)*(dz) + (5*dw)^4"
	# Afa ticks every this many ticks. [Default: 5]
	afaTickRate = 5

