
[advanced]
	# Teleporting via the move teleport will not work in any dimensions listed here.
	blackListedTeleDims = []
	# Moves in here will ignore pokemobsDamageBlocks and never apply their effects.
	damageBlocksBlacklist = []
	# Moves in here will ignore pokemobsDamageBlocks, and apply their effects regardless.
	damageBlocksWhitelist = ["flash", "teleport", "dig", "cut", "rock-smash", "secret-power", "nature-power", "hyperspace-hole", "nest_dig"]
	# Randomness. Changing not recommended.
	extraVars = ["jc:3.5", "rc:4.5", "eggDpl:2.0", "eggDpm:4.0"]
	# If true, lakes will be removed from pokecube structure spawns, disable this if that interferes with other mod's worldgen! [Default: true]
	lakeFeatureMixin = true
	# Maximum size of a pokemob, in blocks. [Default: 20.0]
	maxMobSize = 20.0
	# Minimum size of a pokemob, in blocks. [Default: 0.01]
	minMobSize = 0.01
	# If true, killing non-pokemobs will provide exp to pokemobs. [Default: false]
	nonPokemobExp = true
	# This is how much exp is given for killing a non-pokemob, h is the max health of the mob, and a is the amount of armour it had. [Default: "h*(a+1)^2"]
	nonPokemobExpFunction = "h*(a+1)^2"
	# Delay for pokemobs released from pokecubes when thrown. [Default: 20]
	pokecubeAutoSendOutDelay = 20
	# Freezes all pokemobs in place. [Default: false]
	pokemobsAreAllFrozen = false
	# Makes all rare candies bad. [Default: false]
	reputs = false

