# apocalypse:mob_boost.toml
# This config contains options related to difficulty-based mob buffs, including equipment, attribute boosts, potion
#   effects and more.

  # Difficulty Registry Entry List fields: General format = [ "difficulty_level namespace:path namespace:path...", ... ]
  #   Difficulty registry entry lists are lists of difficulty levels linked to one or multiple registry keys of the
  #     same type. Many things in the game, such as blocks or potions, are defined by their registry key within a
  #     registry. For example, all items are registered in the "minecraft:item" registry.
  #   Entries can so to speak hold as many values as desired, but no entries can have the same difficulty level.
  #   It is also important to note that some lists may use custom predicates for what items are allowed. Such lists
  #     SHOULD provide information about their special conditions.

  # Registry Entry List fields: General format = [ "namespace:entry_name", ... ]
  #   Registry entry lists are arrays of registry keys. Many things in the game, such as blocks or potions, are
  #     defined by their registry key within a registry. For example, all items are registered in the "minecraft:item"
  #     registry.
  #   An asterisk '*' can be used to match all registry entries/keys belonging to X namespace. For example,
  #     'minecraft:*' will match all vanilla entries.
  #   Tags can also be used here. To declare a tag, start with a '#' followed by the rest of the tag path.
  #   Tag example: '#minecraft:oak_logs'



# Category: general
# General settings related to mob buffs.

  # If enabled, only mobs that are considered hostile will receive potion buffs, attribute boosts and equipment.
  # <Boolean> Valid Values: { true, false }, Default: true
  general.enemies_only = true



# Category: attribute_boost
# Settings related to attribute boosts.

  # Max Health:
  # Settings for max health boost.
  # A list of entities that should not receive max health boost.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: []
  attribute_boost.max_health_blacklist = []
  # The flat bonus gained from a full moon. Default is 10.0 (+10 hearts on full moons).
  # <Number> Range: ≥ 0.0, Default: 5.0
  attribute_boost.health_lunar_flat_bonus = 5.0
  # The multiplier bonus gained from a full moon in percentage. Default is 0.5 (+50% on full moons)
  # <Number> Range: ≥ 0.0, Default: 0.5
  attribute_boost.health_lunar_mult_bonus = 0.5
  # The difficulty value for each application of the below values.
  # <Number> Range: ≥ 0.1, Default: 10.0
  attribute_boost.health_difficulty_span = 10.0
  # The flat bonus given each levels of difficulty specified in 'health_difficulty_span'.
  # <Number> Range: ≥ 0.0, Default: 0.5
  attribute_boost.health_flat_bonus = 0.5
  # The maximum flat bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: -1.0
  attribute_boost.health_max_flat_bonus = -1.0
  # The multiplier bonus given each levels of difficulty specified in 'health_difficulty_span'. Default is 0.2 (+20%).
  # <Number> Range: ≥ 0.0, Default: 0.1
  attribute_boost.health_mult_bonus = 0.1
  # The maximum multiplier bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: -1.0
  attribute_boost.health_max_mult_bonus = -1.0

  # Attack Damage:
  # Settings for attack damage boost.
  # A list of entities that should not receive attack damage boost.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: []
  attribute_boost.attack_damage_blacklist = []
  # The flat bonus gained from a full moon. Default is 1.0 (+half a heart of damage on full moons).
  # <Number> Range: ≥ 0.0, Default: 1.0
  attribute_boost.damage_lunar_flat_bonus = 1.0
  # The multiplier bonus gained from a full moon in percentage. Default is 0.5 (+50% on full moons)
  # <Number> Range: ≥ 0.0, Default: 0.5
  attribute_boost.damage_lunar_mult_bonus = 0.5
  # The difficulty value for each application of the below values.
  # <Number> Range: ≥ 0.1, Default: 10.0
  attribute_boost.damage_difficulty_span = 10.0
  # The flat bonus given each levels of difficulty specified in 'damage_difficulty_span'.
  # <Number> Range: ≥ 0.0, Default: 0.5
  attribute_boost.damage_flat_bonus = 0.5
  # The maximum flat bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: -1.0
  attribute_boost.damage_max_flat_bonus = -1.0
  # The multiplier bonus given each levels of difficulty specified in 'damage_difficulty_span'. Default is 0.2 (+20%).
  # <Number> Range: ≥ 0.0, Default: 0.2
  attribute_boost.damage_mult_bonus = 0.2
  # The maximum multiplier bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: -1.0
  attribute_boost.damage_max_mult_bonus = -1.0

  # Movement Speed:
  # Settings for movement speed boost.
  # A list of entities that should not receive movement speed boost.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: [ "apocalypse:grump",
  #   "apocalypse:ghost", "apocalypse:seeker", "apocalypse:destroyer" ]
  attribute_boost.movement_speed_blacklist = [
    "apocalypse:grump",
    "apocalypse:ghost",
    "apocalypse:seeker",
    "apocalypse:destroyer"
  ]
  # The multiplier bonus gained from a full moon in percentage. Default is 0.1 (+10% on full moons)
  # <Number> Range: ≥ 0.0, Default: 0.1
  attribute_boost.speed_lunar_mult_bonus = 0.1
  # The difficulty value for each application of the below values.
  # <Number> Range: ≥ 0.1, Default: 20.0
  attribute_boost.speed_difficulty_span = 20.0
  # The multiplier bonus given each levels of difficulty specified in 'speed_difficulty_span'. Default is 0.025 (+2.5%).
  # <Number> Range: ≥ 0.0, Default: 0.025
  attribute_boost.speed_mult_bonus = 0.025
  # The maximum multiplier bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: 0.25
  attribute_boost.speed_max_mult_bonus = 0.25

  # Knockback Resistance:
  # Settings for knockback resistance boost.
  # A list of entities that should not receive knockback resistance boost.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: []
  attribute_boost.knockback_resistance_blacklist = []
  # The flat bonus gained from a full moon in percentage. Default is 0.2 (+20% on full moons)
  # <Number> Range: ≥ 0.0, Default: 0.2
  attribute_boost.knockback_res_lunar_flat_bonus = 0.2
  # The difficulty value for each application of the below values.
  # <Number> Range: ≥ 0.1, Default: 20.0
  attribute_boost.knockback_res_difficulty_span = 20.0
  # The multiplier bonus given each levels of difficulty specified in 'knockback_res_difficulty_span'. Default is
  #   0.025 (+2.5%).
  # <Number> Range: ≥ 0.0, Default: 0.025
  attribute_boost.knockback_res_flat_bonus = 0.025
  # The maximum multiplier bonus that can be given over time. Negative value equals no limit.
  # <Number> Range: ≥ -1.0, Default: 0.4
  attribute_boost.knockback_res_max_flat_bonus = 0.4



