音效
音效(Sounds)文件储存在(资源包名)/assets/minecraft/sounds
中。如果你没有找到这个文件夹,你可以自己创建。
音效文件以*.ogg
的格式储存。需要用转换软件(网上很多)对其它格式的音效进行转换。
同时,可以使用playsound
命令来播放任意音效,来增进游戏气氛,达到特殊效果(枪声,拾取音效等)。
原版音效
替换原版音效
若要替换原版的音效,请参照以下网址,按照树状图创建文件夹或命名ogg文件。
sounds 文件夹顺序:http://minecraft.gamepedia.com/Resource_pack/Folders
原版sounds文件夹下载。可直接放入资源包中,替换需要的音效文件。(感谢 pca006132 的提供)
http://pan.baidu.com/s/1pLNpgPd
提取原版音效
原版的音效文件存放在(游戏目录)/.minecraft/assets
下
indexes
文件夹储存音效文件的索引。objects
文件夹储存音效文件。
打开indexes文件夹中(版本号).json
:
{
"objects": {
"minecraft/sounds/mob/stray/death2.ogg": {
"hash": "d48940aeab2d4068bd157e6810406c882503a813",
"size": 18817
},
"minecraft/sounds/mob/husk/step4.ogg": {
"hash": "70a1c99c314a134027988106a3b61b15389d5f2f",
"size": 9398
},
...
稍作分析可以得知,
音效文件路径:
(资源包名)/assets/minecraft/sounds/mob/stray/death2.ogg
hash 值:d48940aeab2d4068bd157e6810406c882503a813
文件大小:18817 B
知道这些信息后,我们就可以在objects文件夹中寻找音效文件了。
- 1.取 hash 值的前两位作为objects文件夹的二级目录。(如
sounds/mob/stray/death2.ogg
的hash值前两位是d4
,那么音效文件就在objects/d4
中) - 2.找到以hash值命名的文件,修改扩展名为ogg则为音效文件。
同理,sounds/mob/husk/step4.ogg
则是objects/70/70a1c99c314a134027988106a3b61b15389d5f2f
文件。
添加自定义的音效
自定义的音效存放在(资源包名)/assets/minecraft/sounds
中,以*.ogg格式保存,文件名随意,但要和sounds.json
文件对应。
sounds.json 文件
sounds.json
文件储存(资源包名)/assets/minecraft
下。如果有自定义音效,就需要自己创建此文件。
主要JSON格式:
(The root object)
(Compound)(A sound event)
:单个音效事件,标签名称为音效时间名称。确定音效事件(Sound Event)名。通常为储存路径.文件名
。详见WIKI.(Compound)category
:规定音效文件的种类,以便在游戏中使用。(String) *sounds
:确定此音效事件使用的音效文件,触发音效事件后随机选取一个音效播放。(List)(A sound file)
:单个音效文件。(Compound)name
:assets/minecraft/sounds
下的音效文件路径(不包括扩展名)。(String)stream
:值为true/false
,确定音效是否以流(Stream)的形式从文件中读取。推荐设置为true防止音效卡顿。默认为false.(String)
注意,category
标签只允许以下几个值:
- ambient
- weather
- player
- neutral
- hostile
- block
- record
- music
- master
- voice
推荐阅读:
playsound 命令
主要格式:
playsound <sound> <source> <player> [x] [y] [z] [volume] [pitch] [minimumVolume]
其中,<sound>
是音效事件名,即上文(A sound event)
标签的名称,<source>
则是音效种类,即上文category
标签的值。
简单的例子:
现在在(资源包名)/assets/minecraft/sounds
下存有一 自定义的 音效文件european.ogg
我们想让它在游戏中播放,作为中奖音效。那么assets/minecraft
下的sounds.json
可以这样写:
{
"getprize": {
"category": "record",
"sounds": [
{
"name": "european",
"stream": true
}
]
}
}
然后在游戏中,使用playsound
命令向玩家Steve
播放:
playsound getprize record Steve
这样玩家Steve
就能听到中奖后的音效了。playsound命令其它部分参数的作用可详见WIKI.
推荐阅读:
WIKI http://minecraft.gamepedia.com/Commands#playsound playsound命令
同样,也可使用stopsound
命令关闭音效:
stopsound <player> [source] [sound]
其中的[source]
,[sound]
必须和playsound
命令中(或sounds.json中)的一致。