# specialai:elite_ai.toml
# This config contains options for elite AI patterns. Elite AI patterns bestow stat boosts, specific
# equipment, and allow these 'elite' mobs to perform actions in combat that can pose a great threat.
# See the appendix at the bottom of this file for more information on the elite AI patterns available.
# In general; changing options for elite AIs granted, attributes, and equipment only affects new entities.
# All other option changes affect existing entities (even in a running client) unless otherwise stated.

	# Entity List fields: General format = [ "namespace:entity_type value1 value2 ...", ... ]
	#   Entity lists are arrays of entity types. Some entity lists specify a number of values linked to each entity type.
	#   Entity types are defined by their key in the entity registry, usually following the pattern 'namespace:entity_name'.
	#   'default' can be used instead of an entity type registry key to provide default values for all entities.
	#   An asterisk '*' can be used to match multiple entity types. For example, 'minecraft:*' will match all vanilla entities.
	#   List entries by default match any entity type derived from (i.e. based on) their entity type. For example, '~minecraft:zombie'.
	#     There is no steadfast rule about extending, even in vanilla, but the hope is that mod-added mobs will extend their base mob.


# Category: general
# Options for customizing the elite AI system and options that affect all elite AI patterns.

	# List of mobs that can gain elite AI patterns and their chances to gain those patterns.
	# Additional values after the entity type are the chances (0.0 to 1.0) for entities of that type to spawn with elite AI.
	# You can specify multiple chances for each entity - each chance will be rolled and multiple AIs can stack.
	# <Entity List> Format: [ "namespace:entity_type value1 value2 ...", ... ], Default: [ "minecraft:zombie 0.04", "minecraft:skeleton 0.1 0.02", "minecraft:stray 0.1 0.02", "minecraft:wither_skeleton 0.1 0.02", "minecraft:piglin 0.04 0.04 0.02", "minecraft:zombified_piglin 0.04 0.04 0.02", "minecraft:piglin_brute 0.5 0.01 0.01" ]
	#    Range for Values: 0.0 ~ 1.0
	general.entities.whitelist = [
		"minecraft:zombie 0.04",
		"minecraft:skeleton 0.1 0.02",
		"minecraft:stray 0.1 0.02",
		"minecraft:wither_skeleton 0.1 0.02",
		"minecraft:piglin 0.04 0.04 0.02",
		"minecraft:zombified_piglin 0.04 0.04 0.02",
		"minecraft:piglin_brute 0.5 0.01 0.01",
		"greekfantasy:minotaur 0.15 0.2 0.2 0.2",
		"greekfantasy:harpy 0.15 0.2 0.2 0.2",
		"greekfantasy:drakaina 0.15 0.2 0.2 0.2",
		"greekfantasy:cyclopes 0.6 0.4 0.4 0.4",
		"greekfantasy:gigante 0.8 0.4 0.4 0.4",
		"greekfantasy:talos 0.4 0.4 0.4 0.4",
		"minecraft:vindicator 0.2",
		"dungeons_mobs:armored_vindicator 0.2",
		"dungeons_mobs:vindicator_chef 0.2",
		"dungeons_mobs:mountaineer 0.2",
		"dungeons_mobs:armored_mountaineer 0.2",
		"illagers_plus:miner 0.2",
		"illagers_plus:illager_king 0.8 0.8 0.6 0.6 0.6",
		"forestcraft:ancient_runestone_hero 0.8 0.8 0.6 0.6 0.6",
		"illagers_plus:furantur 0.2",
		"illagers_plus:berserker 0.2"
	]
	# <Entity List> Format: [ "namespace:entity_type", ... ], Default: []
	general.entities.blacklist = []

	# The following options are the weights for each elite AI pattern to be chosen when assigning an elite AI
	# to entities in the above list. The higher an AI's weight, the more common it will be compared to the others.
	# Elite AIs given a weight of 0 are effectively disabled (though they can still be NBT-edited onto mobs).
	# <Integer> Range: ≥ 0
	general.weight.leap = 50
	general.weight.jump = 75
	general.weight.sprint = 100
	general.weight.barrage = 15
	general.weight.charge = 150
	general.weight.thief = 15
	general.weight.shaman = 25
	general.weight.spawner = 5
	general.weight.throw_ally = 75
	general.weight.throw_enemy = 50

	# When true, elite AI patterns that "prefer melee" will replace any shooting item held by the entity
	# with a golden sword, in the hopes they will use melee attacks (instead of bow/crossbow attacks).
	# Note that this can be enabled or disabled for each AI pattern individually (see categories below).
	# <Boolean> Valid Values: { true, false }, Default: true
	general.prefer_melee_enabled = true
	# When true, elite AI patterns will be allowed to apply attribute modifiers to entities.
	# Note that each modifier can be disabled or changed individually (see categories below).
	# <Boolean> Valid Values: { true, false }, Default: true
	general.attribute_modifiers_enabled = true
	# When true, elite AI patterns will be allowed to overwrite existing entity equipment (aside from melee preference).
	# This equipment is designed to visually distinguish the elite AI pattern(s) on entities, so disabling
	# this may make it more difficult for players to understand what they are fighting.
	# Note that each equipment item can be disabled individually and some can be modified (see categories below).
	# <Boolean> Valid Values: { true, false }, Default: true
	general.equipment_replacement_enabled = true