# Category: equipment
# Settings related to equipment given to mobs.

  # A list of weapon items that mobs can spawn with, divided into tiers by difficulty level.
  # When a mob spawns, Apocalypse will try to give it a weapon from the tier with the difficulty closest to the
  #   difficulty of the nearest player.
  # Only mobs that have their entity type listed in 'can_receive_weapons' will be attempted given a weapon.
  # <"minecraft:item" Difficulty Registry Entry List> Format: [ "namespace:entry_name", ... ], Default: [ "10
  #   minecraft:wooden_sword minecraft:wooden_axe minecraft:wooden_shovel minecraft:wooden_pickaxe", "20
  #   minecraft:stone_sword minecraft:stone_axe minecraft:stone_shovel minecraft:stone_pickaxe", "40
  #   minecraft:golden_sword minecraft:golden_axe minecraft:golden_shovel minecraft:golden_pickaxe", "60
  #   minecraft:iron_sword minecraft:iron_axe minecraft:iron_shovel minecraft:iron_pickaxe", "100
  #   minecraft:diamond_sword minecraft:diamond_axe minecraft:diamond_shovel minecraft:diamond_pickaxe", "150
  #   minecraft:netherite_sword minecraft:netherite_axe minecraft:netherite_shovel minecraft:netherite_pickaxe" ]
  equipment.weapon_tier_list = [
    "10 minecraft:wooden_sword minecraft:wooden_axe minecraft:wooden_shovel minecraft:wooden_pickaxe",
    "20 minecraft:stone_sword minecraft:stone_axe minecraft:stone_shovel minecraft:stone_pickaxe",
    "40 minecraft:golden_sword minecraft:golden_axe minecraft:golden_shovel minecraft:golden_pickaxe",
    "60 minecraft:iron_sword minecraft:iron_axe minecraft:iron_shovel minecraft:iron_pickaxe",
    "100 minecraft:diamond_sword minecraft:diamond_axe minecraft:diamond_shovel minecraft:diamond_pickaxe",
    "150 minecraft:netherite_sword minecraft:netherite_axe minecraft:netherite_shovel minecraft:netherite_pickaxe"
  ]

  # A list of entity types that can be given weapons from the above weapon tier list.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: [ "minecraft:zombie",
  #   "minecraft:zombie_villager", "minecraft:drowned", "minecraft:husk", "minecraft:wither_skeleton",
  #   "minecraft:skeleton", "minecraft:piglin", "minecraft:piglin_brute", "minecraft:vindicator" ]
  equipment.can_receive_weapons = [
    "minecraft:zombie",
    "minecraft:zombie_villager",
    "minecraft:drowned",
    "minecraft:husk",
    "minecraft:wither_skeleton",
    "minecraft:skeleton",
    "minecraft:piglin",
    "minecraft:piglin_brute",
    "minecraft:vindicator"
  ]

  # The difficulty level for each application of the fields below.
  # <Number> Range: ≥ 0.0, Default: 30.0
  equipment.weapons_difficulty_span = 30.0
  # The chance that a mob will be given a weapon when it spawns. Default is 0.05 (5% chance).
  # This value increases in accordance to 'weapons_difficulty_spawn'.
  # <Number> Range: 0.0 ~ 1.0, Default: 0.05
  equipment.weapons_chance = 0.05
  # The additional chance gained from a full moon. Default is 0.2 (+20% chance on full moon).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.2
  equipment.weapons_lunar_chance = 0.2
  # The maximum weapon chance that can be given over time. Default is 0.95 (95% chance).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.95
  equipment.weapons_max_chance = 0.95
  # If enabled, only weapons from the highest difficulty tier available will be given to mobs.
  # When disabled, weapons will be picked randomly from all tiers.
  # <Boolean> Valid Values: { true, false }, Default: false
  equipment.current_weapon_tier_only = false

  # A list of armor/equippable items that mobs can spawn with, divided into tiers by difficulty level.
  # When a mob spawns, Apocalypse will try to give it an armor piece for each equipment slot, picking items from the
  #   chosen armor tier.
  # Each tier can contain multiple armor pieces per equipment slot. Non-equippable items CAN be used here (will
  #   automatically be equipped on helmet/head slot).
  # Only mobs that have their entity type listed in 'can_receive_armor' will be attempted given armor.
  # <"minecraft:item" Difficulty Registry Entry List> Format: [ "namespace:entry_name", ... ], Default: [ "10
  #   minecraft:carved_pumpkin minecraft:leather_helmet minecraft:leather_chestplate minecraft:leather_leggings
  #   minecraft:leather_boots", "25 apocalypse:bucket_helm minecraft:chainmail_helmet minecraft:chainmail_chestplate
  #   minecraft:chainmail_leggings minecraft:chainmail_boots", "40 minecraft:turtle_helmet minecraft:golden_helmet
  #   minecraft:golden_chestplate minecraft:golden_leggings minecraft:golden_boots", "60 minecraft:iron_helmet
  #   minecraft:iron_chestplate minecraft:iron_leggings minecraft:iron_boots", "100 minecraft:diamond_helmet
  #   minecraft:diamond_chestplate minecraft:diamond_leggings minecraft:diamond_boots", "150 minecraft:netherite_helmet
  #   minecraft:netherite_chestplate minecraft:netherite_leggings minecraft:netherite_boots" ]
  equipment.armor_tier_list = [
    "10 minecraft:carved_pumpkin minecraft:leather_helmet minecraft:leather_chestplate minecraft:leather_leggings minecraft:leather_boots",
    "25 apocalypse:bucket_helm minecraft:chainmail_helmet minecraft:chainmail_chestplate minecraft:chainmail_leggings minecraft:chainmail_boots",
    "40 minecraft:turtle_helmet minecraft:golden_helmet minecraft:golden_chestplate minecraft:golden_leggings minecraft:golden_boots",
    "60 minecraft:iron_helmet minecraft:iron_chestplate minecraft:iron_leggings minecraft:iron_boots",
    "100 minecraft:diamond_helmet minecraft:diamond_chestplate minecraft:diamond_leggings minecraft:diamond_boots",
    "150 minecraft:netherite_helmet minecraft:netherite_chestplate minecraft:netherite_leggings minecraft:netherite_boots"
  ]

  # A list of entity types that can be given armor from the above armor tier list.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: [ "minecraft:zombie",
  #   "minecraft:zombie_villager", "minecraft:drowned", "minecraft:husk", "minecraft:wither_skeleton",
  #   "minecraft:skeleton", "minecraft:piglin", "minecraft:piglin_brute" ]
  equipment.can_receive_armor = [
    "minecraft:zombie",
    "minecraft:zombie_villager",
    "minecraft:drowned",
    "minecraft:husk",
    "minecraft:wither_skeleton",
    "minecraft:skeleton",
    "minecraft:piglin",
    "minecraft:piglin_brute"
  ]

  # The difficulty level for each application of the fields below.
  # <Number> Range: ≥ 0.0, Default: 30.0
  equipment.armor_difficulty_span = 30.0
  # The chance that a mob will be given armor when it spawns. Default is 0.05 (5% chance).
  # This value increases in accordance to 'armor_difficulty_span'.
  # <Number> Range: 0.0 ~ 1.0, Default: 0.05
  equipment.armor_chance = 0.05
  # The additional chance gained from a full moon. Default is 0.2 (+20% chance on full moon).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.2
  equipment.armor_lunar_chance = 0.2
  # The maximum armor chance that can be given over time. Default is 0.95 (95% chance).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.95
  equipment.armor_max_chance = 0.95
  # If enabled, only armor from the most recently unlocked armor tier will be given to mobs.
  # When disabled, random armor pieces will be picked from all unlocked tiers.
  # <Boolean> Valid Values: { true, false }, Default: false
  equipment.current_armor_tier_only = false

  # A list of entity types that can get their equipment enchanted when spawning.
  # <"minecraft:entity_type" Registry List> Format: [ "namespace:entry_name", ... ], Default: [ "minecraft:zombie",
  #   "minecraft:zombie_villager", "minecraft:drowned", "minecraft:husk", "minecraft:wither_skeleton",
  #   "minecraft:skeleton", "minecraft:piglin", "minecraft:piglin_brute" ]
  equipment.can_get_enchantments = [
    "minecraft:zombie",
    "minecraft:zombie_villager",
    "minecraft:drowned",
    "minecraft:husk",
    "minecraft:wither_skeleton",
    "minecraft:skeleton",
    "minecraft:piglin",
    "minecraft:piglin_brute"
  ]

  # The difficulty level for each application of the fields below.
  # <Number> Range: ≥ 0.0, Default: 10.0
  equipment.enchant_difficulty_span = 10.0
  # The chance that a mob will get their equipment enchanted. Default is 0.05 (5% chance).
  # This value increases in accordance to 'enchant_difficulty_span'.
  # Note that this chance is rolled one time for each piece of equipment; held weapon, helmet, leggings etc.
  # <Number> Range: 0.0 ~ 1.0, Default: 0.05
  equipment.enchant_chance = 0.05
  # The additional chance gained from a full moon. Default is 0.25 (+25% chance on full moon).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.25
  equipment.enchant_lunar_chance = 0.25
  # The maximum enchant chance that can be given over time. Default is 0.90 (90% chance).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.9
  equipment.enchant_max_chance = 0.9
  # The lowest and highest value possible when picking the level when enchanting a piece of equipment.
  # <Integer> Range: 0 ~ 30, Default: 4
  equipment.enchant_level_range.min = 4
  # <Integer> Range: 0 ~ 30, Default: 27
  equipment.enchant_level_range.max = 27


