長らくマイクラ1.12に住んでて最近のバージョンを全然プレイしていなかったんだけれども……。
最近になって1.20.1を始めた。というのも、とあるシード値を使ってみたくて。
その話はまた後でするとして。数個MODを入れてプレイしているんだが、そのうちの2つでレシピの重複が起きていた。それをデータパックによるレシピ追加で別のレシピを作ることで解決できた話。
重複したレシピについて
豆腐CraftReloadの「漉し布」とComfortsの「Sleeping Bag(寝袋)」が同じレシピ。漉し布を作りたくても寝袋ができてしまう。
どちらも羊毛を作業台で真ん中横一列に並べるというもの。
データパックで解決するやり方
データパックでは既存アイテムのクラフトレシピが追加できる。元々作成できるアイテムのアナザーレシピを増やすこともできるし、本来作成できないアイテムを作成できるようにもできる。
このデータパック、MOD導入済みワールドならMODアイテムの作成レシピの追加もできるということがやってみてわかった。
以下、手順。
1.「起動構成フォルダ/saves/導入したいワールド/datapacks」に適当なフォルダを作る
今回は「add_recipe」という名前にした。
2.「add_recipe」フォルダ内に「pack.mcmeta」ファイルを作って中身を記入
これはデータパックをマインクラフトに認識させるために必要なファイル。詳しい書式は他サイトが詳しい。
今回は以下のように記入した。pack_formatは1.20.2では18になるので注意。
{
"pack":{
"pack_format":15,
"description":"fix recipe collision"
}
}
3.さらにフォルダを作ってレシピを入れる階層を用意する
「add_recipe」フォルダ内にさらにフォルダを作っていく。
最終的に「起動構成フォルダ/saves/導入したいワールド/datapacks/add_recipe/data/add_recipe/recipes」になればOK。
「add_recipe」が2回あるのは間違いではない。名前空間フォルダがdataの中にも必要なんだ。
4.レシピを追加するためのjsonファイルを作る
これも詳しい解説は他サイトに任せるとして、今回は定型クラフトレシピで、バニラの白い羊毛を縦並びに重ねたら豆腐CraftReloadの漉し布になるようにした。
{
"type":"crafting_shaped",
"pattern":[
" # ",
" # ",
" # "
],
"key":{
"#": {
"item": "minecraft:white_wool"
}
},
"result":{
"item":"tofucraft:filtercloth",
"count":32
}
}
本当は羊毛系ブロックならなんでもOKにしたかったんだけど、書き方がよくわからなかったので、白い羊毛固定にした。
こんな風に作成アイテムにMODのレシピを指定することができた。
4.動作確認
追加したレシピで作ってみて作れたらそれでOK! なんだけど。
データパックとして認識されているかどうかは、チートをONにした上で「/datapack list」というコマンドを打って、「add_recipe」が出てくるかどうかで確認できる。
認識されていない場合、カッコが足りないとか余分にコンマがついているとか、そういう理由っぽい。カッコはしっかり閉じなければいけないのは当たり前として、不要なコンマをつけるだけでもアウトで、結構厳しい。
データパック作成の参考サイト
今回データパック作成に伴って参考にしたサイトは、まず大手wiki2つ。
それから、データパックのレシピ記述を作ってくれる便利サイトを紹介しているこちらの記事。
フォルダ構造が特にややこしいので、抵抗が無い人はVSCodeのData pack Helper Plusとか使うと楽かも。おれは今回使わなかったけど、使えばよかったと思った。
余談:それぞれどんなMODか
ちなみに今回名前を上げたMODはどんなものかというと……
豆腐CraftReloadは豆腐作りを楽しんだり、豆乳を飲んだりできるMOD。豆腐と豆腐に関連する食べ物レシピがたくさん追加されて、料理も楽しめるし、バニラでは食べられないものも食べられるようになったりする。豆腐建材も豊富。追加されるディメンジョンである豆腐ワールドにはボスモンスターもいる。古くは1.7.10時代に開発されており、別作者が引き継いでいるらしい。
Comfortsはリスポーン地点を変更しない寝袋とハンモックが追加されるMOD。特に寝袋は置いた瞬間寝て起きた瞬間回収するというスピーディさで、サバイバルで遠方に冒険しているとき向け。めちゃくちゃ便利。ハンモックも昼寝用にすることもできるし、普通に夜寝るベッドとしても使える。
このほかにCreateという歯車で工業化できるMODを入れて遊んでいる。Createの情報は結構あちこちで見かけるけど、知見がいくつあっても困らないMODな気がするので、そのうち何か書けることがあったら書きたいと思う。
余談2:使ってみたかったシード値
上のほうでちらっと書いた「使ってみたかったシード値」はこちら。
X12,000とかいう気が遠くなるぐらい遠い土地なんだけど、サバイバルでも案外たどり着けた。
行く途中にでっかい荒野バイオームと、森の洋館と、海底神殿があった。途中のちょっと北のほうには樹氷もあった。
今はサクラの林で囲まれた盆地の湖のそばに住んでいる……。
おわりに
マイクラの新しいバージョンは初めてまともにプレイしているんだけど、バニラだけで遊ぶのがしんどくてついついMOD入れてしまうのが悲しいね。バニラだけでも充分面白いゲームにはなったと思うんだけれど、どうも目標設定がうまくできなくて……。
というわけでMODをいくつか入れてみたらレシピが衝突してしまったので、データパックで解消できて本当によかった。
豆腐CraftReloadの自動化のために入れてみたCreateが存外面白いので、その話をいつかできたらなあ。