リソースパックでサウンドを置き換える:sounds.jsonと.ogg必須の理由
Minecraftが再生できるのはOgg Vorbisだけであり、サウンドイベントはファイルではありません。ここではマッピングファイル、サウンドを置き換えるのではなく追加する方法、そして自作サウンドが無音になる理由を解説します。
サウンドの置き換えは、他のどのリソースパック機能よりも静かに失敗します。そしてその原因はほぼ必ず次の2つのうちどちらかです。オーディオ形式が間違っているか、サウンドイベントとは何かを誤解しているかです。
Ogg Vorbisのみ
Minecraftが再生するのは.ogg(Vorbis)だけで、それ以外は再生されません。.mp3や.wavを.oggにリネームしても再生されません。コンテナが実際にOggである必要があります。
モノラルかステレオかも重要です。3D空間に配置されるのはモノラルのファイルだけです。ステレオファイルはどこでも一定の音量で再生されるため、音楽には適していますがブロックのサウンドには不適切です。自作の金床サウンドが自分を追いかけてくるように聞こえるなら、それはステレオです。
サウンドイベントは名前であり、ファイルではない
entity.pig.ambientはイベントです。これはファイルのリストにマッピングされ、再生のたびにその中から1つがランダムに選ばれます。ブタのサウンドを置き換えるというのは、イベントを再定義するということであり、どこかにファイルを置くことではありません。
assets/minecraft/
├── sounds.json
└── sounds/custom/my_pig.ogg
{
"entity.pig.ambient": {
"replace": true,
"sounds": [ "custom/my_pig" ]
}
}
3つのポイント:
replace: trueはバニラのリストを破棄します。これを省略すると、あなたのサウンドはプールに追加されるため、時々あなたのサウンドが再生され、それ以外の時は元のサウンドが再生されます。どちらの動作も有用ですが、デフォルトは追加です。- パスには
sounds/と.oggを含めません。custom/my_pigはassets/minecraft/sounds/custom/my_pig.oggに解決されます。 sounds.jsonはassets/minecraftのルートに置きます。sounds/の中ではありません。
ファイルごとのオプション
"sounds": [
{ "name": "custom/my_pig", "volume": 0.8, "pitch": 1.2, "weight": 3, "stream": false }
]
weightはリスト内のランダム選択に偏りを持たせます。stream: trueは数秒を超えるもの——音楽やレコード——に使います。ストリーミングされない長いファイルはメモリに完全に読み込まれ、クライアントを停止させることがあります。volumeは1.0を超えられません。より大きくするには、より大きなソースファイルが必要です。
まったく新しいサウンドを追加する
何も衝突しないよう、独自のネームスペースを使います:
assets/my_pack/sounds.json
assets/my_pack/sounds/spell.ogg
{ "spell": { "sounds": ["spell"] } }
その後、/playsound my_pack:spell master @a ~ ~ ~ 1 1を実行します。カスタムサウンドイベントは/playsoundで、ジュークボックスではジュークボックスソング定義を介して、ノートブロックではプレイヤーヘッドのnote_block_soundコンポーネントを介して機能します。ただし、ゲームのアクションに自動的に紐付くことはありません。
無音になる理由
- 本物のOgg Vorbisではない。
- パスに
sounds/または.oggが含まれている。 sounds.jsonが無効なJSONである——末尾のカンマがファイル全体を壊すため、新しいサウンドだけでなくパック内のすべてのサウンドが無音になります。pack.mcmetaが古い——26.xではmin_formatとmax_formatが必要で、それらがないパックは互換性なしと表示されます。
パックフォルダ構造、サウンドイベントの再マッピング、アニメーションテクスチャのチートシートはResource Pack Reference Toolsにあります。