← Назад к ресурсам

Sound Culling

Dynamically limits and dampens overlapping sounds to reduce audio clutter and improve performance in sound-heavy areas.

Modrinth optimization utility

Описание

# Sound Culling Sound Culling is a client-side Minecraft mod that reduces repetitive sounds in busy areas such as farms, spawner rooms and machinery. It can lower a sound's volume or prevent it from starting when nearby sound activity exceeds the configured limits. The mod tracks recent sound events by location and source. Each decision can consider repetition, regional activity, sound category, distance, direction and the current event rate. A single noisy source has a limited contribution to the shared regional count, while repeated sounds from that source are still detected. Sound Culling only changes client audio. It does not alter entities, blocks, gameplay or server behaviour, and it does not need to be installed on the server. ## Features - Rejects excessive sounds before they start an audio channel. - Dampens sounds when full rejection is unnecessary. - Adjusts limits as the overall sound event rate rises. - Tracks nearby cells to avoid sharp changes at region boundaries. - Limits the influence of one source on the regional sound budget. - Re-evaluates looping and tickable sounds with gradual volume changes. - Gives player feedback sounds additional protection during ordinary culling. - Supports exact sound IDs, wildcard patterns and full mod namespaces. - Shows recent sounds, event counts and session statistics in-game. - Includes Balanced, Performance, Aggressive and Custom presets. - Allows playback to continue when sound evaluation encounters a compatible runtime error. Music and relative sounds, including interface audio, are excluded. Sounds that Minecraft already considers outside their audible range are not added to the tracker. ## Configuration Install Mod Menu to open the four-page settings screen: - **Overview** contains the main toggle, presets and session statistics. - **Performance** contains adaptive thresholds and category limits. - **Live Sounds** lists recent sound IDs and provides rule actions. - **Advanced** contains spatial tracking, priority and logging options. The screen does not pause a single-player world, so sound statistics continue to update while it is open. Use **Save & Close** to apply changes. **Cancel** discards pending settings edits. ![Overview settings](https://raw.githubusercontent.com/Cukkoo12/SoundCulling/main/docs/images/overview.png) ![Performance settings](https://raw.githubusercontent.com/Cukkoo12/SoundCulling/main/docs/images/performance.png) ![Live Sounds inspector](https://raw.githubusercontent.com/Cukkoo12/SoundCulling/main/docs/images/live-sounds.png) ![Advanced settings](https://raw.githubusercontent.com/Cukkoo12/SoundCulling/main/docs/images/advanced.png) Settings are stored in: ```text config/soundculling.json ``` Older configuration files are migrated where possible. Invalid numeric values are restricted to supported ranges. If the file cannot be loaded, the mod uses and saves its default settings. ## Presets | Preset | Purpose | | --- | --- | | Balanced | A starting point for ordinary play. | | Performance | Lower limits and earlier adaptive pressure for busy areas. | | Aggressive | Tighter limits for sustained sound spam. | | Custom | Used after individual limits are changed. | Presets adjust category limits, the regional limit and adaptive thresholds. They do not remove custom sound rules. ## Sound rules Rules can protect a sound, raise or lower its priority, or prevent it from starting. Select a sound on the Live Sounds page to create a rule without editing the JSON file. **Protect Mod** creates a namespace-wide protection rule. Available rule actions: | Action | Effect | | --- | --- | | `NEVER_CULL` | Excludes the matching sound from Sound Culling decisions. | | `CRITICAL` | Applies the highest priority multiplier. | | `HIGH` | Raises priority under load. | | `NORMAL` | Uses the normal priority calculation. | | `AGGRESSIVE` | Lowers priority. | | `ALWAYS_CULL` | Rejects new starts and fades tracked loops toward zero. | Patterns are case-insensitive and support `*` as a wildcard: ```text minecraft:block.piston.* bettercombat:* presencefootsteps:* ``` When several rules match, the last matching rule takes precedence. Exact IDs in the legacy `whitelistedSounds` list take precedence over rules, including `ALWAYS_CULL`. ## Commands Sound Culling provides client-side commands that do not require server operator permissions: ```text /soundculling /soundculling toggle /soundculling preset balanced /soundculling preset performance /soundculling preset aggressive /soundculling limit /soundculling total /soundculling reset ``` The base command shows the current preset, event rate, adaptive pressure and session counts. Setting commands apply and save immediately. The reset command clears session statistics and recent sound history; it does not clear rolling activity used by current culling decisions. ## Installation 1. Install Fabric Loader and Fabric API for your Minecraft version. 2. Download the Sound Culling file listed for that Minecraft version. 3. Place the JAR in the instance's `mods` folder. 4. Install Mod Menu if you want access to the settings screen from the Mods menu. Minecraft version groups use separate builds, even when their JAR names are similar. Check the supported version shown on the individual download file. Sound Culling 2.0 is available for Fabric. Older files for Fabric, Forge and NeoForge may use the earlier engine and may not include the Live Sounds page, adaptive pressure, wildcard rules or persistent loop management. ## Modpacks Sound Culling may be included in modpacks. It is client-side and distributed under the MIT License. A pack can use presets and rules to tune behaviour for its sound-producing mods. If a mod uses an unusual playback path, test its one-shot and looping sounds before publishing the pack configuration. ## Reporting problems Report issues at [GitHub](https://github.com/Cukkoo12/SoundCulling/issues) and include: - Minecraft, loader, Fabric API and Sound Culling versions. - The downloaded file name. - Steps to reproduce the problem. - Other mods that change sound playback. - `logs/latest.log` and the crash report, if one exists. For missing audio, also include the sound ID if known, any matching rules and whether the sound is a one-shot or a persistent loop. Sound Culling is licensed under the [MIT License](https://github.com/Cukkoo12/SoundCulling/blob/main/LICENSE).