# specialmobs:main.toml
# This config contains options that apply to the mod as a whole, including some master settings toggles for convenience.

  # Environment List fields: General format =
  #     [ "value environment1 condition1 & environment2 condition2 & ...", ... ]
  #   Environment lists are arrays of environment entries. Each entry is a value followed by the environment
  #     conditions that must be satisfied for the value to be chosen. The environments are tested in the order listed,
  #     and the first matching entry is chosen.
  #   See the bottom of this file for an explanation on each environment condition available.



# Category: general
# Options that apply to the Special Mobs mod as a whole. Also includes several 'master toggles' for convenience.

  # Whether the Mob Replacer is enabled. This 'hijacks' vanilla mob spawns to use as its own.
  # The Mob Replacer is the traditional spawn method for Special Mobs which allows everything that spawns valid
  #   vanilla mobs (e.g. dungeon spawners) to spawn this mod's mobs based on your configs instead.
  # <Boolean> Valid Values: { true, false }, Default: true
  general.enable_mob_replacer = true
  # Whether the natural spawning category (see below) is enabled.
  # <Boolean> Valid Values: { true, false }, Default: true
  general.enable_added_natural_spawning = true

  # A list of mob spawn types that the mob replacer should not process.
  # For example, listing "spawner" here will stop the mob replacer from processing mobs spawned from spawners.
  # Valid types are as follows: "natural", "chunk_generation", "spawner", "structure", "breeding", "mob_summoned",
  #   "jockey", "event", "conversion", "reinforcement", "triggered", "bucket", "spawn_egg", "command", "dispenser",
  #   "patrol"
  # <MobSpawnType List> Format: [ "mobspawntype1", "mobspawntype2", ... ], Default: [ "structure", "bucket",
  #   "chunk_generation" ]
  general.skipped_spawn_types = [
    "structure",
    "bucket",
    "chunk_generation"
  ]

  # Whether the mod uses Special Mobs entities in place of vanilla entities for non-special species. This allows your
  #   config options to apply to non-special species and allows them to benefit from Special Mob Data and any
  #   improvements made to the entity (for example, zombies can use bows & shields).
  # If false, vanilla replacements are disabled for all families; if true, it is determined by the family's config.
  # <Boolean> Valid Values: { true, false }, Default: true
  general.master_vanilla_replacement = true
  # When greater than 0, mobs will have a random render scale applied. This is a visual effect only. For example, with
  #   a value of 0.07, mob scale will vary ±7% of normal size.
  # By default, this applies to all mobs in the mod; but family and species configs can override it.
  # <Number> Range: 0.0 ~ 1.0, Default: 0.07
  general.master_random_scaling = 0.07

  # Set to false to prevent any of this mod's mobs from applying nausea (aka confusion). Use this if the screen
  #   warping from nausea hurts your face or makes you sick.
  # <Boolean> Valid Values: { true, false }, Default: true
  general.enable_nausea_effects = true
  # Overrides the default fishing rod item animation so that it is compatible with fishing mobs from this mod. Set to
  #   false if it causes problems with another mod. Fishing mobs will instead render a stick while casting.
  #  * Requires a GAME restart to take effect *
  # <Boolean> Valid Values: { true, false }, Default: true
  general.fancy_fishing_mobs = true

  # If vanilla replacements are enabled, some vanilla advancements usually either become unobtainable or just very
  #   hard to get.
  # If this is enabled, Special Mobs will tweak said advancements' criteria during server startup so it becomes
  #   possible to obtain them.
  #  * Requires a WORLD restart to take effect *
  # <Boolean> Valid Values: { true, false }, Default: true
  general.patch_advancements = true