# Category: leap
# Options for customizing the Leap elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: true
	leap.prefer_melee = true

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	leap.modifier.added_follow_range = 0.0
	leap.modifier.added_max_health = 0.0
	leap.modifier.increased_max_health = 0.0
	leap.modifier.added_knockback_resistance = 0.0
	leap.modifier.added_armor = 0.0
	leap.modifier.added_armor_toughness = 0.0
	leap.modifier.added_damage = 0.0
	leap.modifier.increased_damage = 0.0
	leap.modifier.added_knockback = 1.0
	leap.modifier.increased_speed = 0.1

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 2.0
	leap.range.min = 2.0
	# <Number> Range: ≥ 0.0, Default: 6.0
	leap.range.max = 6.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# completion, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 20
	leap.cooldown.min = 20
	# <Integer> Range: ≥ 0, Default: 40
	leap.cooldown.max = 40

	# The horizontal speed given to the entity in its target's direction when this AI activates, in blocks per second (m/s).
	# <Number> Range: Any Value, Default: 16.0
	leap.jump_speed.forward = 16.0
	# The vertical speed given to the entity when this AI activates, in blocks per second (m/s).
	# For reference, normal jumping speed is 8.4 m/s.
	# <Number> Range: Any Value, Default: 8.0
	leap.jump_speed.upward = 8.0


# Category: jump
# Options for customizing the Jump elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	jump.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	jump.modifier.added_follow_range = 0.0
	jump.modifier.added_max_health = 0.0
	jump.modifier.increased_max_health = 0.0
	jump.modifier.added_knockback_resistance = 0.0
	jump.modifier.added_armor = 0.0
	jump.modifier.added_armor_toughness = 0.0
	jump.modifier.added_damage = 0.0
	jump.modifier.increased_damage = 0.0
	jump.modifier.added_knockback = 0.0
	jump.modifier.increased_speed = 0.0

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 6.0
	jump.range.min = 6.0
	# <Number> Range: ≥ 0.0, Default: 12.0
	jump.range.max = 12.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# completion, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 60
	jump.cooldown.min = 60
	# <Integer> Range: ≥ 0, Default: 100
	jump.cooldown.max = 100

	# The horizontal speed given to the entity in its target's direction when this AI activates, in blocks per second (m/s).
	# <Number> Range: Any Value, Default: 28.0
	jump.jump_speed.forward = 28.0
	# The vertical speed given to the entity when this AI activates, in blocks per second (m/s).
	# For reference, normal jumping speed is 8.4 m/s.
	# <Number> Range: Any Value, Default: 20.0
	jump.jump_speed.upward = 20.0

	# The drop chance for Feather Boots (0 to 1). The item will drop damaged randomly, like normal equipment.
	# A negative value disables the item entirely, while a value over 1 prevents the item from being damaged on drop.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	jump.feather_boots.drop_chance = 0.085
	# Level of the feather falling enchantment on Feather Boots. 0 disables the enchant.
	# <Integer> Range: ≥ 0, Default: 4
	jump.feather_boots.enchant = 4


