QuietLoop

QuietLoop

自动降低附近重复声音的音量,并在噪音停止时恢复。

红石

QuietLoop

一个针对重复声音的自适应消音器。

你知道这个问题的。你在基地旁边建了一个漂亮的自动化农场,然后你的世界听起来就像个机械车间。把“方块”音量滑杆调低会让游戏里所有的方块声音都消失——包括那些你其实想听到的声音。

QuietLoop 用精准的方式解决这个问题:它会找到在特定位置持续循环的特定声音,并悄悄地把那一个声音调低。其他所有声音都保持原来的音量。

它的功能

  • 检测你附近重复出现的声音:活塞时钟、发射器、投掷器、传送门、自动化农场。
  • 逐渐将它们淡出——但绝不会完全静音,也绝不会低于 25%。
  • 当声音停止,或当你走远时,恢复完整音量。
  • 绝不会碰你的音量滑杆。 只会缩放单个声音的播放。

它的判断方式

声音按 标识符 + 世界区域(一个8格的网格单元)分组。这种配对很重要:40格外的活塞农场和你刚放在脚下的活塞是不同的组,所以让农场静音绝不会让手中的活塞无声。

一个组在 5秒内播放5次 后被判定为重复。之后音量逐渐降低:

5秒内播放次数 音量
4次或更少 100%
5 85%
6 70%
7 55%
8 40%
9次或更多 25%(下限)

在 10秒 内没有重复播放,或当你离开该区域超过 16格 后,音量恢复到100%。

它绝不会碰的声音

只有 方块(Blocks)、中性(Neutral) 和 环境(Ambient) 声音会被分析。音乐、唱片、界面UI、语音、玩家声音、敌对生物和天气声音被完全排除在外。

仅靠声音类别不足以覆盖几个重要的警告,因此有一个小型的、带文档说明的排除列表:

  • 已激活的TNT
  • 村庄钟声(block.bell.use, block.bell.resonate)
  • 重生锚能量耗尽
  • 凋灵生成、末影龙咆哮
  • 任何ID包含 hurt、death 或 explode 的声音——这涵盖了中性生物的受伤和死亡声音,这些声音属于“中性”类别

如果一群怪物来袭,钟声仍然会以全音量响起。

使用方法

默认启用。按 N 键切换(可在 选项 → 控制 → 杂项 中重新绑定)。

切换时,你会在快捷栏上方看到一条简短消息,并且首次淡化某个特定声音时会看到一次性的 QuietLoop: attenuating <声音ID> 提示——这样你总是知道它决定把哪个声音调低了。一分钟内它不会重复提醒你同一个声音。

开关状态会在游戏会话之间保留。

配置

没有配置菜单,也不依赖任何配置库。只需编辑 config/quietloop.properties:

enabled=true
repetitions=5
window_seconds=5.0
group_radius=8.0
min_volume=0.25
restore_seconds=10.0
restore_distance=16.0
show_notices=true