[ai]
	# Wild pokemobs may agro to the player if they get closer than this distance. This applies to pokemobs tagged as #pokecube:aggressive [Default: 3]
	aggressiveAggroRadius = 1
	# Wild pokemobs will check for a player to attack every approximately this many ticks, large values decrease the chance of pokemob aggression. This applies to pokemobs not as #pokecube:friendly [Default: 200]
	aggressiveAgroRate = 200
	# Mobs with these entity IDs or Entity_Type Tags will not be valid aggression targets for pokemobs.
	aggroBlacklist = ["#pokecube:no_agro"]
	# If true, a scoreboard team is added for each player automatically, and they are added to it. [Default: true]
	autoCreateScoreboardTeams = true
	# Approximate number of ticks between breeding. [Min: 600] [Default: 4000]
	breedingDelay = 4000
	# Pokemobs will refuse to enter the pokecube again for this many ticks after a failed capture. [Default: 0]
	captureDelayTicks = 0
	# If true, pokemobs will need to execute an attack after breaking out of a cube before they can go into another for capture. [Default: true]
	captureDelayTillAttack = true
	# Pokemobs will forget their target if they get more than this far away. [Default: 32]
	chaseDistance = 32
	# This is the target distance between two pokemobs during a fight. [Default: 4]
	combatDistance = 4
	# If despawn is enabled, when mobs exceed cullDistance, and are within aiDisableDistance, they will vanish after this many ticks if no player get back in range. [Default: 2000]
	despawnTimer = 2000
	# If true, players can dive with valid pokemobs. [Default: true]
	diveEnabled = true
	# If true, idle AI for pokemobs will slow down as server load increases. [Default: false]
	doLoadBalancing = false
	# A random sound from here is played when a pokemob dodges in combat.
	dodgeSounds = ["entity.witch.throw"]
	# Scales combat dodging speed. [Default: 1]
	dodgeSpeedFactor = 1.0
	# Maximum time for eggs to hatch, the average number is about half this. [Default: 10000]
	eggHatchTime = 5000
	# How long the exit cube animation effects last for. [Default: 40]
	exitCubeDuration = 40
	# This scales the amount of vanilla exp that pokemobs drop on death. [Default: 1.0]
	expFromDeathDropScale = 1.0
	# Fish-like pokemobs will occasionally look for fishing bobbers in this range. [Default: 16]
	fishHookBaitRange = 16
	# If true, players can fly on valid pokemobs. [Default: true]
	flyEnabled = true
	# Scaling factor on pokemob flight speed while pathing normally. [Default: 1.25]
	flyPathingSpeedFactor = 1.25
	# Pokemobs can have guard mode enabled, which makes them randomly murder things nearby. [Default: true]
	guardModeEnabled = false
	# How far pokemobs look for targets while guarding an area. [Default: 16]
	guardSearchDistance = 16
	# Delay between guard mode ticks, lower is faster. [Default: 20]
	guardTickRate = 20
	# How likely pokemobs are to call for help from nearby mobs when they are attacked. [Default: 0.1]
	hordeRateFactor = 0.1
	# Wild pokemobs may agro to the player if they get closer than this distance. This applies to pokemobs tagged as #pokecube:hostile [Default: 5]
	hostileAggroRadius = 5
	# Wild pokemobs will check for a player to attack every approximately this many ticks, large values decrease the chance of pokemob aggression. This applies to pokemobs tagged as #pokecube:hostile [Default: 20]
	hostileAgroRate = 20
	# How often the hunger system ticks, larger numbers will result in faster hunger, setting to -1 will disable hunger entirely. [Default: 1]
	hungerTickRate = 1
	# How often pokemobs look for something to hunt when hungry, lower is faster, but more server load. [Default: 5]
	huntUpdateRate = 5
	# Maximum distance a tamed pokemob will try to move while idle wandering. [Default: 4]
	idleMaxPathTame = 4
	# Maximum distance a wild pokemob will try to move while idle wandering. [Default: 16]
	idleMaxPathWild = 16
	# This is how often wild pokemobs make random sounds, higher numbers result in less noise. [Default: 100]
	idleSoundRate = 100
	# This scales how loud wild pokemob sounds are, lower numbers are lower volumes. [Default: 0.25]
	idleSoundVolume = 0.25
	# How often pokemobs attempt to perform an idle action, such as walking, etc. Larger numbers are better for server performance, but result in less wandering of wild pokemobs. [Default: 200]
	idleTickRate = 200
	# Scaling factor on time delay between pokemob interactions, such as lighting torches, milking, etc. [Default: 1.0]
	interactDelayScale = 1.0
	# Scaling factor on hunger from pokemob interactions, such as lighting torches, milking, etc. [Default: 1.0]
	interactHungerScale = 1.0
	# A random sound from here is played when a pokemob leaps in combat.
	leapSounds = ["entity.witch.throw"]
	# Scales combat leaping speed. [Default: 1]
	leapSpeedFactor = 1.0
	# Scaling rate for load balancing. [Default: 1.0]
	loadBalanceScale = 1.0
	# Number of ms in a tick to start computing load balancing. [Default: 2]
	loadBalanceThreshold = 2.0
	# This number multiplied by mobSpawnNumber is how many mobs can be in an area before pokemobs stop breeding, this is for tamed pokemobs. [Default: 4]
	mateDensityPlayer = 4.0
	# This number multiplied by mobSpawnNumber is how many mobs can be in an area before pokemobs stop breeding, this is for wild pokemobs. [Default: 2]
	mateDensityWild = 2.0
	# Determines how quickly mobs want to mate again, larger values are faster. [Default: 1]
	mateMultiplier = 1
	# How often pokemobs update their nearby blocks list, lower is faster, higher is less server load. [Default: 5]
	nearBlockUpdateRate = 5
	# If true, pokemobs will slowly heal while out of combat. [Default: true]
	outOfCombatHealing = true
	# This is approximately how long a pokemob will live before it takes hunger damage, larger values will require less food to keep alive. [Default: 8000]
	pokemobLifeSpan = 8000
	# This is a cooldown between the pokemob deciding to attack a player, and the pokemob actually doing so, this gives some warning when you are about to be attacked. [Default: 100]
	pokemobagressticks = 100
	# If true, there will be a warning in chat if a wild pokemob agros to you. [Default: true]
	pokemobagresswarning = true
	# If true, player's pokemobs can hit them with AOE moves and misses. [Default: false]
	pokemobsDamageOwner = false
	# If true, pokemobs can hurt players. [Default: true]
	pokemobsDamagePlayers = true
	# If true, hungry lithovores might eat gravel to nothing. [Default: false]
	pokemobsEatGravel = false
	# If true, hungry herbivores will eat random plants. [Default: true]
	pokemobsEatPlants = true
	# If true, hungry lithovores will eat rocks to cobble/gravel. [Default: true]
	pokemobsEatRocks = true
	# Shift-right-clicking a valid pokemob with a stick will place it on your shoulder. [Default: true]
	pokemobsOnShoulder = true
	# If true, players can surf on valid pokemobs. [Default: true]
	surfEnabled = true
	# Scaling factor on pokemob swim speed while pathing normally. [Default: 1.25]
	swimPathingSpeedFactor = 1.25
	# If true, tamed pokemobs will try to gather items. [Default: true]
	tameGather = true
	# This is how often tamed pokemobs look for items to collect, smaller values are faster. [Min: 1] [Default: 20]
	tameGatherDelay = 20
	# This is how far away tamed pokemobs will look for items to collect. [Default: 16]
	tameGatherDistance = 16
	# If true, player's in the same team can still battle each other. [Default: true]
	teamsBattleEachOther = true
	# If true, wild pokemobs will try to gather items. [Default: false]
	wildGather = false
	# This is how often wild pokemobs look for items to collect, smaller values are faster. [Min: 1] [Default: 200]
	wildGatherDelay = 200
	# This is how far away wild pokemobs will look for items to collect. [Default: 8]
	wildGatherDistance = 8