# Category: sprint
# Options for customizing the Sprint elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	sprint.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	sprint.modifier.added_follow_range = 0.0
	sprint.modifier.added_max_health = 0.0
	sprint.modifier.increased_max_health = 0.0
	sprint.modifier.added_knockback_resistance = 0.0
	sprint.modifier.added_armor = 0.0
	sprint.modifier.added_armor_toughness = 0.0
	sprint.modifier.added_damage = 0.0
	sprint.modifier.increased_damage = 0.0
	sprint.modifier.added_knockback = 0.0
	sprint.modifier.increased_speed = 0.0

	# The minimum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 12.0
	sprint.range.min = 12.0

	# The speed multiplier while this AI is active. For reference, sprint-jumping gives players about a 1.65 speed multi.
	# <Number> Range: ≥ 0.0, Default: 1.7
	sprint.run_speed = 1.7

	# This AI will deactivate when the entity is between the minimum and maximum distance from its target, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 3.0
	sprint.end_range.min = 3.0
	# <Number> Range: ≥ 0.0, Default: 6.0
	sprint.end_range.max = 6.0

	# The drop chance for Running Boots (0 to 1). The item will drop damaged randomly, like normal equipment.
	# A negative value disables the item entirely, while a value over 1 prevents the item from being damaged on drop.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	sprint.running_boots.drop_chance = 0.085
	# The movement speed modifier on Running Boots (uses 'multiply base' operation). 0 disables the modifier.
	# <Number> Range: Any Value, Default: 0.15
	sprint.running_boots.modifier = 0.15


# Category: barrage
# Options for customizing the Barrage elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	barrage.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	barrage.modifier.added_follow_range = 0.0
	barrage.modifier.added_max_health = 20.0
	barrage.modifier.increased_max_health = 0.0
	barrage.modifier.added_knockback_resistance = 0.0
	barrage.modifier.added_armor = 0.0
	barrage.modifier.added_armor_toughness = 0.0
	barrage.modifier.added_damage = 0.0
	barrage.modifier.increased_damage = 0.0
	barrage.modifier.added_knockback = 0.0
	barrage.modifier.increased_speed = 0.0

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 5.0
	barrage.range.min = 5.0
	# <Number> Range: ≥ 0.0, Default: 16.0
	barrage.range.max = 16.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# completion, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 100
	barrage.cooldown.min = 100
	# <Integer> Range: ≥ 0, Default: 160
	barrage.cooldown.max = 160

	# The base damage dealt by arrows. Note this varies ±0.25, gains +0.11 per difficulty level,
	# and final damage is scaled by total velocity (this is the normal behavior for monster-fired arrows).
	# <Number> Range: ≥ 0.25, Default: 3.0
	barrage.arrow_damage = 3.0
	# The direction variance for fired arrows. The higher this value, the less accurate arrows are.
	# <Number> Range: ≥ 0.0, Default: 20.0
	barrage.arrow_variance = 20.0
	# The time between each arrow shot during the barrage (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 5
	barrage.shot_time = 5

	# The time the entity pauses for after this AI activates before starting the barrage (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 30
	barrage.charge_up_duration = 30
	# The time the entity fires the barrage of arrows for (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 60
	barrage.shooting_duration = 60

	# The drop chance for the dispenser 'hat' (0 to 1). A negative value disables the item entirely.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.0
	barrage.dispenser.drop_chance = 0.0


