From 5ce243dc21c18ca15892803ee9472280f7119041 Mon Sep 17 00:00:00 2001 From: materus Date: Sat, 13 Sep 2025 22:37:13 +0200 Subject: [PATCH] Add back zombie awareness --- config/soundattract-common.toml | 471 ------------------ config/zombieawareness/ClientConfig.toml | 8 + config/zombieawareness/Features.toml | 35 ++ config/zombieawareness/General.toml | 67 +++ config/zombieawareness/MobLists.toml | 8 + .../zombieawareness/PlayerRulesAndLists.toml | 12 + index.toml | 34 +- mods/attract-to-sound.pw.toml | 13 - mods/zombie-awareness.pw.toml | 13 + pack.toml | 2 +- 10 files changed, 169 insertions(+), 494 deletions(-) delete mode 100644 config/soundattract-common.toml create mode 100644 config/zombieawareness/ClientConfig.toml create mode 100644 config/zombieawareness/Features.toml create mode 100644 config/zombieawareness/General.toml create mode 100644 config/zombieawareness/MobLists.toml create mode 100644 config/zombieawareness/PlayerRulesAndLists.toml delete mode 100644 mods/attract-to-sound.pw.toml create mode 100644 mods/zombie-awareness.pw.toml diff --git a/config/soundattract-common.toml b/config/soundattract-common.toml deleted file mode 100644 index 911a5fb..0000000 --- a/config/soundattract-common.toml +++ /dev/null @@ -1,471 +0,0 @@ - -#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.0–1.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"] - diff --git a/config/zombieawareness/ClientConfig.toml b/config/zombieawareness/ClientConfig.toml new file mode 100644 index 0000000..c405d26 --- /dev/null +++ b/config/zombieawareness/ClientConfig.toml @@ -0,0 +1,8 @@ + +#General mod settings +[general] + #- + client_renderBlood = true + #- + client_debugSensesVisual = false + diff --git a/config/zombieawareness/Features.toml b/config/zombieawareness/Features.toml new file mode 100644 index 0000000..bf77b36 --- /dev/null +++ b/config/zombieawareness/Features.toml @@ -0,0 +1,35 @@ + +#General mod settings +[general] + #Spawn sound sense sources for monsters to track + awareness_Sound = true + #Spawn scent/blood sense sources for monsters to track + awareness_Scent = true + #Monsters see light near player and move towards it + awareness_Light = true + #Growling zombies attracts other zombies + noisyZombies = true + #Pistons cause sound sense sources attracting monsters + noisyPistons = true + #Causes monsters to horde up and wander the surface together to random points + wanderingHordes = true + #How often in seconds we set a random point around a player for mobs to wander to from far away. Makes mobs path around more, dont use if you have TPS performance issues. + #Range: > -2147483648 + frequencyOfWanderingHordesPerPlayer = 30 + #How loud sounds should be when you are alerted that a mob is coming to investigate an area near you + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + soundVolumeInvestigate = 0.0 + #How loud sounds should be for a mob targetting you + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + soundVolumeAlertTarget = 0.0 + #Enhanced mobs will make a sound when they target you + soundAlerts = false + #Any hostile mob that targets you will make a sound, even if not enhanced + soundAlertsForAllAttackingMobs = false + #Enhanced mobs will make a sound when they are investigating a sense near you + soundInvestigates = false + #Uses a different kind of mob alert noise, might break immersion a bit ;) + soundUseAlternateAlertNoise = false + #Only spawn sound sense entities in Overworld + awareness_Sound_OverworldOnly = false + diff --git a/config/zombieawareness/General.toml b/config/zombieawareness/General.toml new file mode 100644 index 0000000..baa166c --- /dev/null +++ b/config/zombieawareness/General.toml @@ -0,0 +1,67 @@ + +#General mod settings +[general] + #Max awareness range for zombies + #Range: > -2147483648 + maxPFRangeSense = 128 + #Prevent non zombies from being attracted to light + awareness_Light_OnlyZombies = true + #Custom targetting sight range on top of vanilla sight based targetting + #Range: > -2147483648 + sightRange = 16 + #Always target closest player [performance sensitive] + omniscient = false + #skips line of sight check on targetting [performance sensitive] + seeThroughWalls = false + #Effects how far monsters will sense scents from + #Range: > -2147483648 + scentStrength = 60 + #Effects how far monsters will sense sound sources from + #Range: > -2147483648 + soundStrength = 60 + #max rate of spawning sound sources in milliseconds + #Range: > -2147483648 + frequentSoundThreshold = 1000 + #Range of extra random speed to give a zombie for extra spawns and zombie duplications, eg: 0 = no boost, 1 = up to double speed (works for my extra spawned mobs only) + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + zombieRandSpeedBoost = 0.3 + #The amount of delay in game ticks between processing mobs with enhanced AI, less is more frequent [performance sensitive] + #Range: > -2147483648 + tickRateAILoop = 5 + #how frequently the mod iterates all players, effects rates, less is more frequent + #Range: > -2147483648 + tickRatePlayerLoop = 20 + #How long before a mob can move around again to track a light source, or scent, or sound, increase number to reduce performance impact of mod if needed + #Range: > -2147483648 + tickCooldownBetweenPathfinds = 300 + #How likely zombies making noise near you will attract other zombies, higher = less likely, 0 = every time they make a noise + #Range: > -2147483648 + noisyZombiesReinforceOddsTo1 = 5 + #- + debugConsole = false + #- + debugConsoleOmniscient = false + #- + debugConsoleSuperDetailed = false + #Minimum distance required between active sense sources, prevents spamming sources [performance sensitive] + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + extraScentCutoffRange = 3.0 + #Max strength allowed for a sense, in case senses get a super high base strength or large buff + #Range: > -2147483648 + senseMaxStrength = 300 + #Days before all of the mods features will be activated + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + daysBeforeFeaturesActivate = 0.0 + #Block breaks cause sound senses to spawn + blockBreakEvent_Active = true + #Block mining before it breaks cause sound senses to spawn + blockHittingEvent_Active = true + #Odds of hitting a block causing a sound sense, rolled per tick + #Range: > -2147483648 + blockHittingEvent_OddsTo1 = 20 + #Only spawn sound senses for players, if false, machines and other things will cause them too + blockBreakEvent_PlayersOnly = false + #Every 2 seconds, the percent chance a mob has to look for an active sense in range, 100 = nearly instant, 10 = slowly over time, performance sensitive setting, higher = more frequent pathfind attempts + #Range: > -2147483648 + findSense_PercentChance = 10 + diff --git a/config/zombieawareness/MobLists.toml b/config/zombieawareness/MobLists.toml new file mode 100644 index 0000000..41878d8 --- /dev/null +++ b/config/zombieawareness/MobLists.toml @@ -0,0 +1,8 @@ + +#General mod settings +[general] + #Mobs enhanced by zombie awareness + enhancedMobs = ["minecraft:zombie", "minecraft:husk", "minecraft:creeper", "minecraft:skeleton", "minecraft:stray", "minecraft:witch", "minecraft:zombie_villager"] + #This is a list to use as a reference for your modpack for mobs you might want to enhance, if these mobs also walk on the ground, they will probably work if you add them to enhancedMobs + enhanceableMobs = ["minecraft:blaze", "minecraft:cave_spider", "minecraft:creeper", "minecraft:drowned", "minecraft:elder_guardian", "minecraft:ender_dragon", "minecraft:enderman", "minecraft:endermite", "minecraft:evoker", "minecraft:ghast", "minecraft:giant", "minecraft:guardian", "minecraft:hoglin", "minecraft:husk", "minecraft:illusioner", "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:warden", "minecraft:witch", "minecraft:wither", "minecraft:wither_skeleton", "minecraft:zoglin", "minecraft:zombie", "minecraft:zombie_villager", "minecraft:zombified_piglin", "gravestone:player_ghost", "minecolonies:barbarian", "minecolonies:archerbarbarian", "minecolonies:chiefbarbarian", "minecolonies:pirate", "minecolonies:archerpirate", "minecolonies:chiefpirate", "minecolonies:mummy", "minecolonies:archermummy", "minecolonies:pharao", "minecolonies:amazon", "minecolonies:amazonspearman", "minecolonies:amazonchief", "minecolonies:shieldmaiden", "minecolonies:norsemenarcher", "minecolonies:norsemenchief", "minecolonies:drownedpirate", "minecolonies:drownedarcherpirate", "minecolonies:drownedchiefpirate", "minecolonies:campbarbarian", "minecolonies:camparcherbarbarian", "minecolonies:campchiefbarbarian", "minecolonies:camppirate", "minecolonies:camparcherpirate", "minecolonies:campchiefpirate", "minecolonies:campamazon", "minecolonies:campamazonspearman", "minecolonies:campamazonchief", "minecolonies:campmummy", "minecolonies:camparchermummy", "minecolonies:camppharao", "minecolonies:campshieldmaiden", "minecolonies:campnorsemenarcher", "minecolonies:campnorsemenchief", "minecolonies:campdrownedpirate", "minecolonies:campdrownedarcherpirate", "minecolonies:campdrownedchiefpirate", "vanillabackport:creaking", "ars_nouveau:wilden_hunter", "ars_nouveau:wilden_stalker", "ars_nouveau:wilden_guardian", "ars_nouveau:wilden_boss", "ars_elemental:fire_mage", "ars_elemental:water_mage", "ars_elemental:air_mage", "ars_elemental:earth_mage", "ars_elemental:summon_vhex", "alexsmobs:bone_serpent", "alexsmobs:bone_serpent_part", "alexsmobs:crimson_mosquito", "alexsmobs:centipede_head", "alexsmobs:mimicube", "alexsmobs:soul_vulture", "alexsmobs:guster", "alexsmobs:warped_mosco", "alexsmobs:straddler", "alexsmobs:dropbear", "alexsmobs:void_worm", "alexsmobs:void_worm_part", "alexsmobs:rocky_roller", "alexsmobs:skelewag", "alexsmobs:farseer", "alexsmobs:murmur", "alexsmobs:murmur_head", "savage_and_ravage:skeleton_villager", "savage_and_ravage:griefer", "savage_and_ravage:trickster", "savage_and_ravage:iceologer", "savage_and_ravage:executioner", "endergetic:charger_eetle", "endergetic:glider_eetle", "endergetic:brood_eetle", "upgrade_aquatic:thrasher", "upgrade_aquatic:great_thrasher", "upgrade_aquatic:flare", "quark:forgotten", "quark:wraith", "create_sa:brass_drone"] + diff --git a/config/zombieawareness/PlayerRulesAndLists.toml b/config/zombieawareness/PlayerRulesAndLists.toml new file mode 100644 index 0000000..7994008 --- /dev/null +++ b/config/zombieawareness/PlayerRulesAndLists.toml @@ -0,0 +1,12 @@ + +#General mod settings +[general] + #Uses list of people to have omniscient targetting effect + whiteListUsedOmniscient = false + #Uses list of people to have senses spawned for + whiteListUsedSenses = false + #List of people to have omniscient targetting effect + whitelistOmniscientTargettedPlayers = "Corosus, SomeDude" + #List of people to have senses spawned for + whitelistSenses = "Corosus, SomeDude" + diff --git a/index.toml b/index.toml index ac103b5..032572e 100644 --- a/index.toml +++ b/index.toml @@ -315,10 +315,6 @@ hash = "f85d096050d7f762e84eafd756599ba7a6468e37df45843ee119d0071c8c714f" file = "config/sodiumextras-client.toml" hash = "a6d1a2d26e596953c4b93e19c593ffc7d5d7359cb3a5cfcaad61c0c0e2bd7a2c" -[[files]] -file = "config/soundattract-common.toml" -hash = "900e6fdf9b3695470421b0f2f431c6dbdb441cee39c26b450bee1eb3b4307fdf" - [[files]] file = "config/sparsestructures.json5" hash = "9b2e5442da12a3fe3239825a25e09394ef95d917b5e5a11de9c4d39227a9b2a9" @@ -355,6 +351,26 @@ hash = "cf83d2963af54f8d4f9ed6378b5cba3ed04ac6dfee36a814970aad6e40d1ef99" file = "config/waystones-common.toml" hash = "3956169e4f69eecbf0c56aab31e3a53bc723be439557f610e1e5bd235af022e1" +[[files]] +file = "config/zombieawareness/ClientConfig.toml" +hash = "97ffa3854e27b7fac0de477bb55553676eb7fe1123bfcd89c0df7218f1de1dae" + +[[files]] +file = "config/zombieawareness/Features.toml" +hash = "02b93fd5d6f64f680b3c68c31cf913813692aa54bd536f9dcbf69dfb24052f0f" + +[[files]] +file = "config/zombieawareness/General.toml" +hash = "296a90350caf180aafa2d4be57119ecf034cf6a4695b183f27f6033e04cb3bc7" + +[[files]] +file = "config/zombieawareness/MobLists.toml" +hash = "d239c90314701613d0366598c0ba23c26aa34573f6f67b81f8b471d7574f8c33" + +[[files]] +file = "config/zombieawareness/PlayerRulesAndLists.toml" +hash = "0c9cb7ce493414f2a4b846417db297b8c24ec9950e5e2630d1cfff387568f5ae" + [[files]] file = "defaultconfigs/create-server.toml" hash = "d3eae35956575f4602638eba97a6b078973f4b2cb507c82b4e60f9cefe6e542e" @@ -563,11 +579,6 @@ file = "mods/asyncparticles.pw.toml" hash = "d635c91caf90f0b2093a3a6e6c0ec730c6a63ef33005e9ae33fd3c943a1ec8dd" metafile = true -[[files]] -file = "mods/attract-to-sound.pw.toml" -hash = "9720d3412ffdce6c9a4f8c254f8380a3cbd94582a5855e7ffb9f8fd32f6e28bd" -metafile = true - [[files]] file = "mods/automobility.pw.toml" hash = "e0b0d4ffb66d813a4e6da0910d8e050bbfd8e16731dacb78fc5478029932c473" @@ -2797,6 +2808,11 @@ file = "mods/zeta.pw.toml" hash = "4bcf74d4569def60ca031d565350952c2edcc420f26278bc7997654a77b6fb4d" metafile = true +[[files]] +file = "mods/zombie-awareness.pw.toml" +hash = "7a4b8e290aa6cd5602482fce48c71a2822a2380f35a586cd7444b3f1680629e8" +metafile = true + [[files]] file = "mods/zombie-horse-spawn.pw.toml" hash = "41e9844d70e61b06c0c79d4b23b1b34aa31a23d5256e8c203d6ec5bc8a4649ef" diff --git a/mods/attract-to-sound.pw.toml b/mods/attract-to-sound.pw.toml deleted file mode 100644 index c080530..0000000 --- a/mods/attract-to-sound.pw.toml +++ /dev/null @@ -1,13 +0,0 @@ -name = "Attract to Sound ([NEO]Forge/Fabric): Sound & Stealth." -filename = "forge_soundattract_1.20.1-4.1.1.jar" -side = "both" - -[download] -url = "https://cdn.modrinth.com/data/zZluixcp/versions/2wOb7UrM/forge_soundattract_1.20.1-4.1.1.jar" -hash-format = "sha512" -hash = "b4098e399d205a85d51d66ffaa502f6dadfd92f30c73621d3b9c3505808540415ec14b7551853330f80cddf6bccf43ac8731de3eabffd66e6ebf40eccf20a159" - -[update] -[update.modrinth] -mod-id = "zZluixcp" -version = "2wOb7UrM" diff --git a/mods/zombie-awareness.pw.toml b/mods/zombie-awareness.pw.toml new file mode 100644 index 0000000..8df2c40 --- /dev/null +++ b/mods/zombie-awareness.pw.toml @@ -0,0 +1,13 @@ +name = "Zombie Awareness" +filename = "zombieawareness-1.20.1-1.13.1.jar" +side = "both" + +[download] +url = "https://cdn.modrinth.com/data/mMTOWOaA/versions/vmo9rLxO/zombieawareness-1.20.1-1.13.1.jar" +hash-format = "sha512" +hash = "16f33ffaa52c208c4239a35bc2ce268e0b56bec81d37a6120aa7708e64d806399c115d54d915f03c88bf9e44fdea01b0dc201816cd0ffd2f96601ae2ba3db337" + +[update] +[update.modrinth] +mod-id = "mMTOWOaA" +version = "vmo9rLxO" diff --git a/pack.toml b/pack.toml index 012ba82..dead6b8 100644 --- a/pack.toml +++ b/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "121d920fc85ca0f2b7abb57db24b376aa7de6ab09889a74ceaf2a1ea8c098bec" +hash = "bbae5fc9dcbbabefeb52057a8a77b49f0d25be97d9223c87f1963994618a6d4f" [versions] forge = "47.4.8"