附加包教程:20.声音
本帖最后由 Cat_Anchor 于 2023-2-26 10:16 编辑前言
上期,我们学习了渲染控制器。现在,我们来学习声音。学完这些杂七杂八的东西,我们最后再学实体。
https://klpbbs.com/static/image/hrline/line5.png
声音
打开资源包根目录,打开sounds文件夹,这里用于存放声音相关的文件。在sounds文件夹下,有很多文件夹,用于分门别类地存放各种声音。当然也可以选择不分类,把所有声音文件全扔在sounds文件夹下。另外,在sounds文件夹下,还有两个json文件。一个叫sound_definitions.json,另一个叫music_definitions.json。前者用于定义声音,后者用于定义音乐。我们主要看看前者。以下是代码。
{
"mob.rascal.ambient": { //这里的mob.rascal.ambient就是声音的ID。
"category": "neutral", //声音的分类。可以写ambient、hostile、block、neutral等。主要用于游戏内的声音设置。
"sounds": [ //声音的路径。这个数组里可以只有一个指向声音的路径,也可以有很多个。如果有很多个,那么播放时会随机播放其中一个。
"sounds/mob/ambient_rascal1", //一个声音路径。可以直接写路径,不需要后缀。
{ //也可以定义一个对象。
"name": "sounds/mob/ambient_rascal2", //这里写路径,不需要后缀。
"load_on_low_memory": true //指定这条音乐是否预加载。
"volume": 1 //指定音量。
}
]
},
"mob.rascal.hurt": { //这里的mob.rascal.hurt就是声音的ID。由此可见,这样可以在一个文件里定义很多个声音。
"category": "neutral",
"sounds": [
"sounds/mob/hurt_rascal"
]
}
}
然后我们看看定义音乐的music_definitions.json。
{
"game": { //这里的game是内置的,无法更改。这里是游戏默认的背景音乐。
"event_name" : "music.game", //要播放的声音ID。下同。
"min_delay": 600, //一首播放完之后,播放另一首的最小延迟。下同。
"max_delay": 1200 //一首播放完之后,播放另一首的最大延迟。下同。
},
"water": { //水下背景音乐。
"event_name": "music.game.water",
"min_delay": 10,
"max_delay": 20
},
"creative": { //创造模式背景音乐。
"event_name" : "music.game.creative",
"min_delay": 60,
"max_delay": 180
},
"end": { //末地背景音乐。
"event_name" : "music.game.end",
"min_delay": 60,
"max_delay": 180
},
"endboss": { //末地战斗时的背景音乐。
"event_name" : "music.game.endboss",
"min_delay": 60,
"max_delay": 180
},
"nether": { //下界背景音乐。
"event_name" : "music.game.nether",
"min_delay": 60,
"max_delay": 180
},
"credits": { //看终末之诗和制作名单时的背景音乐。
"event_name" : "music.game.credits",
"min_delay": 0,
"max_delay": 0
},
"menu": { //主菜单的背景音乐。
"event_name" : "music.menu",
"min_delay": 0,
"max_delay": 30
}
}
这就是声音的全部内容。在游戏里用/playsound 声音ID @p播放你自定义的声音。
https://klpbbs.com/static/image/hrline/line1.png
总结
这一期,我们学完了声音。下一期,我们就要讲字体了。
第十九期 第二十期 第二十一期
页: [1]