# Category: charge
# Options for customizing the Charge elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	charge.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	charge.modifier.added_follow_range = 0.0
	charge.modifier.added_max_health = 20.0
	charge.modifier.increased_max_health = 0.0
	charge.modifier.added_knockback_resistance = 0.5
	charge.modifier.added_armor = 0.0
	charge.modifier.added_armor_toughness = 0.0
	charge.modifier.added_damage = 0.0
	charge.modifier.increased_damage = 0.0
	charge.modifier.added_knockback = 0.0
	charge.modifier.increased_speed = 0.0

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 6.0
	charge.range.min = 6.0
	# <Number> Range: ≥ 0.0, Default: 16.0
	charge.range.max = 16.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# activation, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 80
	charge.cooldown.min = 80
	# <Integer> Range: ≥ 0, Default: 140
	charge.cooldown.max = 140

	# The horizontal speed given to the entity in its target's direction while charging, in blocks per second (m/s).
	# <Number> Range: ≥ 0.0, Default: 28.0
	charge.charging_speed = 28.0
	# The horizontal speed given to the target on hit while charging, in blocks per second (m/s).
	# <Number> Range: ≥ 0.0, Default: 120.0
	charge.knockback_speed = 120.0
	# The horizontal speed given to the entity in its target's direction while charging, in blocks per second (m/s).
	# <Number> Range: ≥ 0.0, Default: 5.0
	charge.self_damage = 5.0

	# The time the entity pauses for after this AI activates before starting the charge attack (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 30
	charge.charge_up_duration = 30
	# The time the entity rapidly moves forward for during the charge attack (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 20
	charge.charging_duration = 20
	# The time the entity is inactive for if it hits a wall during the charge attack (20 ticks = 1 second).
	# <Integer> Range: ≥ 1, Default: 60
	charge.stunned_duration = 60

	# The drop chance for Charger's Helmets (0 to 1). The item will drop damaged randomly, like normal equipment.
	# A negative value disables the item entirely, while a value over 1 prevents the item from being damaged on drop.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	charge.charger_helmet.drop_chance = 0.085
	# Levels to enchant Charger's Helmets. 0 disables the enchant.
	# <Integer> Range: ≥ 0, Default: 30
	charge.charger_helmet.enchant_level = 30
	# If true, treasure enchantments will be able to appear on Charger's Helmets.
	# <Boolean> Valid Values: { true, false }, Default: true
	charge.charger_helmet.allow_treasure_enchants = true


# Category: thief
# Options for customizing the Thief elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	thief.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	thief.modifier.added_follow_range = 0.0
	thief.modifier.added_max_health = 0.0
	thief.modifier.increased_max_health = 0.0
	thief.modifier.added_knockback_resistance = 0.0
	thief.modifier.added_armor = 0.0
	thief.modifier.added_armor_toughness = 0.0
	thief.modifier.added_damage = 0.0
	thief.modifier.increased_damage = 0.0
	thief.modifier.added_knockback = 0.0
	thief.modifier.increased_speed = 0.1

	# The speed multiplier while moving to the target player to steal an item.
	# <Number> Range: ≥ 0.0, Default: 1.2
	thief.move_speed = 1.2

	# The maximum range to avoid players in.
	# Note that all changes to the avoidance behavior require reload to take effect on existing entities.
	# <Number> Range: ≥ 0.0, Default: 16.0
	thief.avoid_range = 16.0
	# The speed multiplier while avoiding far away players (≥ 7 blocks away).
	# <Number> Range: ≥ 0.0, Default: 1.0
	thief.avoid_speed.walk = 1.0
	# The speed multiplier while avoiding nearby players (< 7 blocks away).
	# <Number> Range: ≥ 0.0, Default: 1.2
	thief.avoid_speed.run = 1.2

	# The inventory slots that can be stolen from by entities with this AI.
	# For this purpose, the armor inventory is your head, chest, legs, and feet slots, the main inventory is
	# the big 3x9 inventory space, and the hotbar inventory is everything else (bottom 9 + offhand slots).
	# <Enum> Valid Values: { "any", "hotbar_only", "main_only", "armor_only", "hotbar_and_main", "hotbar_and_armor", "main_and_armor" }, Default: "hotbar_and_armor"
	thief.valid_slots = "hotbar_and_armor"
	# The damage dealt to the player when stealing an item.
	# <Number> Range: ≥ 0.0, Default: 1.0
	thief.steal_damage = 1.0
	# The time the entity turns invisible for after stealing an item (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 60
	thief.invisibility_duration = 60

	# When true, the mob will always have its main hand item cleared when given this AI.
	# Keep in mind, if this is disabled and the mob spawns with a held item, it will just avoid players.
	# <Boolean> Valid Values: { true, false }, Default: true
	thief.empty_hand = true
	# The drop chance for Thief's Caps (0 to 1). The item will drop damaged randomly, like normal equipment.
	# A negative value disables the item entirely, while a value over 1 prevents the item from being damaged on drop.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	thief.thief_helmet.drop_chance = 0.085
	# The movement speed modifier on Thief's Caps (uses 'multiply base' operation). 0 disables the modifier.
	# <Number> Range: Any Value, Default: 0.15
	thief.thief_helmet.modifier = 0.15


