sounds.json

来自Minecraft Wiki
跳转至: 导航搜索

Information icon.svg
此特性为Java版基岩版独有。

sounds.json(在基岩版中为sound_definitions.json)是一个由资源包的声音系统使用的文件。当一个或多个游戏内事件触发了一个声音事件时,声音系统会根据该文件的内容来决定播放哪个音效。该文件应该放置于资源包的assets/<命名空间>/目录下。在该文件中定义的声音事件可以通过形如<命名空间>:<声音事件名>的命名空间ID来调用。

游戏默认的该文件放置在.minecraft/assets/objects(基岩版的话是在assets/resource_packs/vanilla/sounds)目录下,它的文件名可以在.minecraft/assets/indexes/<游戏版本>.json文件中查询。

文件结构[编辑 | 编辑源代码]

这个文件用JSON格式存储,但在这里使用NBT的图标来表示。


  • 根对象。

    •  声音事件名: 一个声音事件。声音事件名通常是按照类别以点(.)分割的(例如entity.enderman.stare)。下方有表格列出了所有游戏自带的声音事件。(如果你想要为该声音事件设定minecraft以外的命名空间,应当把sounds.json文件放置在相应命名空间的目录下,而不是在这里定义。)

      •  replace: 可选。如果设定为true,在sounds中定义的音效列表会替换掉优先级更低的资源包中为该声音事件定义的音效。设定为false则会补充到原来的音效列表中,而不是直接替换。如果不指定,默认为false

      •  subtitle: 可选。如果游戏中开启了“显示字幕”选项,游戏将会在该声音事件被播放时将该字符串翻译为声音字幕。

      •  sounds: 可选。该声音事件使用的音效文件列表。当该声音事件被触发时,游戏会从此列表定义的音效文件中随机选取一个播放。

        • assets/<命名空间>/sounds/文件夹到此音效文件的路径。应使用正斜线(/)分割路径。

        • 一个代表音效文件的对象。如果你需要定义更多参数的话再用这个对象定义,否则用上面的字符串格式即可。

          •  name: 从assets/<命名空间>/sounds/文件夹到此声音文件的路径,或着是另一个声音事件的命名空间ID。

          •  volume: 播放此声音时的音量。值为0.0到1.0的小数。未定义时默认为1.0。

          •  pitch: 以确定的值播放音调。未定义时默认为1.0。可以调至更高或更低。

          •  weight: 此声音事件触发时此声音被播放的概率。默认为1。例如,设为2相当于此文件在列表中出现两次。相反地,假设别的文件都没有更改此设置,设为0.5相当于别的文件在列表中都出现两次。

          •  stream: 设置为true则此声音会以流式播放。当声音较长时最好设为true来避免卡顿。所有的musicrecord分类的音效(除了音符盒)都使用流式播放,因为它们的长度都达到一分多钟。未指定则默认为false

          •  attenuation_distance: 基于距离的音效大小衰减率。用于传送门、信标和潮涌核心。

          •  preload: 若设置为true,则该音效文件会在加载资源包时就加载,而不是在播放音效的时候再加载。用于水下环境音效。默认为false

          •  type: 可选soundeventsound表明name中定义的是文件名,event表明name中定义的是声音事件名。未指定则默认为sound

这里有sounds.json的pre-1.10范本。
这里有Dinnerbone关于此文件的编写规范。

声音事件[编辑 | 编辑源代码]

一个声音事件是和游戏事件联系在一起的。多个声音事件可能对应不同的游戏事件或属于不同的声音分类,但它们共用同一个声音文件。小部分的有效声音文件并没有出现于sounds.json,而其他则没有相对应的游戏事件。任何缺少游戏事件的声音事件都仅能通过/playsound命令播放。所有默认的声音事件,它们使用的声音,它们属于的类别,以及触发它们的游戏事件将在下表中列出。

Java版数据值

基岩版数据值

方块声音种类[编辑 | 编辑源代码]


此段落需要更新。原因:内容不包括1.13新更新的方块

声音系统可以使被踩到、被放置、被破坏的方块产生相应的声音。 具有特殊音效的粘液块没有被列在下表中。

种类 所属方块 注解
布类 羊毛仙人掌蛋糕地毯[注 1] 火方块被破坏的声音是随机生成的,fizz instead of dig.cloth.
草方块海绵湿海绵树叶高草丛枯萎的灌木棕色蘑菇红色蘑菇TNT小麦甘蔗睡莲菌丝藤蔓胡萝卜马铃薯干草块甜菜草径 其中小麦种子甜菜种子、睡莲、胡萝卜和马铃薯在被玩家放置时不会产生声音。
沙砾类 泥土砂土灰化土沙砾耕地粘土块
沙子类 沙子红沙灵魂沙混凝土粉末
雪类 雪块
石制类 石头安山岩磨制安山岩闪长岩磨制闪长岩花岗岩磨制花岗岩圆石基岩金矿石铁矿石煤矿石青金石矿石青金石块发射器砂岩粘性活塞蜘蛛网活塞石质台阶砖块苔石黑曜石刷怪箱红石线钻石矿石熔炉圆石楼梯石制压力板红石矿石石质按钮唱片机地狱岩怪物蛋石砖砖块楼梯石砖楼梯地狱砖块地狱砖栅栏地狱砖楼梯地狱疣附魔台酿造台炼药锅末地石龙蛋红石灯砂岩楼梯绿宝石矿石末影箱绊线钩绊线命令方块信标圆石墙花盆生物头颅铁砧下界石英矿石石英块石英楼梯投掷器陶瓦屏障海晶石海晶石砖暗海晶石煤炭块红砂岩楼梯红砂岩台阶岩浆块混凝土潜影盒观察者 唱片机虽然发出石制类方块的音效,但是这种方块最好用破坏,而不是
金属类 充能铁轨探测铁轨金块铁块钻石块铁轨铁门铁栏杆绿宝石块漏斗红石块激活铁轨铁活板门 钻石块、绿宝石块理论上并不属于金属,但它们实际上仍然发出金属的声音。
木质类 木板木头书架火把、木质楼梯、箱子工作台梯子告示牌拉杆、木质压力板、红石火把栅栏南瓜南瓜灯红石中继器、木活板门、巨型蘑菇方块、西瓜、南瓜藤、西瓜藤、栅栏门、木质台阶、可可果、木质按钮、陷阱箱测重压力板红石比较器阳光传感器旗帜木门 其中推荐使用镐来破坏测重压力板、火被破坏时的声音是随机的,可用手扑灭,灭火时发出“嘶嘶”的响声、床、瓜藤、可可果、旗帜和木门在被放置时没有声音产生。
玻璃类 玻璃荧石下界传送门方块染色玻璃玻璃板末地传送门方块染色玻璃板海晶灯浮冰末地传送门框架 这些方块在被踩踏和敲击的时候发出“石质类”的声音,并且很多“玻璃类”方块推荐用镐破坏,但是“玻璃类”方块与“石制类”方块的区别是——“玻璃类”方块在被破坏的那一霎那会发出清脆的玻璃碎裂的声音。

历史[编辑 | 编辑源代码]

Java版
1.7.2 13w42a 加入了sounds.json。
1.9 15w43b 加入了 "subtitle" 字段。
?更改了许多声音的id,之前的id可以从sounds.json/Java版1.9前上查看。
16w02a 加入了“voice”声音事件类别。
1.10 移除了“category”区域[1]
1.13 18w10a 加入了“preload”字段。
携带版
1.0 ?加入了sound_definitons.json。

参考[编辑 | 编辑源代码]