# 加一点点鸭子音效

# 作者:境界

音效位于RP/sounds文件夹中,因此自定义的音效同样需要放在这里,开发者可以用文件夹进行区隔。自定义的音效文件使用的是.ogg和.wav两种格式。在追求质量下,.wav比.ogg的音质更好,但.ogg比.wav更节省空间,由开发者的自身考量去决定使用什么样的格式。

{
	"mob.green_head_duck.ambient": {
		"category": "neutral",
		"sounds": [
            {
                "name": "sounds/mob/green_head_duck/ambient",
                "volume": 0.7
            }
        ]
	}
}

开发者需要在sounds文件夹下放入一个sound_definitions.json文件。我们定义了一个资源路径"mob.green_head_duck.ambient",我们设置了音效种类(category)为neutral(自然),在1.16.200以前,设定音效种类对于音效是否正常播放关系不大。在1.16.200版本后,开发者可以通过设置里根据音效种类调整对应的音量大小。

sounds数组里会存放每个音效的资源地址和音量大小、播放距离等,一般不设置音量大小(volume)的话,默认是音效的正常音量。

{
    "entity_sounds": {
        "entities": {
			"design:green_head_duck": {
				"volume": 1.0,
                "pitch": [0.8, 1.2],
                "events": {
                    "ambient": "mob.green_head_duck.ambient"
				}
			}
		}
	}
}

回到材质包主目录下的sounds.json文件,这个文件同样需要手动创建。进入文件后,定义结构格式为:

{
  "entity_sounds": {
    "entities": {}
  }
}

其中entities内放入对应的生物名称域,我们的水鸭名称域为design:green_head_duck,因此对象名称就以"design:green_head_duck"为准,它里面的属性包含了音量,音调,和音效播放事件。在修改了音频、音效本身的音量和音调等效果后,还可以在这里重新修订一次。事件内包含着许多生物在不同状态下会播放的音效。

常用的参数选项一般有以下几个:

ambient自然音效,即待机时播放的音效。

hurt受伤音效,即受伤时播放的音效。

death死亡音效,死亡时播放的音效。

step行走音效,行走时播放的音效。

attack攻击音效,攻击时的音效。

shoot射击音效,设计时播放的音效。