# Category: shaman
# Options for customizing the Shaman elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	shaman.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	shaman.modifier.added_follow_range = 0.0
	shaman.modifier.added_max_health = 0.0
	shaman.modifier.increased_max_health = 0.0
	shaman.modifier.added_knockback_resistance = 0.0
	shaman.modifier.added_armor = 0.0
	shaman.modifier.added_armor_toughness = 0.0
	shaman.modifier.added_damage = 0.0
	shaman.modifier.increased_damage = 0.0
	shaman.modifier.added_knockback = 0.0
	shaman.modifier.increased_speed = 0.0

	# The range for the entity's aura (in blocks), which pulses healing and effects every two seconds to allies.
	# <Number> Range: ≥ 0.0, Default: 16.0
	shaman.aura_range = 16.0
	# The amount of health restored with each aura pulse (in half-hearts).
	# <Number> Range: ≥ 0.0, Default: 2.0
	shaman.heal_amount = 2.0
	# If true, the entity will extinguish burning with each aura pulse.
	# <Boolean> Valid Values: { true, false }, Default: true
	shaman.extinguish = true

	# The potency of the Strength effect to apply with each aura pulse. A negative value disables the effect entirely.
	# <Integer> Range: ≥ -1, Default: 0
	shaman.strength_potency = 0
	# The potency of the Resistance effect to apply with each aura pulse. A negative value disables the effect entirely.
	# <Integer> Range: ≥ -1, Default: 0
	shaman.resistance_potency = 0
	# The potency of the Speed effect to apply with each aura pulse. A negative value disables the effect entirely.
	# <Integer> Range: ≥ -1, Default: -1
	shaman.speed_potency = -1
	# If true, the entity will apply the Slow Falling effect with each aura pulse.
	# <Boolean> Valid Values: { true, false }, Default: false
	shaman.slow_falling = false
	# If true, the entity will apply the Fire Resistance effect with each aura pulse.
	# <Boolean> Valid Values: { true, false }, Default: true
	shaman.fire_resistance = true
	# If true, the entity will apply the Water Breathing effect with each aura pulse.
	# <Boolean> Valid Values: { true, false }, Default: false
	shaman.water_breathing = false

	# The drop chance for the bone 'club' (0 to 1). A negative value disables the item entirely.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	shaman.bone.drop_chance = 0.085
	# The drop chance for the jack o lantern 'hat' (0 to 1). A negative value disables the item entirely.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	shaman.jack_o_lantern.drop_chance = 0.085