# Category: potion_effects
# Settings related to potion effects applied to mobs.

  # A list of potion effects that can be given to mobs when they spawn, divided into tiers by difficulty level.
  # When Apocalypse tries to apply a potion effect to a mob, it picks a random one from a random tier in this list, as
  #   long as said tier is unlocked.
  # <"minecraft:mob_effect" Difficulty Registry Entry List> Format: [ "namespace:entry_name", ... ], Default: [ "15
  #   minecraft:fire_resistance", "30 minecraft:regeneration", "45 minecraft:water_breathing minecraft:jump_boost", "60
  #   minecraft:strength", "100 minecraft:resistance" ]
  potion_effects.potion_effect_list = [
    "15 minecraft:fire_resistance",
    "30 minecraft:regeneration",
    "45 minecraft:water_breathing minecraft:jump_boost",
    "60 minecraft:strength",
    "100 minecraft:resistance"
  ]

  # A list of entities that should not be given potion effects upon spawning.
  # <Entity List> Format: [ "namespace:entity_type", ... ], Default: [ "minecraft:warden", "#forge:bosses" ]
  potion_effects.entity_blacklist = [
    "minecraft:warden",
    "#forge:bosses"
  ]

  # The difficulty value for each application of the fields below.
  # <Number> Range: ≥ 0.0, Default: 5.0
  potion_effects.potion_effect_difficulty_span = 5.0
  # The chance that a mob will be given a potion effect when it spawns. Default is 0.015 (1.5% chance).
  # This value increases in accordance with 'potion_effect_difficulty_span'.
  # <Number> Range: 0.0 ~ 1.0, Default: 0.015
  potion_effects.potion_effect_chance = 0.015
  # The additional chance gained from a full moon. Default is 0.2 (+20% chance on full moon).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.2
  potion_effects.potion_effect_lunar_chance = 0.2
  # The maximum potion effect chance that can be given over time. Default is 0.95 (95% chance).
  # <Number> Range: 0.0 ~ 1.0, Default: 0.95
  potion_effects.potion_effect_max_chance = 0.95
