Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
可列印版不再被支援且可能有渲染錯誤。請更新您的瀏覽器書籤並改用瀏覽器預設的列印功能。

sounds.json是一個由資源包的聲音系統使用的檔案。當一個或多個遊戲內事件觸發了一個聲音事件時,聲音系統會根據該檔案的內容來決定播放哪個音效。該檔案應該放置於資源包的assets/<命名空間>/目錄下。在該檔案中定義的聲音事件可以透過形如<命名空間>:<聲音事件名>的命名空間ID來調用。

遊戲預設的該檔案放置在.minecraft/assets/objects(基岩版在assets/resource_packs/vanilla/sounds)目錄下,它的檔案名可以在.minecraft/assets/indexes/<遊戲版本>.json檔案中查詢。

檔案結構

檔案用JSON格式儲存,但在這裏使用NBT的圖示來表示。

Java版

  • :根對象。
    •  聲音事件名:一個聲音事件。聲音事件名通常是按照類別以點(.)分割的(例如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相當於此檔案在列表中出現兩次。
          •  stream:設定為true則此聲音會以流式播放。當聲音較長時最好設為true來避免卡頓。所有的musicrecord分類的音效(除了音符盒)都使用流式播放,因為它們的長度都達到一分多鐘(最長達八分多鐘)。未指定則預設為false
          •  attenuation_distance: 基於距離的音效大小衰減率。用於傳送門、烽火台和海靈核心。預設為16。
          •  preload:若設定為true,則該音效檔案會在載入資源包時就載入,而不是在播放音效的時候再載入。用於水下環境音效。預設為false
          •  type:可選soundeventfile表明name中定義的是檔案名,event表明name中定義的是聲音事件名。未指定則預設為sound

sounds.json的pre-1.10範本

Dinnerbone的關於此檔案的編寫規範

基岩版

sound_definitions.jsonmusic_definitions.json

  • : 根對象。
    •  format_version:目前值為1.14.0,表示自村莊與掠奪以來使用的標準格式。
    •  sound_definitions:對聲音事件的定義。
      • :單個聲音事件,通常會分為一類(例如mob.endermen.starestep.stone)。預設的聲音事件會在下方列出。
        •  category:控制聲音音量滑條的分類。mastermusicrecordweatherhostileneutralplayerblockbucketbottleambientvoicesound。預設值為sound
        •  min_distance:聲音開始衰減的距離。預設值為0。
        •  max_distance:聲音完全聽不見的距離。預設值為16。
        •  min_delay:聲音事件觸發後經過多長時間才會播放(最小值),單位為秒。只有music_definitions.json才會使用此參數。預設值為0。
        •  max_delay:聲音事件觸發後經過多長時間才會播放(最大值),單位為秒。只有music_definitions.json才會使用此參數。預設值為0。
        •  sounds:聲音事件所使用的具體音效。
          •  name:該音效在資源包中的路徑(不包含拓展名)。若詳細定義了每個音效的具體參數,則會使用下方的組件。
            •  name:該音效在資源包中的路徑(不包含拓展名)。
            •  stream:當該聲音為流式播放時為true。預設值為false。
            •  is3D:是否以立體聲播放。
            •  volume:聲音的音量。預設值為1.0。可以是一個區間以表示範圍。
            •  pitch:聲音的音高。預設值為1.0。可以是一個區間以表示範圍。
            •  weight:聲音的權重,即觸發該音效時間後單個聲音會被播放的概率,例如值為2時相當於將該音效重複定義了1次。預設值為1。
            •  load_on_low_memory:是否預載。預載的音效可以在低記憶體裝置上播放。
        •  subtitle未使用的值

sounds.json

  • : 根對象。
    • :聲音事件的集合名。值可以是individual_event_soundsblock_soundsentity_soundsinteractive_sounds
      • :二級集合名,用於表示某一類方塊的共同音效集合,例如stonewood
        •  volume:聲音的音量。預設值為1.0。可以是一個區間以表示範圍。
        •  pitch:聲音的音高。預設值為1.0。可以是一個區間以表示範圍。
        •  events:具體的聲音事件命名空間ID的集合。
          • :系統音效類型,例如item.use.on。預設值和聲音事件命名空間ID保持一致。
            •  sound:單個聲音事件命名空間ID,例如use.stone。作為簡寫,該參數有時候會直接以命名空間ID為值。
              •  volume:聲音的音量。預設值為1.0。可以是一個區間以表示範圍。此值與二級集合的同一參數為乘積關係,以表示該聲音最終的音量。
              •  pitch:聲音的音高。預設值為1.0。可以是一個區間以表示範圍。此值與二級集合的同一參數為乘積關係,以表示該聲音最終的音高。

聲音事件

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

Java版數據值

基岩版數據值

方塊聲音種類

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

種類 所屬方塊 備註
布類 羊毛仙人掌蛋糕地氈[注 1] 火方塊被破壞的聲音是random.fizz而非dig.cloth。
草類 草地樹葉長草叢死灌木啡色蘑菇紅色蘑菇TNT小麥荷葉菌絲土藤蔓紅蘿蔔薯仔乾草捆甜菜泥徑乾海帶捆標靶 TNT理論上並不屬於草。
作物類[僅Java版] 海帶海草小麥薯仔紅蘿蔔紅菜頭地獄孢子
砂礫類 泥土粗泥灰壤砂礫耕地黏土
石製類 石頭安山岩拋光安山岩閃長岩拋光閃長岩花崗岩拋光花崗岩石春基岩金礦鐵礦煤礦青金石礦青金石磚發射器砂岩黏性活塞蜘蛛網活塞石頭半磚紅磚青苔石春黑曜石生成籠紅石線鑽石礦熔爐高爐煙燻爐砂輪切石機石春樓梯石製壓力板紅石礦石製按鈕蟲蝕方塊石磚紅磚樓梯石磚樓梯地獄磚柵欄附魔台釀造台終界石龍蛋砂岩樓梯綠寶石礦終界箱絆線命令方塊烽火台、所有花盆生物頭顱鐵砧地獄石英礦石英方塊石英樓梯掟器陶瓦障幕海磷石海磷石磚暗海磷石煤炭塊紅砂岩樓梯紅砂岩半磚岩漿塊混凝土界伏盒偵測器、所有死亡珊瑚方塊、所有死亡珊瑚、所有死亡扇狀珊瑚哭曜石重生錨拉桿紅石中繼器紅石比較器
珊瑚類 所有珊瑚方塊、所有珊瑚、所有扇狀珊瑚蜂巢蜜塊 聲音好似石製類方塊和史萊姆方塊的組合版。另蜂巢蜜塊理論上並不屬於珊瑚。
金屬類 動力路軌感壓路軌金磚鐵磚鑽石磚路軌鐵門鐵欄杆綠寶石磚漏斗紅石磚觸發路軌鐵製地板門[僅基岩版] 鑽石磚、綠寶石磚理論上並不屬於金屬。
木質類 木板木塊剝皮原木剝皮木塊書櫃火炬、木質樓梯、儲物箱工作台指示牌、木質壓力板、紅石火炬欄杆南瓜南瓜燈、木地板門、蘑菇方塊西瓜南瓜梗西瓜梗閘門、木質半磚、可可果、木質按鈕、陷阱箱測重壓力板日光感測器橫額木門製圖台製箭台鍛造台講台紡織機堆肥桶營火木鐵桶蜂巢蜂箱唱片機絆線鈎
玻璃類 玻璃熒光石地獄傳送門方塊染色玻璃玻璃片終界傳送門方塊染色玻璃片海燈籠冰磚藍冰終界傳送門框紅石燈 這些方塊在被踩踏和敲擊的時候發出「石製類」的聲音,並且很多「玻璃類」方塊推薦用鎬破壞,但是「玻璃類」方塊與「石製類」方塊的區別是——「玻璃類」方塊在被破壞的那一霎那會發出清脆的玻璃碎裂的聲音。
地獄類 骨塊地獄石玄武岩拋光玄武岩靈魂砂靈魂土扭曲菌絲石緋紅菌絲石地獄磚地獄磚階梯地獄磚半磚紅色地獄磚紅地獄磚階梯紅地獄磚半磚地獄合金磚地獄孢子塊迷離孢子塊菌光體地獄金礦地獄石英礦磁石猩紅菌椗迷離菌椗猩紅菌絲體迷離菌絲體遠古殘骸 包含各種地獄方塊中不同的音效。
其他 鐵砧和鐘在行走和破壞時則發出石製方塊的聲音,只有在放置時才發出特殊的聲音。

歷史

Java版
1.7.213w42a加入了sounds.json。
1.915w43a變更了許多聲音的id,之前的id可以從sounds.json/Java版1.9前上查看。
15w43b加入了「subtitle」字段。
16w02a加入了「voice」聲音事件類別。
1.10移除了「category」字段。[1]
1.1318w10a加入了「preload」字段。
攜帶版
1.0.41.0.4.1加入了sounds.json、sound_definitons.json和music_definitons.json。

參考

語言

Advertisement