# Category: spawner
# Options for customizing the Spawner elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	spawner.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	spawner.modifier.added_follow_range = 0.0
	spawner.modifier.added_max_health = 20.0
	spawner.modifier.increased_max_health = 0.0
	spawner.modifier.added_knockback_resistance = 0.5
	spawner.modifier.added_armor = 10.0
	spawner.modifier.added_armor_toughness = 10.0
	spawner.modifier.added_damage = 0.0
	spawner.modifier.increased_damage = 0.0
	spawner.modifier.added_knockback = 0.0
	spawner.modifier.increased_speed = -0.3

	# NOTE: Changes to this particular AI will NOT update existing entities (even on reload)!
	# These config options are saved as NBT to mobs with the same structure as vanilla spawner NBT.

	# The maximum distance the entity can be from its target for this AI to activate, in blocks (meters).
	# <Integer> Range: ≥ 1, Default: 16
	spawner.range = 16

	# Time before the first spawn 'wave', in ticks. If set to -1, the initial cooldown is randomized between the min and max.
	# <Integer> Range: ≥ -1, Default: 20
	spawner.cooldown.initial = 20
	# The minimum and maximum (inclusive) time between spawn 'waves', in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 200
	spawner.cooldown.min = 200
	# <Integer> Range: ≥ 0, Default: 800
	spawner.cooldown.max = 800

	# The number of entities to try to spawn with each spawn 'wave'.
	# <Integer> Range: ≥ 1, Default: 4
	spawner.spawn_count = 4
	# The maximum distance entities can spawn from the spawner entity, in blocks (meters).
	# <Integer> Range: ≥ 0, Default: 4
	spawner.spawn_range = 4
	# The spawner will not create any new entities while the number of similar entities within spawn range
	# is at or above this limit.
	# <Integer> Range: ≥ 1, Default: 6
	spawner.max_nearby_entities = 6

	# If true, the entity will have a spawner equipped on its head (does not have a drop chance).
	# <Boolean> Valid Values: { true, false }, Default: true
	spawner.spawner_helmet = true


# Category: throw_ally
# Options for customizing the Throw Ally elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	throw_ally.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	throw_ally.modifier.added_follow_range = 0.0
	throw_ally.modifier.added_max_health = 0.0
	throw_ally.modifier.increased_max_health = 0.0
	throw_ally.modifier.added_knockback_resistance = 0.0
	throw_ally.modifier.added_armor = 0.0
	throw_ally.modifier.added_armor_toughness = 0.0
	throw_ally.modifier.added_damage = 0.0
	throw_ally.modifier.increased_damage = 0.0
	throw_ally.modifier.added_knockback = 0.0
	throw_ally.modifier.increased_speed = 0.1

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 3.0
	throw_ally.throw_range.min = 3.0
	# <Number> Range: ≥ 0.0, Default: 10.0
	throw_ally.throw_range.max = 10.0

	# This AI will only attempt to throw allies farther than this distance from the target, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 6.0
	throw_ally.ally_range.min = 6.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# activation, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 60
	throw_ally.cooldown.min = 60
	# <Integer> Range: ≥ 0, Default: 100
	throw_ally.cooldown.max = 100

	# The speed multiplier while moving to pick up the ally to throw.
	# <Number> Range: ≥ 0.0, Default: 1.3
	throw_ally.speed_to_ally = 1.3
	# The speed multiplier while moving to the target (carrying the ally to throw).
	# <Number> Range: ≥ 0.0, Default: 1.1
	throw_ally.speed_to_target = 1.1

	# The horizontal speed given to the thrown entity in its target's direction, in blocks per second (m/s).
	# <Number> Range: Any Value, Default: 20.0
	throw_ally.throw_speed.forward = 20.0
	# The vertical speed given to the thrown entity, in blocks per second (m/s).
	# For reference, normal jumping speed is 8.4 m/s.
	# <Number> Range: Any Value, Default: 8.4
	throw_ally.throw_speed.upward = 8.4