[debug]
	# Debug output for mob ai. [Default: false]
	debug_ai = false
	# Debug output for chat commands and pokemob orders. [Default: false]
	debug_commands = false
	# Debug output for datapack loading. [Default: false]
	debug_data = false
	# Debug output for uncatogorised things. [Default: false]
	debug_misc = false
	# Debug output for move use. [Default: false]
	debug_moves = false
	# Debug output for pokemob spawning. [Default: false]
	debug_spawning = false

[dynamax]
	# Dynamax cooldown in ticks. [Default: 6000]
	dynamax_cooldown = 6000
	# Dynamax duration in ticks. [Default: 250]
	dynamax_duration = 250
	# Scale of dynamaxed pokemobs. [Default: 5.0]
	dynamax_scale = 5.0
	# Z-Move cooldown in ticks. [Default: 2000]
	z_move_cooldown = 2000

[generation]
	# Allows the generic berry item to be added to pokemob drop pools if no other berries are added. [Default: false]
	autoAddNullBerries = false
	# If false, subbiomes will not auto-detect, meaning they need to be placed manually, useful for adventure maps, etc. [Default: true]
	autoDetectSubbiomes = true
	# Auto-generated berries by hungry pokemobs will contain up to this many berries. [Default: 15]
	berryStackScale = 15
	# Attempts to ensure there is a pokecenter at spawn, this can still fail however depending on worldgen specifics. [Default: true]
	doSpawnBuilding = true
	# Berry trees/crops will be added to certain biomes, based on datapack settings. [Default: true]
	generateBerries = true
	# Fossil ores will generate in certain biomes. [Default: true]
	generateFossils = true
	# Can be used to adjust rate of berries on trees growing, lower values result in faster berry growth. [Default: 75]
	leafBerryTicks = 75
	# Minimum distance between explosive meteors. [Default: 3000]
	meteorDistance = 5000
	# Maximum radius of effect of damage from explosive meteors. [Default: 64]
	meteorRadius = 32
	# Scaling factor on blast yield of explosive meteors. [Default: 1.0]
	meteorScale = 1.0
	# If true, random explosive meteors will fall, though only one every meteorDistance. [Default: true]
	meteors = true
	# This is what the value in the structure data block will be replaced with to generate the professor.
	professor_override = "pokecube:mob:spawn_professor"
	# Resets some subbiomes when spawn checks apply there. [Default: false]
	refreshSubbiomes = false
	# Attempts to ensure the player spawns inside the spawn building. [Default: true]
	spawnInBuilding = false
	# Any structure not in structure_subbiomes will apply as ruins, unless something else sets it first (like the structure's spawn settings). [Default: true]
	structs_default_ruins = false

[genetics]
	# Function to get IVs from EVs when breeding. [Default: "rand()*(((2*v + 256) * 31) / 512)"]
	epigeneticEVFunction = "rand()*(((2*v + 256) * 31) / 512)"
	# Rate of pokeemob mutations.
	mutationRates = ["pokecube:colour 0.25", "pokecube:moves 0.0", "pokecube:species 0.1", "pokecube:size 0.1", "pokecube:evs 0.1", "pokecube:shiny 0.010416667", "pokecube:nature 0.05", "pokecube:ivs 0.1", "pokecube:ability 0.1", "pokecube:gmax 0.001"]

