使用资源包替换音效:sounds.json 和 .ogg 格式要求
Minecraft 只播放 Ogg Vorbis 格式的音频,并且音效事件并非文件本身。本文将介绍映射文件、如何添加而非替换音效,以及为什么你的音效会静音。
音效替换是资源包功能中最容易悄无声息地失败的,而这几乎总是由以下两个原因之一造成的:音频格式不正确,或者对音效事件的理解有误。
仅支持 Ogg Vorbis 格式
Minecraft 只播放 .ogg (Vorbis) 格式的音频,不支持其他格式。将 .mp3 或 .wav 文件重命名为 .ogg 也无法播放——容器本身必须是 Ogg 格式。
单声道与立体声也很重要:只有单声道文件才能在 3D 空间中定位。 立体声文件在任何地方都以恒定音量播放,这对于音乐来说是正确的,但对于方块音效来说是错误的。如果你的自定义铁砧音效似乎一直跟着你,那它就是立体声的。
音效事件是一个名称,而不是一个文件
entity.pig.ambient 是一个事件。它映射到一个文件列表,每次都会从中随机选择一个播放。替换猪的音效意味着重新定义该事件,而不是简单地放置一个文件。
assets/minecraft/
├── sounds.json
└── sounds/custom/my_pig.ogg
{
"entity.pig.ambient": {
"replace": true,
"sounds": [ "custom/my_pig" ]
}
}
三个细节:
replace: true会丢弃原版列表。如果省略它,你的音效会添加到音效池中,因此它会偶尔播放,而原版音效则在其他时候播放。这两种行为都很有用;默认是添加。- 路径省略了
sounds/和.ogg。custom/my_pig解析为assets/minecraft/sounds/custom/my_pig.ogg。 sounds.json位于 assets/minecraft 根目录,而不是sounds/内部。
单文件选项
"sounds": [
{ "name": "custom/my_pig", "volume": 0.8, "pitch": 1.2, "weight": 3, "stream": false }
]
weight会影响列表中随机选择的倾向性。stream: true适用于任何超过几秒的音频——音乐和唱片。非流式传输的长文件会完全加载到内存中,可能导致客户端卡顿。volume不能超过 1.0。更大的值意味着更响亮的源文件。
添加全新的音效
使用你自己的命名空间,以避免冲突:
assets/my_pack/sounds.json
assets/my_pack/sounds/spell.ogg
{ "spell": { "sounds": ["spell"] } }
然后 /playsound my_pack:spell master @a ~ ~ ~ 1 1。自定义音效事件可以通过 /playsound 和唱片机中的唱片定义在音符盒中使用;它们不会自动附加到任何游戏动作。
为什么会静音
- 不是真正的 Ogg Vorbis 格式。
- 路径包含
sounds/或.ogg。 sounds.json是无效的 JSON——一个多余的逗号会破坏整个文件,导致资源包中的所有音效都静音,而不仅仅是新添加的音效。- 错误的
pack_format,导致资源包加载但资源被忽略。
有关资源包文件夹结构、音效事件重新映射和动态纹理的速查表,请参阅资源包参考工具。