# Category: throw_enemy
# Options for customizing the Throw Enemy elite AI pattern.

	# When true, entities given this AI will prefer melee weapons. See the general category for more info.
	# <Boolean> Valid Values: { true, false }, Default: false
	throw_enemy.prefer_melee = false

	# Attribute modifiers applied to entities with this AI on spawn, if possible. Modifiers are disabled if set to 0.
	# Notably, most passive mobs do not have damage or knockback attributes, so those modifiers cannot apply to them.
	# Added modifiers use the 'addition' operation and increased modifiers use the 'multiply base' operation.
	# <Number> Range: Any Value
	throw_enemy.modifier.added_follow_range = 0.0
	throw_enemy.modifier.added_max_health = 0.0
	throw_enemy.modifier.increased_max_health = 0.0
	throw_enemy.modifier.added_knockback_resistance = 0.5
	throw_enemy.modifier.added_armor = 0.0
	throw_enemy.modifier.added_armor_toughness = 0.0
	throw_enemy.modifier.added_damage = 0.0
	throw_enemy.modifier.increased_damage = 0.0
	throw_enemy.modifier.added_knockback = 0.0
	throw_enemy.modifier.increased_speed = 0.0

	# The minimum and maximum distance the entity must be from its target for this AI to activate, in blocks (meters).
	# <Number> Range: ≥ 0.0, Default: 3.0
	throw_enemy.throw_range.min = 3.0
	# <Number> Range: ≥ 0.0, Default: 10.0
	throw_enemy.throw_range.max = 10.0
	# The maximum range the entity will plan on carrying its target before throwing.
	# Note that this only affects the search radius when finding allies to throw to.
	# <Number> Range: ≥ 0.0, Default: 8.0
	throw_enemy.carry_range = 8.0

	# The minimum and maximum (inclusive) time this AI is disabled for after
	# activation, in ticks (20 ticks = 1 second).
	# <Integer> Range: ≥ 0, Default: 100
	throw_enemy.cooldown.min = 100
	# <Integer> Range: ≥ 0, Default: 160
	throw_enemy.cooldown.max = 160

	# The speed multiplier while moving to pick up the enemy/player to throw.
	# <Number> Range: ≥ 0.0, Default: 1.3
	throw_enemy.speed_to_target = 1.3
	# The speed multiplier while moving to allies (carrying the enemy/player to throw).
	# <Number> Range: ≥ 0.0, Default: 1.1
	throw_enemy.speed_to_ally = 1.1

	# The minimum and maximum (inclusive) number of times an entity will attempt to re-grab its
	# target if it escapes the grab before being thrown. Re-rolls each time the AI activates.
	# This AI goes into cooldown if the target escapes and the entity has no remaining re-grabs.
	# <Integer> Range: ≥ 0, Default: 0
	throw_enemy.re_grabs.min = 0
	# <Integer> Range: ≥ 0, Default: 3
	throw_enemy.re_grabs.max = 3

	# The horizontal speed given to the thrown entity in its target's direction, in blocks per second (m/s).
	# <Number> Range: Any Value, Default: 20.0
	throw_enemy.throw_speed.forward = 20.0
	# The vertical speed given to the thrown entity, in blocks per second (m/s).
	# For reference, normal jumping speed is 8.4 m/s.
	# <Number> Range: Any Value, Default: 8.4
	throw_enemy.throw_speed.upward = 8.4

	# The drop chance for Helmets of Strength (0 to 1). The item will drop damaged randomly, like normal equipment.
	# A negative value disables the item entirely, while a value over 1 prevents the item from being damaged on drop.
	# <Number> Range: -1.0 ~ 2.0, Default: 0.085
	throw_enemy.helmet_of_strength.drop_chance = 0.085
	# The attack damage modifier on Helmets of Strength (uses 'addition' operation). 0 disables the modifier.
	# <Number> Range: Any Value, Default: 1.0
	throw_enemy.helmet_of_strength.modifier = 1.0