[misc]
	# Using a bed will heal your pokemobs. [Default: true]
	bedsHeal = true
	# The mob's favourite berry can be used to speed up breeding. [Default: true]
	berryBreeding = true
	# Mobs marked as "cloned" will drop items on death. [Default: false]
	clonesDrop = true
	# A list of custom sounds to register
	customSounds = []
	# Automatically adds interactions such as water from water types, and lighting torches for fire types. [Default: true]
	defaultInteractions = true
	# Scales EXP yield from fighting non-player owned pokemobs. [Default: 1.0]
	expScaleFactor = 1.0
	# You will be prompted to choose a pokemob when creating a world, without having to look for a professor. [Default: false]
	guiOnLogin = false
	# Legendary pokemobs can breed. [Default: false]
	legendsBreed = false
	# You will be prompted to look for a professor if you have not recieved a starter. [Default: false]
	msgAboutProfessor = false
	# If false, the PC can hold any item. [Default: true]
	pcHoldsOnlyPokecubes = true
	# Your items which fit in the PC will be sent there when you die. [Default: true]
	pcOnDrop = true
	# A list of NBT tags to remove before saving the pokemob in its pokecube
	persistent_tag_blacklist = []
	# Defeating a player's pokemobs gives exp. [Default: false]
	pvpExp = false
	# Scaling factor for EXP yield from fighting another player's pokemobs. [Default: 0.5]
	pvpExpMultiplier = 0.5
	# additional Mob IDs or Entity_Type tags which are blacklisted from going into snag cubes
	snag_cube_blacklist = []
	# Defeating an NPC's pokemobs gives exp. [Default: true]
	trainerExp = true

[moves]
	# This is the hunger cost per item smelted by fire type moves. [Default: 100]
	baseSmeltingHunger = 100
	# Maximum radius of effect of an explosion type move. [Default: 16]
	blastRadius = 16
	# Scaling factor on explosion type moves' block damage. [Default: 100]
	blastStrength = 100.0
	# Can be used to scale damage from contact moves. [Default: 1.0]
	contactAttackDamageScale = 1.0
	# The "range" of contact moves, if not 0, they will apply damage like ranged attacks. [Default: 0]
	contactAttackDistance = 0.0
	# Enables world effects of electric type moves. [Default: true]
	defaultElectricActions = true
	# Enables world effects of fire type moves, such as: lighting fires, smelting, etc. [Default: true]
	defaultFireActions = true
	# Enables world effects of ice type moves. [Default: true]
	defaultIceActions = true
	# Enables world effects of water type moves. [Default: true]
	defaultWaterActions = true
	# A cap on how much damage a tamed pokemob can deal to a player. [Default: 10]
	maxOwnedPlayerDamage = 10
	# A cap on how much damage a wild pokemob can deal to a player. [Default: 10]
	maxWildPlayerDamage = 10
	# If this is false, then when a pokemob replaces a move, the old move will be added to the list of moves it can learn. [Default: false]
	movesForgottenWhenOverriden = false
	# If true, only pokemobs can deal damage to pokemobs. [Default: false]
	onlyPokemobsDamagePokemobs = false
	# This fraction of the damage dealt is also applied as magic damage to the player, this is for tamed pokemobs. [Default: 0.1]
	ownedPlayerDamageMagic = 0.1
	# A Scaling factor on damage when a tamed pokemob attempts to hit a player. [Default: 1.0]
	ownedPlayerDamageRatio = 1.0
	# This scales how much damage players can deal to pokemobs. [Default: 1.0]
	playerToPokemobDamageScale = 1.0
	# This is a scaling factor for damage dealt by pokemobs to NPCs. [Default: 1.0]
	pokemobToNPCDamageRatio = 1.0
	# This is a scaling factor for damage dealt py pokemobs to mobs which are neither pokemobs, players or NPCs. [Default: 1.0]
	pokemobToOtherMobDamageRatio = 1.0
	# Can be used to scale damage from ranged moves. [Default: 1.0]
	rangedAttackDamageScale = 1.0
	# How far ranged attacks will be able to hit from. [Default: 16]
	rangedAttackDistance = 16.0
	# This fraction of the damage dealt is also applied as magic damage to the player, this is for wild pokemobs. [Default: 0.1]
	wildPlayerDamageMagic = 0.1
	# A Scaling factor on damage when a wild pokemob attempts to hit a player. [Default: 1.0]
	wildPlayerDamageRatio = 1.0

[nests]
	# The number of ant pokemobs that work at one nest. [Default: 10]
	antNestMobNumber = 10
	# Probability per second of a nest spawning an egg, if it has less than 3 eggs. [Default: 0.25]
	nestEggRate = 0.25
	# The number of pokemobs that work at one nest. [Default: 3]
	nestMobNumber = 3
	# Minimum distance between burrows made by wild pokemobs. [Default: 64]
	nestSpacing = 64
	# Wild pokemobs make nests, these result in effective mob spawners where they made them, and will prevent other mobs spawning in the area, unless the nests are cleared out. [Default: true]
	pokemobsMakeNests = true

