特定のブロックの音がうるさいので無音にするリソースパックを自分で作る

2024/07/09 執筆

modを50コくらいポンポコ導入してプレイしているのですが、その中のひとつ、「Farmer's Delight」の"コンロ"がなんとも耳にジワジワと響く
ということで、modのブロックだけどどうにかできないかと模索。
modmod言ってますが、modとは関係ないサウンドでした。(modがバニラのサウンドを参照してる形だったので大元を封じればそっちも封じれた)

◆パック作成以外に試したこと、経緯

基礎知識からぜんぜん無いのですが、とりあえず最初に思い付いたのは
「チャット欄からコマンドで特定のブロックのサウンドを無効にする」
ググってみたりしたけどなんかよくわからず……(読解力の問題だったらすみません)
知恵袋でそれっぽいのを見つけたけれど、"ブロック"と"音符ブロック"みたいにそれぞれ何%か変えられるという感じで。
うーーん、今回とはちょっと違かった。

次に、/stopsound を見つけてきてwikiのとおりにやってみたけど……
なんか、普通に鳴ってない??
リピートのコマンドブロックがいるのかな~、クリエにはしたくないな~、
というのもあって、別の手段を探す。

「そういえば"コンロ"は何てファイルを参照して音が鳴っているんだ?」
と思ったのでちょっと覗いてみた。
なんとバニラの音声を参照してる!
mod独自のやつだとほとんど無理ってGoogle先生も言ってたしなーと思ってたらなんとかなりそうな感じでした!やったね

という経緯でリソースパックを作ることになりました。
配布はしてないぞ!

◆作るときやったこと

・リソースパックを作る

いよいよリソースパック作りに取り掛かります。
以前にテクスチャリソパを作ったことがあって、なんとなーく工程を覚えていたので、前作を見ながら探り探りやってみた。

今回のディレクトリ構成図は、まずはこんな感じ。ものによって変わります
  パック名(自由)
  ├assets
  │ └minecraft
  │  └sounds
  │   └block
  │    └campfire
  └pack.mcmeta
pack.mcmeta 以外は全てフォルダ。

とりあえずまずはリソースパックの枠を作る
新規フォルダを作成→リソースパックの名前を入力。(お好みの名前でok)
そこに上記の順番でフォルダを作成していく。マトリョーシカみたいな感じです
そうしたら"パック名"のところ("assets"が表示されていたらok)に新規テキストファイルを作成→名前は一旦そのまま、メモ帳とかで開いて以下を記入(一応ほかの人のとかwikiとか見て自分で書いた方がいいかも?筆者も曖昧です)
https://ja.minecraft.wiki/w/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Data_pack_format (wikiのバージョン別で値が載ったページ)

{
  "pack": {
    "pack_format": 15,
    "description": "せつめい(書き換えてね)"
  }
}

パックフォーマット(pack_format)はバージョンによって違うらしい。
あなたの使いたいマイクラのバージョンに合わせよう!
保存したら"pack.mcmeta"に名前を変更。ここはどんなときも名前がこれ。

ここまでできたらコピー元を探し出す工程に入ります。
modの方を覗いたところsoundsフォルダではなく、同階層にある"sounds.json"に参照の指定がたくさん。
そこにstoveと検索して"block.campfire.crackle"を発見!
campfireって…キャンプファイヤーの音だったんですね~、気が付かなかった。

使っている音を特定できたので、そのキャンプファイヤーの音の場所を探します。 だいぶこちらにお世話になりました。感謝https://gska.hatenablog.jp/entry/2019/07/28/171411  https://gska.hatenablog.jp/entry/2019/07/17/200854(Gスカの3D素材やPCゲーブログ さん)

上記のやり方を使ってとりあえずやってみた。
○○>AppData>Roaming>.minecraft>assets>indexes
で、一番新しいやつをテキストエディタで開く。(今回は"16.json"でした)
最新じゃなくてもいいのかはわかりません…
Ctrl+Fでfireと検索→campfire/crackle を発見。crackle1からcrackle6までありました
それのちょっとあとに"hash":"5cc75e9e824a6ae798e657282694cc4174bfdd15"みたいなのがあるはず。こいつをコピーするのだ(これだと5cc75…から…fdd15まで)
16.jsonは参照先をまとめたやつ、数字と文字の混ざった長いやつが実際にサウンドが入ったやつ。

そしたらindexesがあった、 …>.minecraft>assets のとこに戻って、"objects"を開いてエクスプローラーの検索欄にその長いのを貼り付け
すると、一つだけ結果が表示されるはず。そのファイルをコピーして作業場にペーストしました。
移した先は パックの名前>assets>minecraft>sounds>block>campfire>ココ!

次は音声の編集をする行程に入ります。
今回耳に響く音だったってことで動画編集ソフトで無音に。差し替えとかはしてないけどやってることは一緒じゃないかなぁ。

まずこのファイルが拡張子なしなのでエクスプローラーの"名前の変更"で.mp3に
AviUtlで音量を0にして ↓
.wavで出力を選んで
、(wavにこだわりはありません…わかりやすかったから…) ↓
名前を貼り付けして出力(crackle1など)、 ↓
最後にエクスプローラーで拡張子を.oggに変更して作りました。ゴリ押しです。
たぶんもうちょっとやりようあるんじゃないかな……

このとき名前はさっきの長いのじゃなくて、持ってきたとき手前に書いてたminecraft/sounds/block/campfire/crackle1.oggcrackle1.oggの部分
ここをファイル名にします
crackle2.oggって書いてあるやつを持ってきてたらその名前にする。
自分で差し替えするときも、その立場にいてほしいってことを名前で指定してる みたいなことだと思うので、そこであってほしい名前を持ってきてやってください。
これができたら完成!

6コ種類があったので、6つとも音量を0にして名前も付けました。
今回はバリエーション関係なく無音にしたかったからね。

・小話

ちなみに実は一度手間を挟んでやってしまっていて……
名前はそのまま、.wavで出力後に一回拡張子なしにしてから、拡張子含めコピペで.oggに変えたという工程で作成しました。
拡張子なし→.ogg なのか、
.wav→.ogg なのかという細かい違いですが…
一応試してみてエラーは出ませんでしたが、なんかできねぇ!ってなったときこれしてたらお役立てください

あと、解説を見てやっていて「.oggはどこからきたの??」と最初思ったんですが、16.jsonのファイルにちゃんと表記されてましたね。うっかりうっかり!

・ディレクトリ構成図(完成形)

完成形はこんな感じに。

パック名(自由)
├assets
│ └minecraft
│  └sounds
│   └block
│    └campfire
│     ├crackle1.ogg
│     ├crackle2.ogg
│     ├crackle3.ogg
│     ├crackle4.ogg
│     ├crackle5.ogg
│     └crackle6.ogg
└pack.mcmeta


◆作ってみて、あとがき

拠点が快適になってとてもよいです
しかし、このリソースパックを入れてから拠点付近のブロックの音が突然聞こえなくなったりしてるので欠陥ですね……
ネコチャンの声は聞こえているのでブロックだけなのだろうか?
初心者のド素人が必死こいて勉強しながら作ったのでそんなもんです

ミリでも役に立ててたら幸いです
またね🐸




この記事が気に入ったらサポートをしてみませんか?