# Appendix:
# Below is a description for each elite AI pattern.
# Note that the qualitative descriptions (high, low, etc.) are based on default values and therefore may not be valid
# in an edited config. All equipment and attribute modifiers can be disabled and all attribute modifiers can be changed.
# Other values that can be changed by config are noted with an asterisk (*).

	# leap:
		# The Leap elite AI causes an entity to make short, quick jumps at their target, similar to a spider.
		# Activation Range: Short*, Cooldown: Short*, Jump Power: Low*
		# Attributes: Added Knockback, Increased Movement Speed
		# Equipment: Prefer Melee

	# jump:
		# The Jump elite AI causes an entity to make long, high jumps at their target when at range.
		# Activation Range: Medium*, Cooldown: Medium*, Jump Power: High* (ignores fall damage)
		# Attributes: n/a
		# Equipment: Feather Boots (lavender leather boots enchanted with Feather Falling IV*)

	# sprint:
		# The Sprint elite AI causes an entity to sprint to their target when far away.
		# Activation Range: Long*, Cooldown: Equal to Time Active, Deactivation Range: Short*
		# Attributes: n/a (though boots grant increased movement speed*)
		# Equipment: Running Boots (red leather boots with increased movement speed*)

	# barrage:
		# The Barrage elite AI causes an entity to periodically charge up and fire a stream of arrows.
		# Activation Range: Medium*, Cooldown: Long*, Damage: Low*, Fire Rate: High*, Duration: Medium*
		# Attributes: Added Max Health
		# Equipment: Dispenser Head

	# charge:
		# The Charge elite AI causes an entity to periodically charge up and then quickly run forward, dealing
		# attack damage with bonus knockback. If an entity hits a wall while charging, they will take damage and
		# enter a 'stunned' state for a short time, rendering them unable to act.
		# Activation Range: Medium*, Cooldown: Long*, Damage: Melee Attack Damage, Knockback: High*
		# Attributes: Added Max Health, Added Knockback Resistance
		# Equipment: Charger's Helmet (yellow leather helmet with random enchantments*)

	# thief:
		# The Thief elite AI causes an entity to steal a random item from a player,
		# briefly turn invisible, and then just run away. Overrides most normal mob behavior.
		# Damage: Very Low*, Invisibility Duration: Short*, Avoid Speed: Medium*
		# Attributes: Increased Movement Speed
		# Equipment: No Held Item, Thief's Cap (black leather helmet with increased movement speed*)

	# shaman:
		# The Shaman elite AI causes an entity to heal and buff nearby allies,
		# and prefer to follow allies in the back-lines instead of attacking.
		# Aura Range: Short-Long*, Aura Pulse Cooldown: 2 seconds
		# Aura Healing: Low*, Aura Effects*: Strength, Resistance, Fire Resistance
		# Attributes: n/a
		# Equipment: Bone 'Club', Jack o'Lantern Mask

	# spawner:
		# The Spawner elite AI causes an entity to act like a dungeon spawner block.
		# Entities spawned by this elite AI will never get any elite AIs of their own.
		# Entity Spawned: Same Entity Type, Spawner Stats: Vanilla* (can be NBT edited)
		# Attributes: Added Max Health, Added Knockback Resistance, Added Armor/Toughness, Reduced Movement Speed
		# Equipment: Spawner Head

	# throw_ally:
		# The Throw Ally elite AI causes an entity to throw nearby allies at its target when at range.
		# Activation Range: Long*, Cooldown: Medium*, Throw Power: Medium*
		# Attributes: Increased Movement Speed
		# Equipment: n/a

	# throw_enemy:
		# The Throw Enemy elite AI causes an entity to throw its target at nearby allies if they are far.
		# Activation Range: Short-Long*, Cooldown: Long*, Throw Power: Medium*
		# Attributes: Added Knockback Resistance
		# Equipment: Helmet of Strength (red leather helmet with added attack damage*)
