<本站文本内容除另有声明外,转载时均必须注明出处。(详情…本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

sounds.json

出自Minecraft Wiki
跳到: 導覽搜尋

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
 1 "游戏内调用名称": {
 2     "category": "类型",
 3     "replace":"(true/false)" ,
 4     "sounds": [
 5       {
 6         "name": "Sounds文件夹到此声音文件的路径",
 7         "volume":"播放此声音时的音量",
 8         "weight":"播放概率",
 9         "stream": true
10       }
11     ]
12   }

[1]類型

這裏有sounds.json的pre-1.10範本。
這裏有Dinnerbone關於此文件的編寫規範。

聲音事件[編輯 | 編輯原始碼]

一個聲音事件是和遊戲事件聯繫在一起的。多個聲音事件可能對應不同的遊戲事件或屬於不同的聲音分類,但它們共用同一個聲音文件。小部分的有效聲音文件並沒有出現於sounds.json,而其他則沒有相對應的遊戲事件。任何缺少遊戲事件的聲音事件都僅能通過/playsound指令播放。所有預設的聲音事件,它們使用的聲音,它們屬於的類別,以及觸發它們的遊戲事件將在下表中列出。

Java版數據值

基岩版數據值

方塊聲音種類[編輯 | 編輯原始碼]

聲音系統可以使被踩到、被放置、被破壞的方塊產生相應的聲音。

種類 所屬方塊 註解
布類 羊毛仙人掌蛋糕地毯[注 1] 火方塊被破壞的聲音是隨機生成的,fizz instead of dig.cloth.
草地海綿濕海綿樹葉芒草枯灌木棕色蘑菇紅色蘑菇TNT小麥甘蔗荷葉菌絲土藤蔓胡蘿蔔馬鈴薯乾草捆甜菜草徑海帶乾塊標靶 海綿、TNT理論上不屬於草,但還是發出草的聲音
作物類 海帶海草小麥馬鈴薯胡蘿蔔甜菜根地獄疙瘩
礫石類 泥土粗泥灰壤礫石耕地黏土塊
石制類 石頭安山岩拋光安山岩閃長岩拋光閃長岩花崗岩拋光花崗岩鵝卵石基岩金礦鐵礦煤礦青金石礦青金石磚發射器砂岩黏性活塞蜘蛛網活塞石製半磚紅磚青苔鵝卵石黑曜石生怪籠紅石線鑽石礦熔爐高爐煙熏爐砂輪切石機鵝卵石階梯石制壓力板紅石礦石製按鈕唱片機怪物蛋石磚紅磚階梯石磚階梯地獄磚柵欄附魔台釀造台鍋釜終界石龍蛋砂岩階梯綠寶石礦終界箱絆線鈎絆線指令方塊烽火台、所有花盆生物頭顱鐵砧地獄石英礦石英磚石英階梯投擲器陶土屏障海磷石海磷石磚暗海磷石煤炭磚紅砂岩階梯紅砂岩半磚岩漿塊混凝土界伏盒觀察者、所有死亡的珊瑚方塊、所有死亡的珊瑚、所有死亡的扇狀珊瑚哭泣的黑曜石重生錨 唱片機雖然發出石制類方塊的音效,但是這種方塊最好用破壞,而不是
珊瑚類 所有珊瑚方塊、所有珊瑚、所有扇狀珊瑚蜂窩塊 聲音好似石製類方塊和史萊姆方塊的組合版。另蜂窩塊理論上並不屬於金屬,但它仍然發出珊瑚的聲音
金屬類 動力鐵軌感測鐵軌金磚鐵磚鑽石磚鐵軌鐵門鐵柵欄綠寶石磚漏斗紅石磚觸發鐵軌鐵製地板門 鑽石磚、綠寶石磚理論上並不屬於金屬,但它們實際上仍然發出金屬的聲音。
木質類 木材木塊剝皮木頭剝皮木塊書櫃火把、木質階梯、儲物箱工作枱梯子告示牌控制桿、木質壓力板、紅石火把柵欄南瓜南瓜燈紅石中繼器、木地板門、巨型蘑菇方塊、西瓜、南瓜藤、西瓜藤、柵欄門、木質半磚、可可豆、木質按鈕、陷阱儲物箱測重壓力板紅石比較器日光感測器旗幟木門製圖臺製箭臺鍛造臺講臺紡織機堆肥桶營火木桶蜂窩蜂箱 其中推薦使用鎬來破壞測重壓力板。
玻璃類 玻璃螢光石地獄傳送門方塊染色玻璃玻璃片終界傳送門方塊染色玻璃片海燈籠冰磚藍冰終界傳送門框架紅石燈 這些方塊在被踩踏和敲擊的時候發出「石製類」的聲音,並且很多「玻璃類」方塊推薦用鎬破壞,但是「玻璃類」方塊與「石制類」方塊的區別是——「玻璃類」方塊在被破壞的那一霎那會發出清脆的玻璃碎裂的聲音。
地獄類 骨塊地獄石玄武岩拋光玄武岩靈魂砂靈魂土詭異菌絲石緋紅菌絲石地獄磚地獄磚階梯地獄磚半磚紅地獄磚紅地獄磚階梯紅地獄磚半磚獄髓磚地獄疙瘩塊詭異疙瘩塊蕈燈果地獄金礦地獄石英礦磁石緋紅木原木詭異木原木緋紅木塊詭異木塊遠古遺骸 包含各種地獄方塊中不同的音效
其他 鐵砧和鐘在行走和破壞時則發出石製方塊的聲音,只有在放置時才發出特殊的聲音

歷史[編輯 | 編輯原始碼]

Java版
1.7.2 13w42a 加入了sounds.json。
1.9 15w43b 加入了 "subtitle" 字段。
?更改了許多聲音的id,之前的id可以從sounds.json/Java版1.9前上查看。
16w02a 加入了「voice」聲音事件類別。
1.10 移除了「category」區域[2]
1.13 18w10a 加入了「preload」字段。
Java版(即將到來)
1.16 20w06a 加入了這些方塊的新的方塊聲音:骨塊地獄岩靈魂砂地獄疣塊地獄磚(及其變種)和地獄石英礦
攜帶版
1.0 ?加入了sound_definitons.json。

參考[編輯 | 編輯原始碼]

  1. 類型: ambient(環境) weather(天氣) player(玩家) neutral(中立) hostile(敵意) block(方塊) record(唱片) music(音樂) master(控制)
  2. https://twitter.com/Dinnerbone/status/852212485855862784