# Category: natural_spawning
# Options to customize the additional natural monster spawning from this mod. Most changes to options in this category
#   require the game to be restarted to take effect.


  # Subcategory: general_spawns
  # Added natural spawns derived from existing spawns.

    # Option to add vanilla cave spiders as natural spawns. These spawns will be added to all biomes that can spawn
    #   regular spiders. Cave spider spawn weight is the same as the spider spawn weight, multiplied by this value. When
    #   set to 0, the added cave spider spawn feature is completely disabled. Finer tuning can be done with the spawn
    #   chances below.
    #  * Requires a GAME restart to take full effect *
    # <Number> Range: ≥ 0.0, Default: 0.5
    natural_spawning.cave_spider_spawn_multiplier = 0.5
    # The chance for added cave spider natural spawn attempts to succeed. Does not affect Mob Replacement.
    # <Number> Range: 0.0 ~ 1.0, Default: 0.0
    natural_spawning.cave_spider_chance.base = 0.0
    # The chance for added cave spider natural spawn attempts to succeed when specific environmental conditions are met.
    # <Environment List> Format: [ "value condition1 state1 & condition2 state2 & ...", ... ], Default: [ "1.0 y <
    #   17", "1.0 structure minecraft:mineshaft", "0.33 y_from_sea < -27" ]
    #    Range for Values: 0.0 ~ 1.0
    natural_spawning.cave_spider_chance.exceptions = [
      "1.0 y < 17",
      "1.0 structure minecraft:mineshaft",
      "0.33 y_from_sea < -27"
    ]

    # Option to add ender creepers as natural spawns. These spawns will be added to all biomes that can spawn
    #   endermen. Ender creeper spawn weight is the same as the enderman weight, multiplied by this value. When set to
    #   0, the added ender creeper spawn feature is completely disabled. Finer tuning can be done with the natural spawn
    #   chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Number> Range: ≥ 0.0, Default: 0.1
    natural_spawning.ender_creeper_spawn_multiplier = 0.1

  # Subcategory: water_spawns

    # Option to add drowning creepers as natural spawns to oceans.
    # When set to 0, this added spawn feature is completely disabled.
    # Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.drowning_creeper_weight.ocean = 1
    # Option to add drowning creepers as natural spawns to rivers. When set to 0, this added spawn feature is
    #   completely disabled. Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.drowning_creeper_weight.river = 1

    # Option to add pirate skeletons as natural spawns to oceans.
    # When set to 0, this added spawn feature is completely disabled.
    # Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.pirate_skeleton_weight.ocean = 1
    # Option to add pirate skeletons as natural spawns to rivers. When set to 0, this added spawn feature is
    #   completely disabled. Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.pirate_skeleton_weight.river = 1

    # Option to add blueberry slimes as natural spawns to oceans. When set to 0, this added spawn feature is
    #   completely disabled. Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 2
    natural_spawning.blueberry_slime_weight.ocean = 2
    # Option to add blueberry slimes as natural spawns to rivers. When set to 0, this added spawn feature is
    #   completely disabled. Finer tuning can be done with the natural spawn chances in the species config file.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.blueberry_slime_weight.river = 1

  # Subcategory: nether_spawns

    # Option to add vanilla wither skeletons as natural spawns to the Nether (except for soul sand valley and warped
    #   forest biomes). When set to 0, this added spawn feature is completely disabled.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 2
    natural_spawning.wither_skeleton_weight.nether = 2
    # Option to add vanilla wither skeletons as natural spawns to the soul sand valley biome. When set to 0, this
    #   added spawn feature is completely disabled.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 5
    natural_spawning.wither_skeleton_weight.soul_sand_valley = 5

    # Option to add vanilla blazes as natural spawns to the Nether (except for soul sand valley, warped forest, and
    #   basalt deltas biomes). When set to 0, the added blaze spawn feature is completely disabled.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.blaze_weight.nether = 1
    # Option to add vanilla blazes as natural spawns to the basalt deltas biome. When set to 0, the added blaze spawn
    #   feature is completely disabled.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 20
    natural_spawning.blaze_weight.basalt_deltas = 20

    # Option to add fire creepers, zombies, and spiders as natural spawns to the Nether (except for soul sand valley
    #   and warped forest biomes). When set to 0, that added spawn feature is completely disabled. Finer tuning can be
    #   done with the natural spawn chances in the species config files.
    #  * Requires a WORLD restart to take effect *
    # <Integer> Range: ≥ 0, Default: 1
    natural_spawning.fire_creeper_weight.nether = 1
    natural_spawning.fire_zombie_weight.nether = 1
    natural_spawning.fire_spider_weight.nether = 1

  # Environment conditions (for Environment List entries):
  #   Many environment conditions can be inverted by using "!"; these are shown with (!) in the appropriate location.
  #   Other environment conditions are numerical comparisons; these use the operators (shown as op) <, >, =, <=, >=,
  #     or != to compare value.
  # 
  # Valid environment conditions are:
  # 
  #   "dimension_property (!)property":
  #     Valid property values: "ultrawarm", "natural", "has_skylight", "has_ceiling", "fixed_time", "piglin_safe",
  #       "bed_works", "respawn_anchor_works", "has_raids"
  #     Dimension properties are the true/false values available to dimension types in data packs. See the wiki for
  #       more info: [https://minecraft.fandom.com/wiki/Custom_dimension#Syntax].
  # 
  #   "dimension_type (!)namespace:dimension_type_name":
  #     The world's dimension type. In vanilla, these are only "minecraft:overworld", "minecraft:the_nether", or
  #       "minecraft:the_end".
  # 
  #   "rainfall op value":
  #     Biome's rainfall parameter. If this is "= 0", it checks that rain is disabled. For reference, rainfall > 0.85
  #       suppresses fire.
  # 
  #   "biome_temp op value OR (!)freezing":
  #     Biome's temperature parameter. For reference, freezing is < 0.15 and hot is generally considered > 0.95.
  # 
  #   "temp op value OR (!)freezing":
  #     Height-adjusted temperature. For reference, freezing is < 0.15 and hot is generally considered > 0.95.
  # 
  #   "biome_category (!)category":
  #     Deprecated, use "biome_tag" instead!
  # 
  #   "biome_tag (!)#namespace:biome_tag":
  #     The biome tag. See the wiki for vanilla biome tags (resource locations)
  #       [https://minecraft.wiki/w/Biome_tag_(Java_Edition)].
  # 
  #   "biome (!)namespace:biome_name":
  #     The biome. See the wiki for vanilla biome names (resource locations)
  #       [https://minecraft.fandom.com/wiki/Biome#Biome_IDs].
  # 
  #   "structure (!)namespace:structure_name":
  #     The structure. See the wiki for vanilla structure names [https://minecraft.fandom.com/wiki/Structure#ID].
  # 
  #   "y op value":
  #     The y-value. For reference, sea level is normally 63 and lava level is normally -54.
  # 
  #   "y_from_sea op value":
  #     The y-value from sea level. Expect the only air < 0 to be in caves/ravines (which may still have direct view
  #       of the sky).
  # 
  #   "position (!)state":
  #     Valid state values: "can_see_sky", "is_in_village", "is_near_village", "is_near_raid", "is_in_water",
  #       "is_in_lava", "is_in_fluid", "has_redstone_power"
  #     Miscellaneous conditions that generally do what you expect. For reference, 'near' a village is ~3 chunks, and
  #       redstone checks weak power.
  # 
  #   "difficulty op value":
  #     The regional difficulty (0 to 6.75). This is based on many factors such as difficulty setting, moon
  #       brightness, chunk inhabited time, and world time.
  #     For reference, this scales up to the max after 63 days in the world and 150 days in a particular chunk, and
  #       peaks during full moons. On Peaceful this is always 0, on Easy this is 0.75 to 1.5, on Normal this is 1.5 to
  #       4.0, and on Hard this is 2.25 to 6.75.
  # 
  #   "special_difficulty op value":
  #     The 'special multiplier' for regional difficulty (0 to 1). For reference, this is 0 when difficulty <= 2 and 1
  #       when difficulty >= 4.
  #     This is always 0 in Easy and below. In Normal, it maxes at absolute peak regional difficulty. In Hard, it
  #       starts at 0.125 and maxes out in ~50 days.
  # 
  #   "weather (!)type":
  #     Valid type values: "clear", "rain", "thunder"
  # 
  #   "moon_brightness op value":
  #     The moon brightness (0 to 1). New moon has 0 brightness, full moon has 1 brightness. Intermediate phases are
  #       0.25, 0.5, or 0.75.
  # 
  #   "moon_phase (!)phase":
  #     Valid phase values: "full", "waning_gibbous", "last_quarter", "waning_crescent", "new", "waxing_crescent",
  #       "first_quarter", "waxing_gibbous"
  #     For reference, the first day in a new world is always a full moon.
  # 
  #   "day_time (!)time":
  #     Valid time values: "day", "sunset", "night", "sunrise"
  #     Note that the transition periods, sunset & sunrise, are considered as part of day & night, respectively.
  # 
  #   "time_from_midnight op value":
  #     The absolute time in ticks away from midnight. Value must be 0 to 12000.
  # 
  #   "world_time op value":
  #     The total time the world has existed, in ticks. For reference, each day cycle is 24000 ticks and each lunar
  #       cycle is 192000 ticks.
  # 
  #   "chunk_time op value":
  #     The total time the chunk has been loaded, in ticks. For reference, each day cycle is 24000 ticks and each
  #       lunar cycle is 192000 ticks.
  # 
  #   "apocalypse_difficulty op value":
  #     The Apocalypse Rebooted mod's difficulty (scale depends on your config). This is based on the nearest player's
  #       current difficulty level. If no player exists, or the mod is not installed, it will never match any condition.
  # 
  #   "apocalypse_difficulty_or_time op value":
  #     The Apocalypse Rebooted mod's difficulty (scale depends on your config). If the mod is not installed, this is
  #       instead treated like a "world_time" condition.

