banana-mc/config/soundattract-common.toml
2025-09-13 22:31:53 +02:00

472 lines
76 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Internal schema version for config migrations. Do not change.
[internal]
#Range: > 0
configSchemaVersion = 5
#Sound Attract Mod Configuration
[general]
#Enable debug logging for troubleshooting.
debugLogging = false
#Maximum number of sounds any single mob can track simultaneously.
#Range: 1 ~ 1000000
maxSoundsTracked = 20
#Switching threshold factor (0.01.0]. A mob will switch if newWeight > currentWeight × soundSwitchRatio.
#Example: 0.5 means a new sound beating 70% of the current weight will trigger a switch (more eager switching).
#Set closer to 1.0 for conservative switching; closer to 0.0 for very eager switching.
#Range: 0.0 ~ 1.0
soundSwitchRatio = 0.5
#A small weight bonus given to very new sounds to make mobs more likely to switch to them.
#This helps break ties and makes mobs seem more 'alert' to new threats.
#Set to 0.0 to disable.
#Range: 0.0 ~ 10.0
soundNoveltyBonusWeight = 9.5
#How long (in ticks) a sound is considered 'new' for the novelty bonus to apply.
#20 ticks = 1 second.
#Range: 1 ~ 200
soundNoveltyTimeTicks = 100
#Mob grouping and squad behavior
[groups]
#Enables smarter behavior for mobs at the edge of their hearing range (e.g. pathing closer to investigate further)
edgeMobSmartBehavior = true
#How long a sound event remains 'interesting' to a mob, in ticks (20 ticks = 1 second).
#Range: 20 ~ 1000000
soundLifetimeTicks = 1200
#How close a mob needs to get to a sound source to consider it 'reached'.
#Range: 1.0 ~ 100.0
arrivalDistance = 6.0
#Base speed multiplier for mobs moving towards a sound.
#Range: 0.1 ~ 3.0
mobMoveSpeed = 1.0
#Maximum number of mobs allowed in a group for group AI behavior. Default: 64
#Range: 1 ~ 128
maxGroupSize = 64
#Radius (in blocks) used to group mobs under a leader for group AI behavior. Default: 64.0
#Range: 1.0 ~ 128.0
leaderGroupRadius = 64.0
#Maximum distance (in blocks) for mobs to consider themselves part of a group for group behaviors. Used in AI such as FollowLeaderGoal.
#Range: 1.0 ~ 256.0
groupDistance = 128.0
#Multiplier for spacing between mob leaders in a group. Default: 1.0
#Range: 0.1 ~ 10.0
leaderSpacingMultiplier = 1.0
#Number of edge sectors for group detection (AI). Default: 4
#Range: 1 ~ 64
numEdgeSectors = 4
#Interval (in ticks) between group AI updates. Default: 200
#Range: 1 ~ 20000
groupUpdateInterval = 200
#Maximum number of group leaders tracked for AI grouping. Default: 16
#Range: 1 ~ 64
maxLeaders = 16
#Maximum number of edge mobs to select per angular sector. Default: 4
#Range: 1 ~ 64
edgeMobsPerSector = 1
#Sprint speed multiplier used when followers rally/advance during RAID and when edge mobs return to the leader.
#Range: 1.0 ~ 5.0
sprintMultiplier = 1.1
#Distance (in blocks) within which an edge mob considers itself 'returned' to its leader.
#Range: 0.5 ~ 16.0
leaderReturnArrivalDistance = 2.0
#Countdown duration (in ticks) before a RAID advances to the target. 20 ticks = 1 second.
#Range: 20 ~ 72000
raidCountdownTicks = 100
#Performance-tuning options. Adjust these to balance responsiveness and server load.
[performance]
#Delay in ticks before the first mob group computation is run after server startup.
#This helps prevent lag on world load by giving the server time to stabilize.
#20 ticks = 1 second. Default: 50 (2.5 seconds)
#Range: 0 ~ 72000
initialGroupComputationDelay = 50
#Number of background worker threads used for off-thread computations (e.g., group building).
#Increase for large servers; decrease if you observe contention.
#Range: 1 ~ 64
workerThreads = 2
#Soft per-task time budget in milliseconds for worker computations before yielding.
#Higher values allow more work per batch but can increase latency to apply results.
#Range: 1 ~ 1000
workerTaskBudgetMs = 10
#Minimum time in ticks between mob scans for new sounds. Higher values can improve performance but reduce responsiveness.
#Range: 1 ~ 1000000
scanCooldownTicks = 25
#How many ticks to add to the base scan cooldown for each active mob.
#This directly controls how much the cooldown increases with more mobs.
#A higher value means more cooldown per mob, slowing down scans more aggressively.
#Example: 0.25 means 100 mobs will add (100 * 0.15) = 15 ticks to the base cooldown.
#Range: 0.0 ~ 10.0
cooldownTicksPerMob = 0.15
#TPS below which scanCooldownTicks is dynamically increased to save performance. Set to 0 to disable.
#Range: 0.0 ~ 20.0
minTpsForScanCooldown = 15.0
#TPS above which scanCooldownTicks is dynamically decreased (down to its minimum defined value). Set to 21 to disable.
#Range: 0.0 ~ 21.0
maxTpsForScanCooldown = 19.0
#Cooldown (in ticks) per mob between async sound scoring submissions when candidates/target are unchanged.
#Range: 0 ~ 10000
soundScoringSubmitCooldownTicks = 1
#Time-to-live (in ticks) for cached async sound scoring results before considered stale.
#Range: 1 ~ 10000
asyncResultTtlTicks = 10
#Enable caching for raycast results to improve performance. Disable if experiencing issues with sound obstruction detection.
enableRaycastCache = true
#Time-to-live (in ticks) for raycast cache entries before they are considered expired.
#Range: 1 ~ 1000000
raycastCacheTtlTicks = 200
#Maximum number of entries stored in the raycast cache. Oldest entries are evicted when exceeded.
#Range: 100 ~ 1000000
raycastCacheMaxEntries = 5000
["Enchanced AI Integration"]
#Enable mobs running AttractionGoal to break blocks to reach their destination when stuck. Requires EnhancedAI to be installed for block blacklists/rules.
enableBlockBreaking = false
#Multiplier for the time a mob takes to break a block. E.g., 2.0 means it takes twice as long. Uses EnhancedAI's config value if installed and this is set to -1.
#Range: -1.0 ~ 100.0
blockBreakingTimeMultiplier = 1.5
#If true, mobs will only attempt to break blocks if they are holding a tool (e.g. pickaxe) in their offhand.
blockBreakingToolOnly = false
#If true, mobs will only break blocks if their tool is the 'proper' tool for that block (e.g., pickaxe for stone).
blockBreakingProperToolOnly = false
[Mobs]
#List of mobs that will be attracted to sounds. Example: ['minecraft:zombie', 'minecraft:skeleton'].
attractedEntities = ["minecraft:cave_spider", "minecraft:creeper", "minecraft:drowned", "minecraft:endermite", "minecraft:evoker", "minecraft:guardian", "minecraft:hoglin", "minecraft:husk", "minecraft:magma_cube", "minecraft:phantom", "minecraft:piglin", "minecraft:piglin_brute", "minecraft:pillager", "minecraft:ravager", "minecraft:shulker", "minecraft:silverfish", "minecraft:skeleton", "minecraft:slime", "minecraft:spider", "minecraft:stray", "minecraft:vex", "minecraft:vindicator", "minecraft:witch", "minecraft:wither_skeleton", "minecraft:zoglin", "minecraft:zombie", "minecraft:zombie_villager", "scguns:cog_knight", "scguns:cog_minion", "scguns:blunderer", "scguns:hive", "scguns:dissident", "scguns:hornlin", "scguns:redcoat", "scguns:cog_knight", "scguns:sky_carrier", "scguns:supply_scamp", "scguns:swarm", "scguns:zombified_hornlin", "spore:braiomil", "spore:braurei", "spore:brot", "spore:brute", "spore:busser", "spore:inf_construct", "spore:delusioner", "spore:gastgaber", "spore:gazenbreacher", "spore:griefer", "spore:hevoker", "spore:hidenburg", "spore:howitzer", "spore:howler", "spore:hvindicator", "spore:illusion", "spore:inf_drownded", "spore:inf_evoker", "spore:inf_hazmat", "spore:husk", "spore:inf_pillager", "spore:inf_player", "spore:inf_villager", "spore:inf_vindicator", "spore:inf_wanderer", "spore:inf_witch", "spore:inf_human", "spore:inquisitor", "spore:jagd", "spore:knight", "spore:lacerator", "spore:leaper", "spore:mound", "spore:nuclea", "spore:ogre", "spore:plagued", "spore:proto", "spore:reconstructor", "spore:scamper", "spore:scavenger", "spore:scent", "spore:sieger", "spore:specter", "spore:spitter", "spore:stalker", "spore:thorn", "spore:umarmed", "spore:usurper", "spore:verva", "spore:vigil", "spore:volatile", "spore:wendigo", "sculkhorde:sculk_zombie", "sculkhorde:sculk_witch", "sculkhorde:sculk_vindicator", "sculkhorde:sculk_vex", "sculkhorde:sculk_squid", "sculkhorde:sculk_spore_spewer", "sculkhorde:sculk_spitter", "sculkhorde:sculk_soul_reaper", "sculkhorde:sculk_sheep", "sculkhorde:sculk_salmon", "sculkhorde:sculk_ravager", "sculkhorde:sculk_pufferfish", "sculkhorde:sculk_phantom", "sculkhorde:sculk_mite_aggressor", "sculkhorde:sculk_mite", "sculkhorde:sculk_metamorphosis_pod", "sculkhorde:sculk_hatcher", "sculkhorde:sculk_guardian", "sculkhorde:sculk_ghast", "sculkhorde:sculk_enderman", "sculkhorde:sculk_creeper", "sculkhorde:sculk_broodling", "sculkhorde:sculk_brood_hatcher", "sculkhorde:sculk_bee_infector", "sculkhorde:sculk_bee_harvester", "sculkhorde:golem_of_wrath"]
#A list of entity resource IDs to PREVENT from receiving the attraction AI goals.
#This acts as a blacklist. Mobs on this list will never be attracted to sounds, regardless of other settings.
#Format: ['minecraft:pig', 'modid:some_other_mob']
mobBlacklist = ["minecraft:pig"]
["Sounds White List"]
#If not empty, only sound event IDs in this list will be considered by mobs.
soundIdWhitelist = ["minecraft:item.crossbow.shoot", "minecraft:item.crossbow.loading_start", "minecraft:item.crossbow.loading_middle", "minecraft:item.crossbow.loading_end", "minecraft:item.crossbow.quick_charge_1", "minecraft:item.crossbow.quick_charge_2", "minecraft:item.crossbow.quick_charge_3", "minecraft:entity.arrow.shoot", "minecraft:item.shield.block", "minecraft:block.lever.click", "minecraft:block.wooden_trapdoor.open", "minecraft:block.wooden_trapdoor.close", "minecraft:block.bamboo_wood_trapdoor.open", "minecraft:block.bamboo_wood_trapdoor.close", "minecraft:block.cherry_wood_trapdoor.open", "minecraft:block.cherry_wood_trapdoor.close", "minecraft:block.iron_trapdoor.open", "minecraft:block.iron_trapdoor.close", "minecraft:block.wooden_door.open", "minecraft:block.wooden_door.close", "minecraft:block.bamboo_wood_door.open", "minecraft:block.bamboo_wood_door.close", "minecraft:block.cherry_wood_door.open", "minecraft:block.cherry_wood_door.close", "minecraft:block.iron_door.open", "minecraft:block.iron_door.close", "minecraft:block.fence_gate.open", "minecraft:block.fence_gate.close", "minecraft:block.piston.extend", "minecraft:block.piston.contract", "minecraft:block.dispenser.dispense", "minecraft:block.dispenser.launch", "minecraft:block.anvil.land", "minecraft:block.anvil.use", "minecraft:block.anvil.destroy", "minecraft:block.sand.fall", "minecraft:block.gravel.fall", "minecraft:block.grass.break", "minecraft:block.scaffolding.break", "tacz:target_block_hit", "minecraft:entity.boat.paddle_water", "minecraft:ambient.underwater.enter", "minecraft:ambient.underwater.exit", "minecraft:block.chest.open", "minecraft:block.chest.close", "minecraft:block.barrel.open", "minecraft:block.barrel.close", "minecraft:block.ender_chest.open", "minecraft:block.ender_chest.close", "minecraft:block.shulker_box.open", "minecraft:block.shulker_box.close", "minecraft:block.bell.use", "minecraft:block.bell.resonate", "minecraft:block.furnace.fire_crackle", "minecraft:entity.generic.explode", "minecraft:entity.firework_rocket.launch", "minecraft:entity.firework_rocket.blast", "minecraft:entity.firework_rocket.large_blast", "minecraft:entity.player.hurt", "parcool:grabbing", "parcool:wallrun_and_running", "parcool:jumping", "parcool:sliding_1", "parcool:sliding_2", "parcool:sliding_3", "parcool:roll_and_dodge", "parcool:landing", "minecraft:random/anvil_land", "entity/leashknot/place1", "minecraft:entity.player.sprint", "minecraft:entity.player.jump", "minecraft:entity.player.sneak", "tacz:gun", "soundattract:voice_chat", "musketmod:musket_fire", "musketmod:blunderbuss_fire", "musketmod:pistol_fire", "cgm:item.shotgun.fire", "cgm:item.shotgun.silenced_fire", "cgm:item.shotgun.enchanted_fire", "cgm:item.shotgun.cock", "cgm:item.rifle.fire", "cgm:item.rifle.silenced_fire", "cgm:item.rifle.enchanted_fire", "cgm:item.rifle.cock", "cgm:item.pistol.fire", "cgm:item.pistol.silenced_fire", "cgm:item.pistol.enchanted_fire", "cgm:item.pistol.reload", "cgm:item.pistol.cock", "cgm:item.assault_rifle.fire", "cgm:item.assault_rifle.silenced_fire", "cgm:item.assault_rifle.enchanted_fire", "cgm:item.assault_rifle.cock", "cgm:item.grenade_launcher.fire", "cgm:item.bazooka.fire", "cgm:item.mini_gun.fire", "cgm:item.mini_gun.enchanted_fire", "cgm:item.machine_pistol.fire", "cgm:item.machine_pistol.silenced_fire", "cgm:item.machine_pistol.enchanted_fire", "cgm:item.heavy_rifle.fire", "cgm:item.heavy_rifle.silenced_fire", "cgm:item.heavy_rifle.enchanted_fire", "cgm:item.heavy_rifle.cock", "cgm:item.grenade.pin", "cgm:entity.stun_grenade.explosion", "cgm:entity.stun_grenade.ring", "scguns:item.makeshift_rifle.cock", "scguns:item.pistol.cock", "scguns:item.flamethrower.reload", "scguns:item.gauss.reload", "scguns:item.pistol.reload", "scguns:item.airgun.fire", "scguns:item.beam.fire", "scguns:item.blackpowder.fire", "scguns:item.boomstick.fire", "scguns:item.brass_pistol.fire", "scguns:item.brass_revolver.fire", "scguns:item.brass_shotgun.fire", "scguns:item.bruiser.fire", "scguns:item.combat_shotgun.fire", "scguns:item.cowboy.fire", "scguns:item.flamethrower.fire_2", "scguns:item.gauss.fire", "scguns:item.greaser_smg.fire", "scguns:item.gyrojet.fire", "scguns:item.heavy_rifle.fire", "scguns:item.heavier_rifle.fire", "scguns:item.iron_pistol.fire", "scguns:item.iron_rifle.fire", "scguns:item.makeshift_rifle.fire", "scguns:item.plasma.fire", "scguns:item.raygun.fire", "scguns:item.rocket.fire", "scguns:item.rocket_rifle.fire", "scguns:item.rusty_gnat.fire", "scguns:item.scrapper.fire", "scguns:item.sculk.fire", "scguns:item.shock.fire", "scguns:item.shulker.fire", "scguns:item.scorched_sniper.fire", "scguns:item.scorched_rifle.fire", "scguns:item.shock.silenced_fire", "scguns:item.bruiser.silenced_fire", "scguns:item.makeshift_rifle.silenced_fire", "scguns:item.combat_shotgun.silenced_fire", "scguns:item.rusty_gnat.silenced_fire", "scguns:item.shock.fire", "scguns:item.scorched_sniper.fire", "scguns:item.scorched_rifle.fire", "scguns:item.bruiser.fire", "scguns:item.flamethrower.fire_2", "scguns:item.blackpowder.fire", "scguns:item.gyrojet.fire", "scguns:item.boomstick.fire", "scguns:item.brass_shotgun.fire", "scguns:item.brass_revolver.fire", "scguns:item.shulker.fire", "scguns:item.iron_rifle.fire", "scguns:item.combat_shotgun.fire", "scguns:item.beam.fire", "scguns:item.airgun.fire", "scguns:item.heavier_rifle.fire", "scguns:item.iron_pistol.fire", "scguns:item.gauss.fire", "scguns:item.heavy_rifle.fire", "scguns:item.greaser_smg.fire", "scguns:item.plasma.fire", "scguns:item.rusty_gnat.fire", "scguns:item.cowboy.fire", "scguns:item.scrapper.fire", "scguns:item.sculk.fire", "scguns:item.raygun.fire", "scguns:item.rocket_rifle.fire", "scguns:item.makeshift_rifle.cock", "scguns:item.pistol.cock", "scguns:item.flamethrower.reload", "scguns:item.gauss.reload", "scguns:item.pistol.reload", "scguns:item.airgun.fire", "scguns:item.beam.fire", "scguns:item.blackpowder.fire", "scguns:item.boomstick.fire", "scguns:item.brass_pistol.fire", "scguns:item.brass_revolver.fire", "scguns:item.brass_shotgun.fire", "scguns:item.bruiser.fire", "scguns:item.combat_shotgun.fire", "scguns:item.cowboy.fire", "scguns:item.flamethrower.fire_2", "scguns:item.gauss.fire", "scguns:item.greaser_smg.fire", "scguns:item.gyrojet.fire", "scguns:item.heavy_rifle.fire", "scguns:item.heavier_rifle.fire", "scguns:item.iron_pistol.fire", "scguns:item.iron_rifle.fire", "scguns:item.makeshift_rifle.fire", "scguns:item.plasma.fire", "scguns:item.raygun.fire", "scguns:item.rocket.fire", "scguns:item.rocket_rifle.fire", "scguns:item.rusty_gnat.fire", "scguns:item.scrapper.fire", "scguns:item.sculk.fire", "scguns:item.shock.fire", "scguns:item.shulker.fire", "scguns:item.scorched_sniper.fire", "scguns:item.scorched_rifle.fire", "scguns:item.shock.silenced_fire", "scguns:item.bruiser.silenced_fire", "scguns:item.makeshift_rifle.silenced_fire", "scguns:item.combat_shotgun.silenced_fire", "scguns:item.rusty_gnat.silenced_fire", "scguns:item.shock.fire", "scguns:item.scorched_sniper.fire", "scguns:item.scorched_rifle.fire", "scguns:item.bruiser.fire", "scguns:item.flamethrower.fire_2", "scguns:item.blackpowder.fire", "scguns:item.gyrojet.fire", "scguns:item.boomstick.fire", "scguns:item.brass_shotgun.fire", "scguns:item.brass_revolver.fire", "scguns:item.shulker.fire", "scguns:item.iron_rifle.fire", "scguns:item.combat_shotgun.fire", "scguns:item.beam.fire", "scguns:item.airgun.fire", "scguns:item.heavier_rifle.fire", "scguns:item.iron_pistol.fire", "scguns:item.gauss.fire", "scguns:item.heavy_rifle.fire", "scguns:item.greaser_smg.fire", "scguns:item.plasma.fire", "scguns:item.rusty_gnat.fire", "scguns:item.cowboy.fire", "scguns:item.scrapper.fire", "scguns:item.sculk.fire", "scguns:item.raygun.fire", "scguns:item.rocket_rifle.fire", "superbwarfare:taser_fire_1p", "superbwarfare:taser_fire_3p", "superbwarfare:taser_reload_empty", "superbwarfare:trachelium_fire_1p", "superbwarfare:trachelium_fire_3p", "superbwarfare:trachelium_far", "superbwarfare:trachelium_veryfar", "superbwarfare:trachelium_fire_1p_s", "superbwarfare:trachelium_fire_3p_s", "superbwarfare:trachelium_far_s", "superbwarfare:trachelium_reload_empty", "superbwarfare:trachelium_bolt", "superbwarfare:hunting_rifle_fire_1p", "superbwarfare:hunting_rifle_fire_3p", "superbwarfare:hunting_rifle_far", "superbwarfare:hunting_rifle_veryfar", "superbwarfare:hunting_rifle_reload_empty", "superbwarfare:m_79_fire_1p", "superbwarfare:m_79_fire_3p", "superbwarfare:m_79_far", "superbwarfare:m_79_veryfar", "superbwarfare:m_79_reload_empty", "superbwarfare:sks_fire_1p", "superbwarfare:sks_fire_3p", "superbwarfare:sks_reload_normal", "superbwarfare:sks_reload_empty", "superbwarfare:sks_far", "superbwarfare:sks_veryfar", "superbwarfare:homemade_shotgun_fire_1p", "superbwarfare:homemade_shotgun_fire_3p", "superbwarfare:homemade_shotgun_far", "superbwarfare:homemade_shotgun_veryfar", "superbwarfare:homemade_shotgun_reload_normal", "superbwarfare:homemade_shotgun_reload_empty", "superbwarfare:ak_47_fire_1p", "superbwarfare:ak_47_fire_1p_s", "superbwarfare:ak_47_fire_3p", "superbwarfare:ak_47_fire_3p_s", "superbwarfare:ak_47_far", "superbwarfare:ak_47_veryfar", "superbwarfare:ak_47_reload_normal", "superbwarfare:ak_47_reload_empty", "superbwarfare:devotion_fire_1p", "superbwarfare:devotion_fire_3p", "superbwarfare:devotion_far", "superbwarfare:devotion_veryfar", "superbwarfare:devotion_reload_normal", "superbwarfare:devotion_reload_empty", "superbwarfare:rpg_fire_1p", "superbwarfare:rpg_fire_3p", "superbwarfare:rpg_far", "superbwarfare:rpg_veryfar", "superbwarfare:rpg_reload_empty", "superbwarfare:m_4_fire_1p", "superbwarfare:m_4_fire_1p_s", "superbwarfare:m_4_fire_3p", "superbwarfare:m_4_fire_3p_s", "superbwarfare:m_4_far", "superbwarfare:m_4_veryfar", "superbwarfare:m_4_reload_normal", "superbwarfare:m_4_reload_empty", "superbwarfare:aa_12_fire_1p", "superbwarfare:aa_12_fire_3p", "superbwarfare:aa_12_far", "superbwarfare:aa_12_veryfar", "superbwarfare:aa_12_reload_normal", "superbwarfare:aa_12_reload_empty", "superbwarfare:bocek_zoom_fire_1p", "superbwarfare:bocek_zoom_fire_3p", "superbwarfare:bocek_shatter_cap_fire_1p", "superbwarfare:bocek_shatter_cap_fire_3p", "superbwarfare:bocek_pull_1p", "superbwarfare:bocek_pull_3p", "superbwarfare:hk_416_fire_1p", "superbwarfare:hk_416_fire_1p_s", "superbwarfare:hk_416_fire_3p", "superbwarfare:hk_416_fire_3p_s", "superbwarfare:hk_416_far", "superbwarfare:hk_416_veryfar", "superbwarfare:hk_416_reload_normal", "superbwarfare:hk_416_reload_empty", "superbwarfare:rpk_fire_1p", "superbwarfare:rpk_fire_3p", "superbwarfare:rpk_fire_1p_s", "superbwarfare:rpk_fire_3p_s", "superbwarfare:rpk_far", "superbwarfare:rpk_veryfar", "superbwarfare:rpk_reload_normal", "superbwarfare:rpk_reload_empty", "superbwarfare:ntw_20_fire_1p", "superbwarfare:ntw_20_fire_3p", "superbwarfare:ntw_20_far", "superbwarfare:ntw_20_veryfar", "superbwarfare:ntw_20_reload_normal", "superbwarfare:ntw_20_reload_empty", "superbwarfare:ntw_20_bolt", "superbwarfare:vector_fire_1p", "superbwarfare:vector_fire_3p", "superbwarfare:vector_far", "superbwarfare:vector_veryfar", "superbwarfare:vector_fire_1p_s", "superbwarfare:vector_fire_3p_s", "superbwarfare:vector_far_s", "superbwarfare:vector_reload_normal", "superbwarfare:vector_reload_empty", "superbwarfare:minigun_fire_1p", "superbwarfare:minigun_fire_3p", "superbwarfare:minigun_far", "superbwarfare:minigun_veryfar", "superbwarfare:minigun_rot", "superbwarfare:minigun_overheat", "superbwarfare:mk_14_fire_1p", "superbwarfare:mk_14_fire_3p", "superbwarfare:mk_14_far", "superbwarfare:mk_14_veryfar", "superbwarfare:mk_14_fire_1p_s", "superbwarfare:mk_14_fire_3p_s", "superbwarfare:mk_14_far_s", "superbwarfare:mk_14_reload_normal", "superbwarfare:mk_14_reload_empty", "superbwarfare:sentinel_fire_1p", "superbwarfare:sentinel_fire_3p", "superbwarfare:sentinel_charge_fire_1p", "superbwarfare:sentinel_charge_fire_3p", "superbwarfare:sentinel_far", "superbwarfare:sentinel_veryfar", "superbwarfare:sentinel_charge_far", "superbwarfare:sentinel_charge_veryfar", "superbwarfare:sentinel_reload_normal", "superbwarfare:sentinel_reload_empty", "superbwarfare:sentinel_charge", "superbwarfare:sentinel_bolt", "superbwarfare:m_60_fire_1p", "superbwarfare:m_60_fire_3p", "superbwarfare:m_60_far", "superbwarfare:m_60_veryfar", "superbwarfare:m_60_reload_normal", "superbwarfare:m_60_reload_empty", "superbwarfare:svd_fire_1p", "superbwarfare:svd_fire_3p", "superbwarfare:svd_far", "superbwarfare:svd_veryfar", "superbwarfare:svd_fire_1p_s", "superbwarfare:svd_fire_3p_s", "superbwarfare:svd_far_s", "superbwarfare:svd_reload_normal", "superbwarfare:svd_reload_empty", "superbwarfare:m_98b_fire_1p", "superbwarfare:m_98b_fire_3p", "superbwarfare:m_98b_fire_1p_s", "superbwarfare:m_98b_fire_3p_s", "superbwarfare:m_98b_far", "superbwarfare:m_98b_veryfar", "superbwarfare:m_98b_reload_normal", "superbwarfare:m_98b_reload_empty", "superbwarfare:m_98b_bolt", "superbwarfare:marlin_fire_1p", "superbwarfare:marlin_fire_3p", "superbwarfare:marlin_far", "superbwarfare:marlin_veryfar", "superbwarfare:marlin_loop", "superbwarfare:marlin_prepare", "superbwarfare:marlin_end", "superbwarfare:marlin_bolt", "superbwarfare:m_870_fire_1p", "superbwarfare:m_870_fire_3p", "superbwarfare:m_870_far", "superbwarfare:m_870_veryfar", "superbwarfare:m_870_prepare_load", "superbwarfare:m_870_loop", "superbwarfare:m_870_bolt", "superbwarfare:glock_17_fire_1p", "superbwarfare:glock_17_fire_3p", "superbwarfare:glock_17_far", "superbwarfare:glock_17_veryfar", "superbwarfare:glock_17_reload_normal", "superbwarfare:glock_17_reload_empty", "superbwarfare:mp_443_fire_1p", "superbwarfare:mp_443_fire_3p", "superbwarfare:m_1911_fire_1p", "superbwarfare:m_1911_fire_3p", "superbwarfare:m_1911_far", "superbwarfare:m_1911_veryfar", "superbwarfare:qbz_95_fire_1p", "superbwarfare:qbz_95_fire_1p_s", "superbwarfare:qbz_95_fire_3p", "superbwarfare:qbz_95_fire_3p_s", "superbwarfare:qbz_95_far", "superbwarfare:qbz_95_veryfar", "superbwarfare:qbz_95_reload_normal", "superbwarfare:qbz_95_reload_empty", "superbwarfare:k_98_fire_1p", "superbwarfare:k_98_fire_3p", "superbwarfare:k_98_far", "superbwarfare:k_98_veryfar", "superbwarfare:k_98_reload_empty", "superbwarfare:k_98_bolt", "superbwarfare:k_98_loop", "superbwarfare:k_98_prepare", "superbwarfare:k_98_end", "superbwarfare:mosin_nagant_fire_1p", "superbwarfare:mosin_nagant_fire_3p", "superbwarfare:mosin_nagant_far", "superbwarfare:mosin_nagant_veryfar", "superbwarfare:mosin_nagant_bolt", "superbwarfare:mosin_nagant_loop", "superbwarfare:mosin_nagant_prepare", "superbwarfare:mosin_nagant_prepare_empty", "superbwarfare:mosin_nagant_end", "superbwarfare:javelin_fire_1p", "superbwarfare:javelin_fire_3p", "superbwarfare:javelin_far", "superbwarfare:javelin_reload_empty", "superbwarfare:javelin_lock", "superbwarfare:javelin_lockon", "superbwarfare:ak_12_fire_1p", "superbwarfare:ak_12_fire_3p", "superbwarfare:ak_12_fire_1p_s", "superbwarfare:ak_12_fire_3p_s", "superbwarfare:ak_12_far", "superbwarfare:ak_12_veryfar", "superbwarfare:ak_12_far_s", "superbwarfare:ak_12_veryfar_s", "superbwarfare:ak_12_reload_normal", "superbwarfare:ak_12_reload_empty", "superbwarfare:bullet_supply", "superbwarfare:shock", "superbwarfare:electric", "superbwarfare:triggerclick", "superbwarfare:hit", "superbwarfare:targetdown", "superbwarfare:indication", "superbwarfare:indication_vehicle", "superbwarfare:jump", "superbwarfare:doublejump", "superbwarfare:explosion_close", "superbwarfare:explosion_far", "superbwarfare:explosion_very_far", "superbwarfare:explosion_water", "superbwarfare:ouch", "superbwarfare:step", "superbwarfare:growl", "superbwarfare:idle", "superbwarfare:land", "superbwarfare:headshot", "superbwarfare:mortar_fire", "superbwarfare:mortar_distant", "superbwarfare:mortar_load", "superbwarfare:firerate", "superbwarfare:adjust_fov", "superbwarfare:mk_42_fire_1p", "superbwarfare:mk_42_far", "superbwarfare:mk_42_veryfar", "superbwarfare:mk_42_fire_3p", "superbwarfare:cannon_reload", "superbwarfare:cannon_zoom_in", "superbwarfare:cannon_zoom_out", "superbwarfare:drone_sound", "superbwarfare:grenade_throw", "superbwarfare:grenade_pull", "superbwarfare:heng", "superbwarfare:edit_mode", "superbwarfare:edit", "superbwarfare:shell_casing_normal", "superbwarfare:shell_casing_shotgun", "superbwarfare:shell_casing_50cal", "superbwarfare:huge_explosion_close", "superbwarfare:huge_explosion_far", "superbwarfare:huge_explosion_very_far", "superbwarfare:open", "superbwarfare:charge_rifle_fire_1p", "superbwarfare:charge_rifle_fire_3p", "superbwarfare:charge_rifle_fire_boom_1p", "superbwarfare:charge_rifle_fire_boom_3p", "superbwarfare:annihilator_fire_1p", "superbwarfare:annihilator_fire_3p", "superbwarfare:annihilator_far", "superbwarfare:annihilator_veryfar", "superbwarfare:annihilator_reload", "superbwarfare:boat_engine", "superbwarfare:vehicle_strike", "superbwarfare:m_2_hb_fire_1p", "superbwarfare:m_2_hb_fire_3p", "superbwarfare:m_2_hb_far", "superbwarfare:m_2_hb_veryfar", "superbwarfare:m_2_hb_reload_normal", "superbwarfare:m_2_hb_reload_empty", "superbwarfare:wheel_chair_engine", "superbwarfare:wheel_chair_jump", "superbwarfare:radar_search_start", "superbwarfare:radar_search_idle", "superbwarfare:radar_search_end", "superbwarfare:helicopter_engine_start", "superbwarfare:helicopter_engine", "superbwarfare:heli_cannon_fire_1p", "superbwarfare:heli_cannon_fire_3p", "superbwarfare:heli_cannon_far", "superbwarfare:heli_cannon_veryfar", "superbwarfare:small_rocket_fire_1p", "superbwarfare:small_rocket_fire_3p", "superbwarfare:into_cannon", "superbwarfare:into_missile", "superbwarfare:missile_reload", "superbwarfare:low_health", "superbwarfare:no_health", "superbwarfare:locking_warning", "superbwarfare:locked_warning", "superbwarfare:missile_warning", "superbwarfare:decoy_reload", "superbwarfare:decoy_fire", "superbwarfare:secondary_cataclysm_fire_1p", "superbwarfare:secondary_cataclysm_fire_3p", "superbwarfare:secondary_cataclysm_far", "superbwarfare:secondary_cataclysm_veryfar", "superbwarfare:secondary_cataclysm_loop", "superbwarfare:secondary_cataclysm_prepare_load", "superbwarfare:secondary_cataclysm_end", "superbwarfare:secondary_cataclysm_fire_1p_charge", "superbwarfare:secondary_cataclysm_fire_3p_charge", "superbwarfare:secondary_cataclysm_far_charge", "superbwarfare:secondary_cataclysm_veryfar_charge", "superbwarfare:lunge_mine_growl", "superbwarfare:lav_fire_1p", "superbwarfare:lav_fire_3p", "superbwarfare:lav_far", "superbwarfare:lav_veryfar", "superbwarfare:lav_engine", "superbwarfare:coax_fire_1p", "superbwarfare:bmp_fire_1p", "superbwarfare:bmp_fire_3p", "superbwarfare:bmp_engine", "superbwarfare:bmp_missile_fire_1p", "superbwarfare:bmp_missile_fire_3p", "superbwarfare:bmp_missile_reload", "superbwarfare:wheel_step", "superbwarfare:laser_tower_shoot", "superbwarfare:yx_100_reload", "superbwarfare:yx_100_fire_1p", "superbwarfare:yx_100_fire_3p", "superbwarfare:yx_100_far", "superbwarfare:yx_100_veryfar", "superbwarfare:yx_100_engine", "superbwarfare:turret_turn", "superbwarfare:c4_beep", "superbwarfare:c4_final", "superbwarfare:c4_throw", "superbwarfare:c4_detonator_click", "superbwarfare:prism_fire_1p", "superbwarfare:prism_fire_3p", "superbwarfare:prism_fire_1p_2", "superbwarfare:prism_fire_3p_2", "superbwarfare:prism_engine", "superbwarfare:insidious_fire_1p", "superbwarfare:insidious_fire_3p", "superbwarfare:insidious_far", "superbwarfare:insidious_veryfar", "superbwarfare:insidious_reload_empty", "superbwarfare:smoke_fire", "superbwarfare:hpj_11_fire_3p", "superbwarfare:track_move", "superbwarfare:rocket_fly", "superbwarfare:shell_fly", "superbwarfare:rocket_engine", "superbwarfare:vehicle_swim", "superbwarfare:a10_engine", "superbwarfare:a10_fire", "superbwarfare:bomb_release", "superbwarfare:missile_start", "superbwarfare:bomb_reload", "superbwarfare:jet_lock", "superbwarfare:jet_lockon", "superbwarfare:dps_generator_evolve", "superbwarfare:melee_hit", "superbwarfare:aurelia_sceptre_fire_1p", "superbwarfare:aurelia_sceptre_fire_3p", "superbwarfare:fly_loop", "superbwarfare:mp_5_fire_1p", "superbwarfare:mp_5_fire_3p", "superbwarfare:mp_5_far", "superbwarfare:mp_5_veryfar", "superbwarfare:mp_5_fire_1p_s", "superbwarfare:mp_5_fire_3p_s", "superbwarfare:mp_5_reload_normal", "superbwarfare:mp_5_reload_empty", "superbwarfare:steel_pipe_hit", "superbwarfare:steel_pipe_drop", "superbwarfare:qbz_191_fire_1p", "superbwarfare:qbz_191_fire_1p_s", "superbwarfare:qbz_191_fire_3p", "superbwarfare:qbz_191_fire_3p_s", "superbwarfare:qbz_191_far", "superbwarfare:qbz_191_veryfar", "superbwarfare:qbz_191_reload_normal", "superbwarfare:qbz_191_reload_empty", "superbwarfare:smoke_grenade_release", "superbwarfare:hand_wheel_rot", "superbwarfare:medium_rocket_fire", "superbwarfare:ty63_reload"]
#Minimum sound level (0.0-1.0) for player-emitted sounds to be considered. Higher values mean only louder sounds are tracked.
#Range: 0.0 ~ 1.0
minSoundLevelForPlayer = 0.1
#Minimum sound level (0.0-1.0) for mob-emitted sounds to be considered.
#Range: 0.0 ~ 1.0
minSoundLevelForMob = 0.15
#Default Sound Properties
[sound_defaults]
#List of default sound properties. Format: 'sound_id;range;weight'
#Example: 'minecraft:item.crossbow.shoot;16.0;4.0'
soundDefaults = ["minecraft:item.crossbow.shoot;16;4", "minecraft:item.crossbow.loading_start;6;2", "minecraft:item.crossbow.loading_middle;6;2", "minecraft:item.crossbow.loading_end;6;2", "minecraft:item.crossbow.quick_charge_1;6;2", "minecraft:item.crossbow.quick_charge_2;6;2", "minecraft:item.crossbow.quick_charge_3;6;2", "minecraft:entity.arrow.shoot;14;4", "minecraft:item.shield.block;12;3", "minecraft:block.lever.click;5;3", "minecraft:block.wooden_trapdoor.open;8;3", "minecraft:block.wooden_trapdoor.close;8;3", "minecraft:block.bamboo_wood_trapdoor.open;10;3", "minecraft:block.bamboo_wood_trapdoor.close;10;3", "minecraft:block.cherry_wood_trapdoor.open;10;3", "minecraft:block.cherry_wood_trapdoor.close;10;3", "minecraft:block.iron_trapdoor.open;15;4", "minecraft:block.iron_trapdoor.close;15;4", "minecraft:block.wooden_door.open;12;4", "minecraft:block.wooden_door.close;12;4", "minecraft:block.bamboo_wood_door.open;15;4", "minecraft:block.bamboo_wood_door.close;15;4", "minecraft:block.cherry_wood_door.open;15;4", "minecraft:block.cherry_wood_door.close;15;4", "minecraft:block.iron_door.open;20;5", "minecraft:block.iron_door.close;20;5", "minecraft:block.fence_gate.open;10;3", "minecraft:block.fence_gate.close;10;3", "minecraft:block.piston.extend;20;4", "minecraft:block.piston.contract;20;4", "minecraft:block.dispenser.dispense;12;4", "minecraft:block.dispenser.launch;12;4", "minecraft:block.anvil.land;25;5", "minecraft:block.anvil.use;25;5", "minecraft:block.anvil.destroy;25;5", "minecraft:block.sand.fall;6;3", "minecraft:block.gravel.fall;6;3", "minecraft:block.grass.break;3;2", "minecraft:block.scaffolding.break;3;2", "tacz:target_block_hit;6;3", "minecraft:entity.boat.paddle_water;8;3", "minecraft:ambient.underwater.enter;4;2", "minecraft:ambient.underwater.exit;4;2", "minecraft:block.chest.open;5;2", "minecraft:block.chest.close;5;2", "minecraft:block.barrel.open;5;2", "minecraft:block.barrel.close;5;2", "minecraft:block.ender_chest.open;6;2", "minecraft:block.ender_chest.close;6;2", "minecraft:block.shulker_box.open;6;2", "minecraft:block.shulker_box.close;6;2", "minecraft:block.bell.use;30;5", "minecraft:block.bell.resonate;15;4", "minecraft:block.furnace.fire_crackle;8;3", "minecraft:entity.generic.explode;50;7", "minecraft:entity.firework_rocket.launch;10;3", "minecraft:entity.firework_rocket.blast;20;5", "minecraft:entity.firework_rocket.large_blast;30;6", "musketmod:musket_fire;155;8", "musketmod:blunderbuss_fire;154;7", "musketmod:pistol_fire;164;5", "cgm:item.shotgun.fire;156;15", "cgm:item.shotgun.silenced_fire;131;13", "cgm:item.shotgun.enchanted_fire;156;15", "cgm:item.shotgun.cock;90;6", "cgm:item.rifle.fire;162;16", "cgm:item.rifle.silenced_fire;137;13", "cgm:item.rifle.enchanted_fire;162;16", "cgm:item.rifle.cock;90;6", "cgm:item.pistol.fire;164;16", "cgm:item.pistol.silenced_fire;139;13", "cgm:item.pistol.enchanted_fire;164;16", "cgm:item.pistol.reload;85;7", "cgm:item.pistol.cock;90;6", "cgm:item.assault_rifle.fire;159;16", "cgm:item.assault_rifle.silenced_fire;134;13", "cgm:item.assault_rifle.enchanted_fire;159;16", "cgm:item.assault_rifle.cock;90;6", "cgm:item.grenade_launcher.fire;172;17", "cgm:item.bazooka.fire;184;17", "cgm:item.mini_gun.fire;180;17", "cgm:item.mini_gun.enchanted_fire;180;17", "cgm:item.machine_pistol.fire;160;16", "cgm:item.machine_pistol.silenced_fire;135;13", "cgm:item.machine_pistol.enchanted_fire;160;16", "cgm:item.heavy_rifle.fire;165;16", "cgm:item.heavy_rifle.silenced_fire;140;13", "cgm:item.heavy_rifle.enchanted_fire;165;16", "cgm:item.heavy_rifle.cock;90;6", "cgm:item.grenade.pin;72;6", "cgm:entity.stun_grenade.explosion;175;18", "cgm:entity.stun_grenade.ring;104;10", "scguns:item.makeshift_rifle.cock;10;1.0", "scguns:item.pistol.cock;5;0.5", "scguns:item.flamethrower.reload;10;1.0", "scguns:item.gauss.reload;25;2.5", "scguns:item.pistol.reload;10;1.0", "scguns:item.airgun.fire;80;8.0", "scguns:item.beam.fire;100;10.0", "scguns:item.blackpowder.fire;115;11.5", "scguns:item.boomstick.fire;120;12.0", "scguns:item.brass_pistol.fire;105;10.5", "scguns:item.brass_revolver.fire;110;11.0", "scguns:item.brass_shotgun.fire;110;11.0", "scguns:item.bruiser.fire;115;11.5", "scguns:item.combat_shotgun.fire;120;12.0", "scguns:item.cowboy.fire;110;11.0", "scguns:item.flamethrower.fire_2;95;9.5", "scguns:item.gauss.fire;130;13.0", "scguns:item.greaser_smg.fire;110;11.0", "scguns:item.gyrojet.fire;115;11.5", "scguns:item.heavy_rifle.fire;120;12.0", "scguns:item.heavier_rifle.fire;125;12.5", "scguns:item.iron_pistol.fire;110;11.0", "scguns:item.iron_rifle.fire;120;12.0", "scguns:item.makeshift_rifle.fire;110;11.0", "scguns:item.plasma.fire;115;11.5", "scguns:item.raygun.fire;110;11.0", "scguns:item.rocket.fire;140;14.0", "scguns:item.rocket_rifle.fire;135;13.5", "scguns:item.rusty_gnat.fire;105;10.5", "scguns:item.scrapper.fire;110;11.0", "scguns:item.sculk.fire;100;10.0", "scguns:item.shock.fire;95;9.5", "scguns:item.shulker.fire;105;10.5", "scguns:item.scorched_sniper.fire;130;13.0", "scguns:item.scorched_rifle.fire;125;12.5", "scguns:item.shock.silenced_fire;45;4.5", "scguns:item.bruiser.silenced_fire;55;5.5", "scguns:item.makeshift_rifle.silenced_fire;50;5.0", "scguns:item.combat_shotgun.silenced_fire;60;6.0", "scguns:item.rusty_gnat.silenced_fire;45;4.5", "scguns:item.shock.fire;155;15.5", "scguns:item.scorched_sniper.fire;190;19.0", "scguns:item.scorched_rifle.fire;185;18.5", "scguns:item.bruiser.fire;175;17.5", "scguns:item.flamethrower.fire_2;155;15.5", "scguns:item.blackpowder.fire;175;17.5", "scguns:item.gyrojet.fire;175;17.5", "scguns:item.boomstick.fire;180;18.0", "scguns:item.brass_shotgun.fire;170;17.0", "scguns:item.brass_revolver.fire;170;17.0", "scguns:item.shulker.fire;165;16.5", "scguns:item.iron_rifle.fire;180;18.0", "scguns:item.combat_shotgun.fire;180;18.0", "scguns:item.beam.fire;160;16.0", "scguns:item.airgun.fire;140;14.0", "scguns:item.heavier_rifle.fire;185;18.5", "scguns:item.iron_pistol.fire;170;17.0", "scguns:item.gauss.fire;190;19.0", "scguns:item.heavy_rifle.fire;180;18.0", "scguns:item.greaser_smg.fire;170;17.0", "scguns:item.plasma.fire;175;17.5", "scguns:item.rusty_gnat.fire;165;16.5", "scguns:item.cowboy.fire;170;17.0", "scguns:item.scrapper.fire;170;17.0", "scguns:item.sculk.fire;160;16.0", "scguns:item.raygun.fire;170;17.0", "scguns:item.rocket_rifle.fire;195;19.5", "scguns:item.makeshift_rifle.cock;10;1.0", "scguns:item.pistol.cock;5;0.5", "scguns:item.flamethrower.reload;10;1.0", "scguns:item.gauss.reload;25;2.5", "scguns:item.pistol.reload;10;1.0", "scguns:item.airgun.fire;80;8.0", "scguns:item.beam.fire;100;10.0", "scguns:item.blackpowder.fire;115;11.5", "scguns:item.boomstick.fire;120;12.0", "scguns:item.brass_pistol.fire;105;10.5", "scguns:item.brass_revolver.fire;110;11.0", "scguns:item.brass_shotgun.fire;110;11.0", "scguns:item.bruiser.fire;115;11.5", "scguns:item.combat_shotgun.fire;120;12.0", "scguns:item.cowboy.fire;110;11.0", "scguns:item.flamethrower.fire_2;95;9.5", "scguns:item.gauss.fire;130;13.0", "scguns:item.greaser_smg.fire;110;11.0", "scguns:item.gyrojet.fire;115;11.5", "scguns:item.heavy_rifle.fire;120;12.0", "scguns:item.heavier_rifle.fire;125;12.5", "scguns:item.iron_pistol.fire;110;11.0", "scguns:item.iron_rifle.fire;120;12.0", "scguns:item.makeshift_rifle.fire;110;11.0", "scguns:item.plasma.fire;115;11.5", "scguns:item.raygun.fire;110;11.0", "scguns:item.rocket.fire;140;14.0", "scguns:item.rocket_rifle.fire;135;13.5", "scguns:item.rusty_gnat.fire;105;10.5", "scguns:item.scrapper.fire;110;11.0", "scguns:item.sculk.fire;100;10.0", "scguns:item.shock.fire;95;9.5", "scguns:item.shulker.fire;105;10.5", "scguns:item.scorched_sniper.fire;130;13.0", "scguns:item.scorched_rifle.fire;125;12.5", "scguns:item.shock.silenced_fire;45;4.5", "scguns:item.bruiser.silenced_fire;55;5.5", "scguns:item.makeshift_rifle.silenced_fire;50;5.0", "scguns:item.combat_shotgun.silenced_fire;60;6.0", "scguns:item.rusty_gnat.silenced_fire;45;4.5", "scguns:item.shock.fire;155;15.5", "scguns:item.scorched_sniper.fire;190;19.0", "scguns:item.scorched_rifle.fire;185;18.5", "scguns:item.bruiser.fire;175;17.5", "scguns:item.flamethrower.fire_2;155;15.5", "scguns:item.blackpowder.fire;175;17.5", "scguns:item.gyrojet.fire;175;17.5", "scguns:item.boomstick.fire;180;18.0", "scguns:item.brass_shotgun.fire;170;17.0", "scguns:item.brass_revolver.fire;170;17.0", "scguns:item.shulker.fire;165;16.5", "scguns:item.iron_rifle.fire;180;18.0", "scguns:item.combat_shotgun.fire;180;18.0", "scguns:item.beam.fire;160;16.0", "scguns:item.airgun.fire;140;14.0", "scguns:item.heavier_rifle.fire;185;18.5", "scguns:item.iron_pistol.fire;170;17.0", "scguns:item.gauss.fire;190;19.0", "scguns:item.heavy_rifle.fire;180;18.0", "scguns:item.greaser_smg.fire;170;17.0", "scguns:item.plasma.fire;175;17.5", "scguns:item.rusty_gnat.fire;165;16.5", "scguns:item.cowboy.fire;170;17.0", "scguns:item.scrapper.fire;170;17.0", "scguns:item.sculk.fire;160;16.0", "scguns:item.raygun.fire;170;17.0", "scguns:item.rocket_rifle.fire;195;19.5", "superbwarfare:taser_fire_1p;150;65", "superbwarfare:taser_fire_3p;150;65", "superbwarfare:taser_reload_empty;30;25", "superbwarfare:trachelium_fire_1p;150;65", "superbwarfare:trachelium_fire_3p;150;65", "superbwarfare:trachelium_far;250;150", "superbwarfare:trachelium_veryfar;400;300", "superbwarfare:trachelium_fire_1p_s;150;65", "superbwarfare:trachelium_fire_3p_s;150;65", "superbwarfare:trachelium_far_s;250;150", "superbwarfare:trachelium_reload_empty;30;25", "superbwarfare:trachelium_bolt;30;10", "superbwarfare:hunting_rifle_fire_1p;150;65", "superbwarfare:hunting_rifle_fire_3p;150;65", "superbwarfare:hunting_rifle_far;250;150", "superbwarfare:hunting_rifle_veryfar;400;300", "superbwarfare:hunting_rifle_reload_empty;30;25", "superbwarfare:m_79_fire_1p;150;65", "superbwarfare:m_79_fire_3p;150;65", "superbwarfare:m_79_far;250;150", "superbwarfare:m_79_veryfar;400;300", "superbwarfare:m_79_reload_empty;30;25", "superbwarfare:sks_fire_1p;150;65", "superbwarfare:sks_fire_3p;150;65", "superbwarfare:sks_reload_normal;30;25", "superbwarfare:sks_reload_empty;30;25", "superbwarfare:sks_far;250;150", "superbwarfare:sks_veryfar;400;300", "superbwarfare:homemade_shotgun_fire_1p;150;65", "superbwarfare:homemade_shotgun_fire_3p;150;65", "superbwarfare:homemade_shotgun_far;250;150", "superbwarfare:homemade_shotgun_veryfar;400;300", "superbwarfare:homemade_shotgun_reload_normal;30;25", "superbwarfare:homemade_shotgun_reload_empty;30;25", "superbwarfare:ak_47_fire_1p;150;65", "superbwarfare:ak_47_fire_1p_s;150;65", "superbwarfare:ak_47_fire_3p;150;65", "superbwarfare:ak_47_fire_3p_s;150;65", "superbwarfare:ak_47_far;250;150", "superbwarfare:ak_47_veryfar;400;300", "superbwarfare:ak_47_reload_normal;30;25", "superbwarfare:ak_47_reload_empty;30;25", "superbwarfare:devotion_fire_1p;150;65", "superbwarfare:devotion_fire_3p;150;65", "superbwarfare:devotion_far;250;150", "superbwarfare:devotion_veryfar;400;300", "superbwarfare:devotion_reload_normal;30;25", "superbwarfare:devotion_reload_empty;30;25", "superbwarfare:rpg_fire_1p;150;65", "superbwarfare:rpg_fire_3p;150;65", "superbwarfare:rpg_far;250;150", "superbwarfare:rpg_veryfar;400;300", "superbwarfare:rpg_reload_empty;30;25", "superbwarfare:m_4_fire_1p;150;65", "superbwarfare:m_4_fire_1p_s;150;65", "superbwarfare:m_4_fire_3p;150;65", "superbwarfare:m_4_fire_3p_s;150;65", "superbwarfare:m_4_far;250;150", "superbwarfare:m_4_veryfar;400;300", "superbwarfare:m_4_reload_normal;30;25", "superbwarfare:m_4_reload_empty;30;25", "superbwarfare:aa_12_fire_1p;150;65", "superbwarfare:aa_12_fire_3p;150;65", "superbwarfare:aa_12_far;250;150", "superbwarfare:aa_12_veryfar;400;300", "superbwarfare:aa_12_reload_normal;30;25", "superbwarfare:aa_12_reload_empty;30;25", "superbwarfare:bocek_zoom_fire_1p;150;65", "superbwarfare:bocek_zoom_fire_3p;150;65", "superbwarfare:bocek_shatter_cap_fire_1p;150;65", "superbwarfare:bocek_shatter_cap_fire_3p;150;65", "superbwarfare:bocek_pull_1p;30;10", "superbwarfare:bocek_pull_3p;30;10", "superbwarfare:hk_416_fire_1p;150;65", "superbwarfare:hk_416_fire_1p_s;150;65", "superbwarfare:hk_416_fire_3p;150;65", "superbwarfare:hk_416_fire_3p_s;150;65", "superbwarfare:hk_416_far;250;150", "superbwarfare:hk_416_veryfar;400;300", "superbwarfare:hk_416_reload_normal;30;25", "superbwarfare:hk_416_reload_empty;30;25", "superbwarfare:rpk_fire_1p;150;65", "superbwarfare:rpk_fire_3p;150;65", "superbwarfare:rpk_fire_1p_s;150;65", "superbwarfare:rpk_fire_3p_s;150;65", "superbwarfare:rpk_far;250;150", "superbwarfare:rpk_veryfar;400;300", "superbwarfare:rpk_reload_normal;30;25", "superbwarfare:rpk_reload_empty;30;25", "superbwarfare:ntw_20_fire_1p;150;65", "superbwarfare:ntw_20_fire_3p;150;65", "superbwarfare:ntw_20_far;250;150", "superbwarfare:ntw_20_veryfar;400;300", "superbwarfare:ntw_20_reload_normal;30;25", "superbwarfare:ntw_20_reload_empty;30;25", "superbwarfare:ntw_20_bolt;30;10", "superbwarfare:vector_fire_1p;150;65", "superbwarfare:vector_fire_3p;150;65", "superbwarfare:vector_far;250;150", "superbwarfare:vector_veryfar;400;300", "superbwarfare:vector_fire_1p_s;150;65", "superbwarfare:vector_fire_3p_s;150;65", "superbwarfare:vector_far_s;250;150", "superbwarfare:vector_reload_normal;30;25", "superbwarfare:vector_reload_empty;30;25", "superbwarfare:minigun_fire_1p;150;65", "superbwarfare:minigun_fire_3p;150;65", "superbwarfare:minigun_far;250;150", "superbwarfare:minigun_veryfar;400;300", "superbwarfare:minigun_rot;30;10", "superbwarfare:minigun_overheat;30;10", "superbwarfare:mk_14_fire_1p;150;65", "superbwarfare:mk_14_fire_3p;150;65", "superbwarfare:mk_14_far;250;150", "superbwarfare:mk_14_veryfar;400;300", "superbwarfare:mk_14_fire_1p_s;150;65", "superbwarfare:mk_14_fire_3p_s;150;65", "superbwarfare:mk_14_far_s;250;150", "superbwarfare:mk_14_reload_normal;30;25", "superbwarfare:mk_14_reload_empty;30;25", "superbwarfare:sentinel_fire_1p;150;65", "superbwarfare:sentinel_fire_3p;150;65", "superbwarfare:sentinel_charge_fire_1p;150;65", "superbwarfare:sentinel_charge_fire_3p;150;65", "superbwarfare:sentinel_far;250;150", "superbwarfare:sentinel_veryfar;400;300", "superbwarfare:sentinel_charge_far;250;150", "superbwarfare:sentinel_charge_veryfar;400;300", "superbwarfare:sentinel_reload_normal;30;25", "superbwarfare:sentinel_reload_empty;30;25", "superbwarfare:sentinel_charge;30;10", "superbwarfare:sentinel_bolt;30;10", "superbwarfare:m_60_fire_1p;150;65", "superbwarfare:m_60_fire_3p;150;65", "superbwarfare:m_60_far;250;150", "superbwarfare:m_60_veryfar;400;300", "superbwarfare:m_60_reload_normal;30;25", "superbwarfare:m_60_reload_empty;30;25", "superbwarfare:svd_fire_1p;150;65", "superbwarfare:svd_fire_3p;150;65", "superbwarfare:svd_far;250;150", "superbwarfare:svd_veryfar;400;300", "superbwarfare:svd_fire_1p_s;150;65", "superbwarfare:svd_fire_3p_s;150;65", "superbwarfare:svd_far_s;250;150", "superbwarfare:svd_reload_normal;30;25", "superbwarfare:svd_reload_empty;30;25", "superbwarfare:m_98b_fire_1p;150;65", "superbwarfare:m_98b_fire_3p;150;65", "superbwarfare:m_98b_fire_1p_s;150;65", "superbwarfare:m_98b_fire_3p_s;150;65", "superbwarfare:m_98b_far;250;150", "superbwarfare:m_98b_veryfar;400;300", "superbwarfare:m_98b_reload_normal;30;25", "superbwarfare:m_98b_reload_empty;30;25", "superbwarfare:m_98b_bolt;30;10", "superbwarfare:marlin_fire_1p;150;65", "superbwarfare:marlin_fire_3p;150;65", "superbwarfare:marlin_far;250;150", "superbwarfare:marlin_veryfar;400;300", "superbwarfare:marlin_loop;30;10", "superbwarfare:marlin_prepare;30;10", "superbwarfare:marlin_end;30;10", "superbwarfare:marlin_bolt;30;10", "superbwarfare:m_870_fire_1p;150;65", "superbwarfare:m_870_fire_3p;150;65", "superbwarfare:m_870_far;250;150", "superbwarfare:m_870_veryfar;400;300", "superbwarfare:m_870_prepare_load;30;10", "superbwarfare:m_870_loop;30;10", "superbwarfare:m_870_bolt;30;10", "superbwarfare:glock_17_fire_1p;150;65", "superbwarfare:glock_17_fire_3p;150;65", "superbwarfare:glock_17_far;250;150", "superbwarfare:glock_17_veryfar;400;300", "superbwarfare:glock_17_reload_normal;30;25", "superbwarfare:glock_17_reload_empty;30;25", "superbwarfare:mp_443_fire_1p;150;65", "superbwarfare:mp_443_fire_3p;150;65", "superbwarfare:m_1911_fire_1p;150;65", "superbwarfare:m_1911_fire_3p;150;65", "superbwarfare:m_1911_far;250;150", "superbwarfare:m_1911_veryfar;400;300", "superbwarfare:qbz_95_fire_1p;150;65", "superbwarfare:qbz_95_fire_1p_s;150;65", "superbwarfare:qbz_95_fire_3p;150;65", "superbwarfare:qbz_95_fire_3p_s;150;65", "superbwarfare:qbz_95_far;250;150", "superbwarfare:qbz_95_veryfar;400;300", "superbwarfare:qbz_95_reload_normal;30;25", "superbwarfare:qbz_95_reload_empty;30;25", "superbwarfare:k_98_fire_1p;150;65", "superbwarfare:k_98_fire_3p;150;65", "superbwarfare:k_98_far;250;150", "superbwarfare:k_98_veryfar;400;300", "superbwarfare:k_98_reload_empty;30;25", "superbwarfare:k_98_bolt;30;10", "superbwarfare:k_98_loop;30;10", "superbwarfare:k_98_prepare;30;10", "superbwarfare:k_98_end;30;10", "superbwarfare:mosin_nagant_fire_1p;150;65", "superbwarfare:mosin_nagant_fire_3p;150;65", "superbwarfare:mosin_nagant_far;250;150", "superbwarfare:mosin_nagant_veryfar;400;300", "superbwarfare:mosin_nagant_bolt;30;10", "superbwarfare:mosin_nagant_loop;30;10", "superbwarfare:mosin_nagant_prepare;30;10", "superbwarfare:mosin_nagant_prepare_empty;10;14", "superbwarfare:mosin_nagant_end;30;10", "superbwarfare:javelin_fire_1p;150;65", "superbwarfare:javelin_fire_3p;150;65", "superbwarfare:javelin_far;250;150", "superbwarfare:javelin_reload_empty;30;25", "superbwarfare:javelin_lock;30;10", "superbwarfare:javelin_lockon;30;10", "superbwarfare:ak_12_fire_1p;150;65", "superbwarfare:ak_12_fire_3p;150;65", "superbwarfare:ak_12_fire_1p_s;150;65", "superbwarfare:ak_12_fire_3p_s;150;65", "superbwarfare:ak_12_far;250;150", "superbwarfare:ak_12_veryfar;400;300", "superbwarfare:ak_12_far_s;250;150", "superbwarfare:ak_12_veryfar_s;400;300", "superbwarfare:ak_12_reload_normal;30;25", "superbwarfare:ak_12_reload_empty;30;25", "superbwarfare:bullet_supply;30;10", "superbwarfare:shock;30;10", "superbwarfare:electric;30;10", "superbwarfare:triggerclick;30;10", "superbwarfare:hit;30;10", "superbwarfare:targetdown;30;10", "superbwarfare:indication;30;10", "superbwarfare:indication_vehicle;30;10", "superbwarfare:jump;30;10", "superbwarfare:doublejump;30;10", "superbwarfare:explosion_close;30;10", "superbwarfare:explosion_far;250;150", "superbwarfare:explosion_very_far;400;300", "superbwarfare:explosion_water;30;10", "superbwarfare:ouch;30;10", "superbwarfare:step;30;10", "superbwarfare:growl;30;10", "superbwarfare:idle;30;10", "superbwarfare:land;30;10", "superbwarfare:headshot;30;10", "superbwarfare:mortar_fire;150;65", "superbwarfare:mortar_distant;30;10", "superbwarfare:mortar_load;30;10", "superbwarfare:firerate;150;65", "superbwarfare:adjust_fov;30;10", "superbwarfare:mk_42_fire_1p;150;65", "superbwarfare:mk_42_far;250;150", "superbwarfare:mk_42_veryfar;400;300", "superbwarfare:mk_42_fire_3p;150;65", "superbwarfare:cannon_reload;30;25", "superbwarfare:cannon_zoom_in;30;10", "superbwarfare:cannon_zoom_out;30;10", "superbwarfare:drone_sound;30;10", "superbwarfare:grenade_throw;30;10", "superbwarfare:grenade_pull;30;10", "superbwarfare:heng;30;10", "superbwarfare:edit_mode;30;10", "superbwarfare:edit;30;10", "superbwarfare:shell_casing_normal;30;10", "superbwarfare:shell_casing_shotgun;30;10", "superbwarfare:shell_casing_50cal;30;10", "superbwarfare:huge_explosion_close;30;10", "superbwarfare:huge_explosion_far;250;150", "superbwarfare:huge_explosion_very_far;400;300", "superbwarfare:open;30;10", "superbwarfare:charge_rifle_fire_1p;150;65", "superbwarfare:charge_rifle_fire_3p;150;65", "superbwarfare:charge_rifle_fire_boom_1p;150;65", "superbwarfare:charge_rifle_fire_boom_3p;150;65", "superbwarfare:annihilator_fire_1p;150;65", "superbwarfare:annihilator_fire_3p;150;65", "superbwarfare:annihilator_far;250;150", "superbwarfare:annihilator_veryfar;400;300", "superbwarfare:annihilator_reload;30;25", "superbwarfare:boat_engine;30;10", "superbwarfare:vehicle_strike;30;10", "superbwarfare:m_2_hb_fire_1p;150;65", "superbwarfare:m_2_hb_fire_3p;150;65", "superbwarfare:m_2_hb_far;250;150", "superbwarfare:m_2_hb_veryfar;400;300", "superbwarfare:m_2_hb_reload_normal;30;25", "superbwarfare:m_2_hb_reload_empty;30;25", "superbwarfare:wheel_chair_engine;30;10", "superbwarfare:wheel_chair_jump;30;10", "superbwarfare:radar_search_start;30;10", "superbwarfare:radar_search_idle;30;10", "superbwarfare:radar_search_end;30;10", "superbwarfare:helicopter_engine_start;30;10", "superbwarfare:helicopter_engine;30;10", "superbwarfare:heli_cannon_fire_1p;150;65", "superbwarfare:heli_cannon_fire_3p;150;65", "superbwarfare:heli_cannon_far;250;150", "superbwarfare:heli_cannon_veryfar;400;300", "superbwarfare:small_rocket_fire_1p;150;65", "superbwarfare:small_rocket_fire_3p;150;65", "superbwarfare:into_cannon;30;10", "superbwarfare:into_missile;30;10", "superbwarfare:missile_reload;30;25", "superbwarfare:low_health;30;10", "superbwarfare:no_health;30;10", "superbwarfare:locking_warning;30;10", "superbwarfare:locked_warning;30;10", "superbwarfare:missile_warning;30;10", "superbwarfare:decoy_reload;30;25", "superbwarfare:decoy_fire;150;65", "superbwarfare:secondary_cataclysm_fire_1p;150;65", "superbwarfare:secondary_cataclysm_fire_3p;150;65", "superbwarfare:secondary_cataclysm_far;250;150", "superbwarfare:secondary_cataclysm_veryfar;400;300", "superbwarfare:secondary_cataclysm_loop;30;10", "superbwarfare:secondary_cataclysm_prepare_load;30;10", "superbwarfare:secondary_cataclysm_end;30;10", "superbwarfare:secondary_cataclysm_fire_1p_charge;150;65", "superbwarfare:secondary_cataclysm_fire_3p_charge;150;65", "superbwarfare:secondary_cataclysm_far_charge;250;150", "superbwarfare:secondary_cataclysm_veryfar_charge;400;300", "superbwarfare:lunge_mine_growl;30;10", "superbwarfare:lav_fire_1p;150;65", "superbwarfare:lav_fire_3p;150;65", "superbwarfare:lav_far;250;150", "superbwarfare:lav_veryfar;400;300", "superbwarfare:lav_engine;30;10", "superbwarfare:coax_fire_1p;150;65", "superbwarfare:bmp_fire_1p;150;65", "superbwarfare:bmp_fire_3p;150;65", "superbwarfare:bmp_engine;30;10", "superbwarfare:bmp_missile_fire_1p;150;65", "superbwarfare:bmp_missile_fire_3p;150;65", "superbwarfare:bmp_missile_reload;30;25", "superbwarfare:wheel_step;30;10", "superbwarfare:laser_tower_shoot;30;10", "superbwarfare:yx_100_reload;30;25", "superbwarfare:yx_100_fire_1p;150;65", "superbwarfare:yx_100_fire_3p;150;65", "superbwarfare:yx_100_far;250;150", "superbwarfare:yx_100_veryfar;400;300", "superbwarfare:yx_100_engine;30;10", "superbwarfare:turret_turn;30;10", "superbwarfare:c4_beep;30;10", "superbwarfare:c4_final;30;10", "superbwarfare:c4_throw;30;10", "superbwarfare:c4_detonator_click;30;10", "superbwarfare:prism_fire_1p;150;65", "superbwarfare:prism_fire_3p;150;65", "superbwarfare:prism_fire_1p_2;150;65", "superbwarfare:prism_fire_3p_2;150;65", "superbwarfare:prism_engine;30;10", "superbwarfare:insidious_fire_1p;150;65", "superbwarfare:insidious_fire_3p;150;65", "superbwarfare:insidious_far;250;150", "superbwarfare:insidious_veryfar;400;300", "superbwarfare:insidious_reload_empty;30;25", "superbwarfare:smoke_fire;150;65", "superbwarfare:hpj_11_fire_3p;150;65", "superbwarfare:track_move;30;10", "superbwarfare:rocket_fly;30;10", "superbwarfare:shell_fly;30;10", "superbwarfare:rocket_engine;30;10", "superbwarfare:vehicle_swim;30;10", "superbwarfare:a10_engine;30;10", "superbwarfare:a10_fire;150;65", "superbwarfare:bomb_release;30;10", "superbwarfare:missile_start;30;10", "superbwarfare:bomb_reload;30;25", "superbwarfare:jet_lock;30;10", "superbwarfare:jet_lockon;30;10", "superbwarfare:dps_generator_evolve;30;10", "superbwarfare:melee_hit;30;10", "superbwarfare:aurelia_sceptre_fire_1p;150;65", "superbwarfare:aurelia_sceptre_fire_3p;150;65", "superbwarfare:fly_loop;30;10", "superbwarfare:mp_5_fire_1p;150;65", "superbwarfare:mp_5_fire_3p;150;65", "superbwarfare:mp_5_far;250;150", "superbwarfare:mp_5_veryfar;400;300", "superbwarfare:mp_5_fire_1p_s;150;65", "superbwarfare:mp_5_fire_3p_s;150;65", "superbwarfare:mp_5_reload_normal;30;25", "superbwarfare:mp_5_reload_empty;30;25", "superbwarfare:steel_pipe_hit;30;10", "superbwarfare:steel_pipe_drop;30;10", "superbwarfare:qbz_191_fire_1p;150;65", "superbwarfare:qbz_191_fire_1p_s;150;65", "superbwarfare:qbz_191_fire_3p;150;65", "superbwarfare:qbz_191_fire_3p_s;150;65", "superbwarfare:qbz_191_far;250;150", "superbwarfare:qbz_191_veryfar;400;300", "superbwarfare:qbz_191_reload_normal;30;25", "superbwarfare:qbz_191_reload_empty;30;25", "superbwarfare:smoke_grenade_release;30;10", "superbwarfare:hand_wheel_rot;30;10", "superbwarfare:medium_rocket_fire;150;65", "superbwarfare:ty63_reload;30;25"]
#====================================================================
# Sound Attract Mod - Stealth & Detection Configuration
#====================================================================
[sound_attract_main]
#--- Field of View Settings ---
[sound_attract_main.fov]
#The default horizontal Field of View for all mobs not in the override list.
#Represents the width of the vision cone in degrees.
#Range: 0.0 ~ 360.0
defaultHorizontalFov = 200.0
#The default vertical Field of View for all mobs not in the override list.
#Represents the height of the vision cone in degrees.
#Range: 0.0 ~ 360.0
defaultVerticalFov = 135.0
#A list of custom FOV (Field of View) overrides for specific mobs.
#This gives you direct control over the vision cone for any mob.
#Format: "modid:mob_id, horizontal_fov, vertical_fov"
#SPECIAL VALUE: A horizontal FOV of 360 or more grants the mob 360-degree vision (omni-directional).
#Any mob NOT in this list will use the default FOV (200 horizontal, 135 vertical).
customFovOverrides = ["minecraft:spider, 360.0, 360.0", "minecraft:cave_spider, 360.0, 360.0", "minecraft:phantom, 200.0, 280.0", "minecraft:vex, 200.0, 280.0", "minecraft:allay, 200.0, 280.0", "minecraft:bat, 20.0, 20.0", "minecraft:parrot, 200.0, 280.0", "minecraft:ghast, 200.0, 280.0", "minecraft:blaze, 200.0, 280.0", "minecraft:axolotl, 270.0, 90.0", "minecraft:camel, 270.0, 90.0", "minecraft:chicken, 270.0, 90.0", "minecraft:cow, 270.0, 90.0", "minecraft:donkey, 270.0, 90.0", "minecraft:goat, 270.0, 90.0", "minecraft:horse, 270.0, 90.0", "minecraft:mule, 270.0, 90.0", "minecraft:mooshroom, 270.0, 90.0", "minecraft:panda, 270.0, 90.0", "minecraft:pig, 270.0, 90.0", "minecraft:rabbit, 270.0, 90.0", "minecraft:sheep, 270.0, 90.0", "minecraft:sniffer, 270.0, 90.0", "minecraft:strider, 270.0, 90.0", "minecraft:turtle, 270.0, 90.0", "minecraft:villager, 270.0, 90.0", "minecraft:wandering_trader, 270.0, 90.0", "minecraft:slime, 270.0, 120.0", "minecraft:magma_cube, 270.0, 120.0", "minecraft:cod, 300.0, 100.0", "minecraft:pufferfish, 300.0, 100.0", "minecraft:salmon, 300.0, 100.0", "minecraft:squid, 300.0, 100.0", "minecraft:glow_squid, 300.0, 100.0", "minecraft:tadpole, 300.0, 100.0", "minecraft:tropical_fish, 300.0, 100.0", "minecraft:cat, 140.0, 140.0", "minecraft:ocelot, 140.0, 140.0", "minecraft:wolf, 140.0, 140.0", "minecraft:polar_bear, 140.0, 140.0", "minecraft:fox, 140.0, 140.0", "minecraft:frog, 140.0, 140.0", "minecraft:zombie, 200.0, 135.0", "minecraft:husk, 200.0, 135.0", "minecraft:drowned, 200.0, 135.0", "minecraft:skeleton, 200.0, 135.0", "minecraft:stray, 200.0, 135.0", "minecraft:pillager, 200.0, 135.0", "minecraft:vindicator, 200.0, 135.0", "minecraft:evoker, 200.0, 135.0", "minecraft:witch, 200.0, 135.0", "minecraft:piglin, 200.0, 135.0", "minecraft:piglin_brute, 200.0, 135.0", "minecraft:iron_golem, 200.0, 135.0", "minecraft:creeper, 90.0, 90.0", "minecraft:enderman, 180.0, 240.0", "minecraft:guardian, 320.0, 180.0", "minecraft:elder_guardian, 320.0, 180.0", "minecraft:ravager, 160.0, 100.0", "minecraft:hoglin, 160.0, 100.0", "minecraft:zoglin, 160.0, 100.0", "minecraft:shulker, 270.0, 45.0"]
#A list of mobs that will COMPLETELY IGNORE the FOV system.
#Use this for bosses or mobs from other mods with special AI that might break.
#Format: "modid:mob_id"
#Note: Certain vanilla mobs like the Warden are always excluded for stability and cannot be removed.
fovExclusionList = ["minecraft:warden"]
#Blocks in this allowlist are treated as see-through for line-of-sight checks (e.g., modded glass).
#Format: ['modid:block_id']
nonBlockingVisionAllowList = []
#General Stealth System Settings
[sound_attract_main.general_stealth_settings]
#Master switch for all custom stealth mechanics. If false, mobs use vanilla detection (modified only by maxStealthDetectionRange if set).
enableStealthMechanics = true
#How often (in ticks) the server checks ongoing stealth situations (e.g., for grace period). Lower is more responsive but higher performance cost.
#20 ticks = 1 second.
#Range: 5 ~ 100
stealthCheckInterval = 40
#How long (in ticks) a mob will keep targeting a player after losing direct detection (due to stealth) before giving up.
#Set to 0 for no grace period (immediate de-aggro if stealth conditions met).
#Range: 0 ~ 200
stealthGracePeriodTicks = 100
#Base detection ranges for players based on their stance.
#These are modified by all other factors (light, camo, etc.).
[sound_attract_main.player_stance_detection_ranges]
#Base detection range (in blocks) when a player is standing.
#Range: 0.0 ~ 128.0
standingDetectionRangePlayer = 48.0
#Base detection range (in blocks) when a player is sneaking (crouching).
#Range: 0.0 ~ 128.0
sneakingDetectionRangePlayer = 20.0
#Base detection range (in blocks) when a player is crawling (e.g., in a 1-block high gap).
#Range: 0.0 ~ 128.0
crawlingDetectionRangePlayer = 4.0
#How environmental conditions affect stealth.
[sound_attract_main.environmental_factors]
#Light level effects on detection.
[sound_attract_main.environmental_factors.light_level]
#The light level (0-15) considered neutral (no bonus or penalty to detection).
#Range: 0 ~ 15
neutralLightLevel = 7
#Modifier strength per point of light difference from 'neutralLightLevel'. Higher = more impact.
#Positive values increase detection in bright light / decrease in dark. Negative values would invert this.
#Range: 0.0 ~ 0.5
lightLevelSensitivity = 0.3
#Minimum multiplier that can be applied due to light levels (e.g., 0.2 for max 80% range reduction in total darkness).
#Range: 0.01 ~ 1.0
minLightFactor = 0.2
#Maximum multiplier that can be applied due to light levels (e.g., 2.0 for max 100% range increase in full brightness).
#Range: 1.0 ~ 5.0
maxLightFactor = 3.0
#Horizontal radius (blocks) around player to sample for average/effective light level.
#Range: 0 ~ 5
lightSampleRadiusHorizontal = 2
#Vertical radius (blocks) around player to sample for average/effective light level.
#Range: 0 ~ 3
lightSampleRadiusVertical = 1
#Weather effects on detection.
[sound_attract_main.environmental_factors.weather]
#Detection range multiplier when raining (e.g., 0.8 for 20% range reduction).
#Range: 0.1 ~ 1.0
rainStealthFactor = 0.8
#Detection range multiplier when thundering (overrides rain factor if active).
#Range: 0.1 ~ 1.0
thunderStealthFactor = 0.6
#How player actions affect their detectability.
[sound_attract_main.player_actions]
#Movement effects on detection.
[sound_attract_main.player_actions.movement]
#Detection range multiplier when player is moving (not sneaking/crawling). >1.0 means easier to detect.
#Set to 1.0 for no penalty.
#Range: 1.0 ~ 3.0
movementStealthPenalty = 1.2
#Detection range multiplier if player is NOT moving above threshold (e.g. 0.8 for 20% harder to detect).
#Set to 1.0 for no bonus when stationary. Applies unless sprinting/crawling.
#Range: 0.1 ~ 1.0
stationaryStealthBonusFactor = 0.8
#Squared distance threshold to consider a player as 'moving' per stealth check interval.
#Range: 1.0E-4 ~ 0.1
movementThreshold = 0.003
#Invisibility potion effect.
[sound_attract_main.player_actions.invisibility]
#Detection range multiplier when player has Invisibility effect (e.g., 0.1 for 90% range reduction).
#Range: 0.0 ~ 1.0
invisibilityStealthFactor = 0.1
#Settings for item, armor and environmental camouflage.
[sound_attract_main.camouflage_system]
#Master switch for all camouflage effects (item-based and environmental).
enableCamouflage = true
#Enable to penalize players for holding items in their hands, making them more detectable.
enableHeldItemPenalty = true
#Factor by which detection range is multiplied if the player is holding any item in main or off-hand (e.g., 1.1 = 10% more detectable per occupied hand). This is applied before enchantment penalties on held items.
#Range: 1.0 ~ 2.0
heldItemPenaltyFactor = 1.1
#Enable to penalize players for wearing enchanted armor or holding enchanted items.
enableEnchantmentPenalty = true
#Factor by which detection range is multiplied for *each* piece of visibly enchanted armor (not concealed) (e.g., 1.05 = 5% more detectable per piece).
#Range: 1.0 ~ 2.0
armorEnchantmentPenaltyFactor = 1.15
#Factor by which detection range is multiplied if a visibly enchanted item (not concealed) is held in main or off-hand (e.g., 1.1 = 10% more detectable per enchanted held item).
#Range: 1.0 ~ 2.0
heldItemEnchantmentPenaltyFactor = 1.15
#Camouflage provided by wearing specific armor items.
[sound_attract_main.camouflage_system.item_camouflage]
#List of item IDs (e.g., 'modid:godly_helmet') basically a set that will work everywhere.
camouflageArmorItems = []
#If true, 'fullArmorStealthBonus' applies only if wearing a complete set of 4 armor pieces, ALL of which are from 'camouflageArmorItems'.
#If false, benefits are gained per piece (see per-slot effectiveness) or via 'fullArmorStealthBonus' if a full set of *any* 4 listed items is worn.
requireFullSetForCamouflageBonus = false
#Stealth effectiveness factor (0.0 to 1.0) if wearing a 'full set' of listed camouflage items.
#Final range *= (1.0 - bonus). E.g., 0.2 = 20% detection range reduction.
#Range: 0.0 ~ 1.0
fullArmorStealthBonus = 0.85
#Effectiveness of a listed helmet if per-piece bonuses apply.
#Range: 0.0 ~ 1.0
helmetCamouflageEffectiveness = 0.15
#Effectiveness of a listed chestplate if per-piece bonuses apply.
#Range: 0.0 ~ 1.0
chestplateCamouflageEffectiveness = 0.3
#Effectiveness of a listed leggings if per-piece bonuses apply.
#Range: 0.0 ~ 1.0
leggingsCamouflageEffectiveness = 0.25
#Effectiveness of a listed boots if per-piece bonuses apply.
#Range: 0.0 ~ 1.0
bootsCamouflageEffectiveness = 0.15
#Maximum total effectiveness (0.0 to 1.0) from all item camouflage sources (full set or sum of pieces). Prevents range from becoming too small.
#Range: 0.0 ~ 0.99
maxCamouflageEffectivenessCap = 0.85
#If 'requireFullSetForCamouflageBonus' is TRUE, but player isn't wearing a full set of listed items, should per-piece bonuses still apply for the listed items they ARE wearing?
allowPartialBonusIfFullSetRequired = true
#Camouflage based on matching armor color to the surrounding environment.
[sound_attract_main.camouflage_system.environmental_camouflage]
#Enable camouflage based on armor color matching the environment.
enableEnvironmentalCamouflage = true
#If true, significantly mismatched armor/environment colors will INCREASE detection range.
enableEnvironmentalMismatchPenalty = true
#Maximum effectiveness factor (0.0 to 1.0) if armor color perfectly matches environment.
#Final range *= (1.0 - effectiveness).
#Range: 0.0 ~ 1.0
environmentalCamouflageMaxEffectiveness = 0.7
#Tolerance for color matching (sum of absolute RGB differences). Lower = stricter match needed.
#Range: 0 ~ 765
environmentalCamouflageColorMatchThreshold = 90
#Detection range multiplier if armor color SIGNIFICANTLY mismatches the environment (e.g., 1.5 for 50% INCREASED range).
#Applies if color difference exceeds 'environmentalMismatchThreshold'. Set to 1.0 to disable penalty.
#Range: 1.0 ~ 3.0
environmentalMismatchPenaltyFactor = 1.3
#Color difference threshold beyond which the 'environmentalMismatchPenaltyFactor' applies.
#Should be greater than 'environmentalCamouflageColorMatchThreshold'. E.g., if match threshold is 90, mismatch could be 200.
#Range: 0 ~ 765
environmentalMismatchThreshold = 100
#If true, only dyed leather armor contributes its color. If false, uses 'customArmorColors' for non-leather/undyed items.
environmentalCamouflageOnlyDyedLeather = false
#Map of item ID to average hex color (e.g., 'minecraft:iron_chestplate;#A0A0A0').
#Used for environmental camouflage if 'environmentalCamouflageOnlyDyedLeather' is false.
customArmorColors = ["minecraft:leather_helmet;#804F27", "minecraft:leather_chestplate;#804F27", "minecraft:leather_leggings;#804F27", "minecraft:leather_boots;#804F27", "minecraft:chainmail_helmet;#58585A", "minecraft:chainmail_chestplate;#58585A", "minecraft:chainmail_leggings;#58585A", "minecraft:chainmail_boots;#58585A", "minecraft:iron_helmet;#CACACA", "minecraft:iron_chestplate;#CACACA", "minecraft:iron_leggings;#CACACA", "minecraft:iron_boots;#CACACA", "minecraft:golden_helmet;#F5E54C", "minecraft:golden_chestplate;#F5E54C", "minecraft:golden_leggings;#F5E54C", "minecraft:golden_boots;#F5E54C", "minecraft:diamond_helmet;#39D5CD", "minecraft:diamond_chestplate;#39D5CD", "minecraft:diamond_leggings;#39D5CD", "minecraft:diamond_boots;#39D5CD", "minecraft:netherite_helmet;#403B3B", "minecraft:netherite_chestplate;#403B3B", "minecraft:netherite_leggings;#403B3B", "minecraft:netherite_boots;#403B3B", "minecraft:turtle_helmet;#7B8834"]
#Radius (blocks) around player to sample for average environmental color.
#Range: 0 ~ 3
envColorSampleRadius = 1
#Starting Y-offset relative to player pos for env color sampling (e.g., 0 for player's feet level).
#Range: -2 ~ 2
envColorSampleYOffsetStart = 0
#Ending Y-offset relative to player pos for env color sampling (e.g., -1 for blocks at feet and one below). Must be <= YOffsetStart.
#Range: -2 ~ 2
envColorSampleYOffsetEnd = -1
#Absolute min/max detection ranges after all modifiers are applied.
[sound_attract_main.detection_range_limits]
#The absolute minimum detection range (in blocks). Player cannot be harder to detect than this, regardless of modifiers.
#Set > 0 to prevent mobs from being completely blind unless intended by other mechanics.
#Range: 0.0 ~ 64.0
minStealthDetectionRange = 0.5
#The absolute maximum detection range (in blocks). Player cannot be easier to detect than this.
#Also used as default range if 'enableStealthMechanics' is false.
#Range: 1.0 ~ 256.0
maxStealthDetectionRange = 64.0
#Tacz Integration Configuration
[tacz]
#Enable Tacz gun integration
enableTaczIntegration = true
#Tacz reload sound range (fallback, calculated as shootDb/20.0 for known guns)
#Range: 1.0 ~ 128.0
taczReloadRange = 9.0
#Tacz reload sound weight (fallback, calculated as (shootDb/10.0)/2.0 for known guns)
#Range: 0.0 ~ 10.0
taczReloadWeight = 1.0
#Tacz shoot sound range (fallback, calculated as db for known guns)
#Range: 1.0 ~ 256.0
taczShootRange = 140.0
#Tacz shoot sound weight (fallback, calculated as db/10.0 for known guns)
#Range: 0.0 ~ 10.0
taczShootWeight = 10.0
#Tacz gun shoot decibels. Format: 'modid:item;decibels'. Example: 'tacz:akm;120.0'
taczGunShootDecibels = ["suffuse:aks74u;157.0", "suffuse:python;155.0", "suffuse:tec9;160.0", "suffuse:tt33;158.0", "tacz:deagle_golder;164.0", "suffuse:tti2011;158.0", "tacz:m1911;157.0", "suffuse:trapper50cal;172.0", "tacz:deagle;164.0", "tacz:cz75;157.0", "tacz:p320;157.0", "suffuse:viper2011;158.0", "tacz:m700;160.0", "tacz:m107;171.0", "tacz:m95;172.0", "tacz:ai_awp;170.0", "suffuse:aw50;173.0", "suffuse:gm6;172.0", "suffuse:m200;173.0", "suffuse:xm7;165.0", "suffuse:qbu191;164.0", "suffuse:n4;161.0", "suffuse:qbz951;160.0", "suffuse:ash12;165.0", "suffuse:qbz951s;160.0", "suffuse:qbz192;159.0", "suffuse:an94;161.0", "tacz:sks_tactical;159.0", "tacz:ak47;159.0", "tacz:type_81;158.0", "tacz:qbz_95;160.0", "tacz:hk416d;161.0", "tacz:m4a1;159.0", "tacz:m16a1;159.0", "tacz:hk_g3;161.0", "tacz:m16a4;159.0", "tacz:mk14;162.0", "tacz:scar_l;161.0", "tacz:scar_h;162.0", "tacz:aug;160.0", "tacz:db_short;165.0", "tacz:db_long;166.0", "tacz:m870;165.0", "tacz:aa12;161.0", "tacz:ump45;158.0", "tacz:hk_mp5a5;158.0", "tacz:uzi;157.0", "suffuse:pp19;157.0", "tacz:vector45;158.0", "tacz:p90;156.0", "tacz:rpg7;180.0", "tacz:m320;172.0", "suffuse:m79;172.0", "suffuse:pkp;165.0", "tacz:m249;165.0", "tacz:rpk;164.0", "tacz:g36k;135.0", "tacz:spr15hb;140.0", "tacz:b93r;125.0", "tacz:glock_17;125.0"]
#Tacz attachment sound reduction. Format: 'modid:item;reduction'. Example: 'tacz:suppressor;15.0'
taczAttachmentReductions = ["tacz:muzzle_brake_cthulhu;-3.0", "tacz:muzzle_brake_pioneer;-3.0", "tacz:muzzle_brake_cyclone_d2;-3.0", "tacz:muzzle_brake_trex;-5.0", "tacz:muzzle_silencer_mirage;35.0", "tacz:muzzle_silencer_vulture;45.0", "tacz:muzzle_silencer_knight_qd;40.0", "tacz:muzzle_silencer_ursus;30.0", "tacz:muzzle_silencer_ptilopsis;30.0", "tacz:muzzle_silencer_phantom_s1;30.0", "tacz:muzzle_compensator_trident;-2.0", "tacz:deagle_golden_long_barrel;20.0"]
#Default reduction value for Tacz attachments if the attachment id is not in the list.
#Range: -300.0 ~ 300.0
taczAttachmentReductionDefault = 20.0
#The base visual detection range (in blocks) when a gunshot occurs, before muzzle attachments are factored in.
#Range: 16.0 ~ 512.0
gunshotBaseDetectionRange = 128.0
#How long (in ticks) the increased detection from a gunshot lasts. 20 ticks = 1 second.
#Range: 1 ~ 200
gunshotDetectionDurationTicks = 60
#Tacz attachment VISUAL FLASH reduction. A positive value reduces flash range, a negative value INCREASES it (e.g., for muzzle brakes)., Format: 'modid:item;reduction_amount'
taczMuzzleFlashReductions = ["tacz:muzzle_silencer_mirage;100.0", "tacz:muzzle_silencer_vulture;110.0", "tacz:muzzle_silencer_knight_qd;105.0", "tacz:muzzle_silencer_ursus;90.0", "tacz:muzzle_silencer_ptilopsis;90.0", "tacz:muzzle_silencer_phantom_s1;90.0", "tacz:muzzle_brake_cthulhu;-10.0", "tacz:muzzle_brake_pioneer;-10.0", "tacz:muzzle_brake_cyclone_d2;-10.0", "tacz:muzzle_brake_trex;-15.0", "tacz:muzzle_compensator_trident;-5.0"]
["Simple VC"]
#Enable Simple Voice Chat (SVC) integration.
#When enabled, voice chat frames generate a dynamic sound whose range scales with the audio's peak level (dBFS).
#Optional: Only takes effect if SVC is installed.
enableVoiceChatIntegration = true
#Base range used when the player is whispering in SVC (before applying dB multiplier).
#Range: 1 ~ 64
voiceChatWhisperRange = 16
#Base range used for normal speaking in SVC (before applying dB multiplier).
#Range: 1 ~ 128
voiceChatNormalRange = 32
#Weight assigned to the generated SVC sound event.
#Range: 0.0 ~ 10.0
voiceChatWeight = 9.0
#Mapping from normalized dB thresholds to range multipliers for SVC.
#Normalized dB is in [0..127], where 0 = silence and 127 = max peak (0 dBFS).
#Each entry format: 'threshold:multiplier'. Entries are evaluated from highest threshold to lowest.
#Defaults replicate the built-in behavior: >=50 -> 1.0, >=30 -> 0.7, >=10 -> 0.3.
voiceChatDbThresholdMap = ["110:2.0", "90:1.8", "75:1.5", "50:1.0", "30:0.7", "10:0.3", "0:0.05"]
#Muffling settings for different block types.
[muffling]
#Enable/disable block muffling effects on sound range/weight.
enableBlockMuffling = true
#Maximum number of blocks to check for muffling between sound source and mob. Higher values are more accurate but more performance intensive.
#Range: 8 ~ 256
maxMufflingBlocksToCheck = 16
#Sound muffling factor for wool blocks. Default: 0.15
#Range: 0.0 ~ 1.0
mufflingFactorWool = 0.15
#Sound muffling factor for solid blocks. Default: 0.35
#Range: 0.0 ~ 1.0
mufflingFactorSolid = 0.35
#Sound muffling factor for non-solid blocks. Default: 0.7
#Range: 0.0 ~ 1.0
mufflingFactorNonSolid = 0.7
#Sound muffling factor for thin blocks (e.g., carpets, panes). Default: 0.9
#Range: 0.0 ~ 1.0
mufflingFactorThin = 0.9
#Sound muffling factor for liquid blocks. Default: 0.5
#Range: 0.0 ~ 1.0
mufflingFactorLiquid = 0.5
#Sound muffling factor for air blocks. Default: 1.0
#Range: 0.0 ~ 1.0
mufflingFactorAir = 1.0
#List of custom wool block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customWoolBlocks = []
#List of custom solid block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customSolidBlocks = []
#List of custom non-solid block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customNonSolidBlocks = []
#List of custom thin block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customThinBlocks = []
#List of custom liquid block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customLiquidBlocks = []
#List of custom air block IDs for sound muffling. Format: 'modid:blockid'. Default: empty list.
customAirBlocks = []
[profiles]
#List of special mob profiles. Each profile is a string with 5 parts separated by ';'.
#Format: profileName;mobId;nbtMatcher;soundOverridesString;detectionOverridesString
#- profileName: A unique name (e.g., 'AlphaZombie').
#- mobId: Mob's resource location (e.g., 'minecraft:zombie'). Make sure it is in attractedEntities. Use '*' or empty to match any mob if NBT is specific.
#- nbtMatcher: Any compound NBT (e.g., '{IsAlpha:1b}'). Leave empty for no NBT matching.
#- soundOverrides: Comma-separated 'soundId:range:weight' (e.g., 'minecraft:entity.player.hurt:30.0:2.0,minecraft:block.chest.open:25.0:1.5'). Leave empty for no overrides, and make sure the sound IDs are in the soundIdWhitelist.
#- detectionOverrides: Comma-separated 'stanceName:value' (e.g., 'standing:50.0,sneaking:25.0'). Stances: standing, sneaking, crawling. Leave empty for no overrides.
#Example: AlphaZombie;minecraft:zombie;{IsAlpha:1b};minecraft:entity.player.hurt:30.0:2.0;standing:50.0,sneaking:25.0
#To add more profiles, just add more strings to the list.
specialMobProfilesRaw = ["GreedyGoblin;minecraft:piglin;;minecraft:block.chest.open:30.0:2.5,minecraft:entity.player.death:50.0:3.0;standing:40.0,sneaking:20.0,crawling:10.0", "SmartZombie;minecraft:zombie;{IsAlpha:1b};minecraft:entity.player.hurt:30.0:2.0;standing:80.0,sneaking:45.0,crawling:15.0", "InsaneVillager;minecraft:villager;;minecraft:wooden_door.open:25.0:1.5,minecraft:block.barrel.open:20.0:1.0;"]
#List of special player profiles. Each string has 3 parts separated by ';'.
#Format: profileName;nbtMatcher;detectionOverridesString
#- profileName: A unique name (e.g., 'FelineOrigin').
#- nbtMatcher: Any compound NBT to match on the player (capabilities included). Use valid SNBT. Keys containing ':' must be quoted (e.g., '{"ForgeCaps":{"origins:origins":{"Origins":{"origins:origin":"origins:feline"}}}}'). Leave empty to match all players.
#- detectionOverridesString: Comma-separated 'stanceName:value' (e.g., 'standing:40.0,sneaking:20.0,crawling:10.0'). Valid stances: standing, sneaking, crawling.
#Example: FelineOrigin;{"ForgeCaps":{"origins:origins":{"Origins":{"origins:origin":"origins:feline"}}}};standing:24.0,sneaking:10.0,crawling:3.0
specialPlayerProfilesRaw = ["FelineOrigin;{\"ForgeCaps\":{\"origins:origins\":{\"Origins\":{\"origins:origin\":\"origins:feline\"}}}};standing:24.0,sneaking:10.0,crawling:3.0", "DinosaurHatched;{\"ForgeCaps\":{\"fossil:player\":{\"HatchedDinosaur\":1b}}};standing:50.0"]