[permissions]
	# sets permsCapture
	permsCapture = false
	# sets permsCaptureSpecific
	permsCaptureSpecific = false
	# sets permsDive
	permsDive = false
	# sets permsDiveSpecific
	permsDiveSpecific = false
	# sets permsFly
	permsFly = false
	# sets permsFlySpecific
	permsFlySpecific = false
	# sets permsHatch
	permsHatch = false
	# sets permsHatchSpecific
	permsHatchSpecific = false
	# sets permsMoveAction
	permsMoveAction = false
	# sets permsRide
	permsRide = false
	# sets permsRideSpecific
	permsRideSpecific = false
	# sets permsSendOut
	permsSendOut = false
	# sets permsSendOutSpecific
	permsSendOutSpecific = false
	# sets permsSurf
	permsSurf = false
	# sets permsSurfSpecific
	permsSurfSpecific = false

[spawning]
	# If false, specific pokemob spawn rates are not affected by location is ignored. [Default: true]
	applySpawnRateMask = true
	# Similar to deactivateMonsters, but for vanilla animals. [Default: true]
	deactivateAnimals = false
	# Vanilla monsters will not spawn via normal spawning, this does not prevent mob spawners or special spawns. [Default: false]
	deactivateMonsters = false
	# the configs for deactivating/disabling monsters and animals will also affect these worlds, not only vanilla worlds.
	deactivateWhitelist = ["pokecube_world:overworld"]
	# These determine what lvl pokemobs spawn based on location. If central is true, then the origin for the function is 0,0, otherwise it is world spawn. if radial is true, then the function takes the variable r, which is horizontal distance from the origin. Otherwise it takes x and y, which are the horizontal coordinates with respect to the origin.
	dimensionSpawnLevels = ["{\"dim\":\"the_nether\",\"func\":\"abs((50)*(sin(x*8*10^-3)^3 + sin(y*8*10^-3)^3))\",\"radial\":false,\"central\":false}", "{\"dim\":\"overworld\",\"func\":\"abs((50)*(sin(x*10^-3)^3 + sin(y*10^-3)^3))\",\"radial\":false,\"central\":false}", "{\"dim\":\"the_end\",\"func\":\"1+r/200\",\"radial\":true,\"central\":true}"]
	# Similar to disableVanillaMonsters, but for vanilla animals. [Default: false]
	disableVanillaAnimals = false
	# If true, vanilla monsters are removed entirely, similar to peaceful mode. [Default: false]
	disableVanillaMonsters = false
	# Wild mobs will be capped at this lvl for spawning. [Default: 50]
	levelCap = 100
	# Legendary pokemobs will not spawn naturally below this level. [Default: 1]
	minLegendLevel = 1
	# see mobSpawnNumber's description. [Default: 1]
	mobDensityMultiplier = 1.0
	# This number, multiplied by mobDensityMultiplier will determine how many pokemobs will spawn within maxSpawnRadius of the player, this occurs at a rate based on spawnRate. [Default: 10]
	mobSpawnNumber = 10
	# Default radius of effect for repels, also applies to dynamax spots. [Default: 16]
	repelRadius = 16
	# If false, levelCap is ignored. [Default: true]
	shouldCap = true
	# Pokemobs will not spawn in these biomes unless explicitly allowed to.
	softSpawnBiomeBlacklist = ["the_bumblezone:sugar_water_floor", "the_bumblezone:hive_wall", "the_bumblezone:hive_pillar"]
	# Pokemobs will not spawn in the dimensions listed here.
	spawnDimBlacklist = ["compactmachines:compact_world"]
	# If spawnWhitelisted is enabled, pokemobs will only spawn in these dimensions.
	spawnDimWhitelist = []
	# This is an additional function applied to spawn lvl's after dimensionSpawnLevels, here x is the level chosen by dimensionSpawnLevels, and the output is the actual spawn lvl. [Default: "x + ceil(5*rand())"]
	spawnLevelVariance = "x + ceil(5*rand())"
	# This is how often the code attempts to spawn pokemobs near a player. [Default: 2]
	spawnRate = 2
	# Enables using spawnDimWhitelist to determine if a dimension is valid for spawn. [Default: false]
	spawnWhitelisted = false

