动态音乐 重铸版

动态音乐 重铸版

背景音乐随着你的实际操作而播放。

动态音乐:ReNeoForged

背景音乐会随着你正在做的事而改变。 深夜的洞穴深处、暴风雪席卷冰封的山峰、沉入海洋、踏入下界——配乐会随之切换,使用 Minecraft 自身的音乐,并且不会与你整合包中的其他模组冲突。

来源

动态音乐:ReNeoForged 是 NeoForge 1.21.1 版本上,对 LudoCrypt 的原始 Dynamic Music 的延续,经由 celeri 的 Dynamic Music Updated(1.20.x)发展而来。它保留了原版的核心思路——根据情境区分的曲库,以及标志性的昼夜音调漂移效果——并在 NeoForge 的 SelectMusicEvent 基础上重建,使模组能够与其它模组共存,而不是接管整个音乐系统。其许可证为 LGPL-3.0-only,与其所延续的模组相同。

它不附带任何音频文件——它只是重新调配你游戏中已有的音乐。

工作原理

模组会实时读取周围环境——维度、洞穴深度、时间、天气、温度、是否在水下——并从中选择最合适的曲目。更具体的情境会优先于一般情境,同等情况则通过加权随机选择来决定,因此相同的环境不会总是播放相同的歌曲。

  • 洞穴深度层级 — 浅层、中层与深层洞穴各自拥有独立的曲库;深层曲库包含沉重、压抑的曲目。
  • 炎热/寒冷生物群系 — 沙漠与冰冻生物群系会播放符合气候的音乐。
  • 天气 — 雨天和雷暴天会使用更阴郁的曲库。
  • 水下 — 真正在水中待上一段时间会切换到水生曲库;只是快速潜入水中则不会。
  • 昼夜、创造模式、下界、末地 — 每一种都有专属的曲库。
  • 动态音调 — 原版的标志性效果:当时间偏离设定锚点越远,曲目的音调会逐渐降低,营造出更沉重的深夜氛围。

自动兼容模组维度

自定义维度是一等公民。一个没有自己音乐的维度会自动借用合适的曲库——类似下界的维度借用下界曲库,类似末地的维度借用末地曲库,其余维度则借用主世界曲库,并仍会应用洞穴深度、时间和天气的影响,使其不会显得单调。一个自带音乐的维度——无论是其它模组的曲目还是复用的原版音乐——则会被完全保留,除非你另行设置。

你可以通过 config/dynmus/music.json 完全掌控设置:

  • 黑名单 某个维度,使模组完全不触碰其音乐。
  • 指定 某个维度借用的曲库。
  • 覆盖 维度自带的音乐,如果你希望自己的选择优先。
  • 策划 某个维度自身的曲目列表。

你自己的音乐

将 .ogg 文件放入 config/dynmus/songs/ 目录后,它们会被自动注册。编辑生成的条目,可以精确指定每首曲目的播放条件——维度、洞穴深度、时间、天气、温度、水下、游戏模式。配置是纯 JSON 格式,可手动编辑,并且即使出现拼写错误也不会导致崩溃(会回退到默认设置并保留你的文件不变)。

与你的整合包和谐共处

  • 没有使用 mixin 来驱动音乐选择——全部基于 NeoForge 的 SelectMusicEvent。
  • 在战斗音乐播放时会让位于 Battle Music。
  • 从不触碰音乐延迟计时器,因此 Constant Music 和 Music Delay Reducer 能完全掌控曲目的播放时机。
  • 未经你明确同意,绝不覆盖来自其它维度、生物群系或音乐模组的音乐。

鸣谢

  • LudoCrypt — 原版 Dynamic Music 的作者:概念、检测方法和动态音调系统。
  • celeri (c-leri) — Dynamic Music Updated 的作者,本构建所基于的 1.20.x 延续版本。
  • 采用 LGPL-3.0-only 许可证。本模组不附带任何音频文件;它通过资源路径引用 Mojang 自己的音乐。