Modders移転しました。(24376)今日人気のページカウンターの値があるページは1つもありません。※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。概要レシピを追加する。前のチュートリアルまで実装している段階でのコードである。ソースコード残念!ソースコードの追加実装などいらないのだよ!!あくまでも前のチュートリアルまで実装できていればだが、レシピの実装はjson側で行うため追加コードは必要ない。解説MC1.12より、今までのレシピの登録方法が非推奨となり、代わりにjson形式でレシピを登録することになった。その為、バニラにレシピを追加するだけのMODなら最悪@Modをつけたクラスを作成するだけでjavaに触れるのは終わる。名称はそのままforge側に登録され、/recipeコマンドで使われるため作られるアイテムのレジスター名にするのが最適である。type要素でクラフトタイプを指定する。"minecraft:crafting_shaped"で定形レシピ、minecraft:crafting_shapelessで不定形レシピを指定する。次に、定形レシピではpatternでレシピの形を指定し、その文字に当てはまるアイテムをkeyで指定する。不定形レシピではingredientsで指定する。最後に、resultで結果を登録する。区切ってある前がMapのkey、後ろがvalueであると考えれば良い。item要素で<modid>:<レジスター名>、count要素で個数、data要素でメタデータ(アイテムなのでblockstateは登録できない)を指定する。アイテムの種類を増やしたいときはkey若しくはingredientsを下のように変更すれば良い。レシピ追加通知MC1.12からの新機能として、「レシピブック」がある。バニラのアイテムは入手したとき右上に「新規レシピ追加」という通知が出る。今回はアイテムを大量に追加するMOD用に「レシピブック」とイベントを使って通知を出す。(進捗のシステムを使ってレシピを出すことも出来るが、書くべきjsonファイル数が多くなる。そのやり方は進捗の追加チュートリアルで記載予定。...AluminiumMod.javaクラス末尾に追加する。//アイテムを拾ったときのイベント。//コンテナを閉じたとき(チェストやプレイヤーインベントリなど)のイベント。locations)でレシピブックに追加する。AluminiumRecipeHolder.javaレシピをリソースから読み取って保持するクラス。//ItemStackよりそのアイテムが鍵となるレシピを取得できるようにする。//assets/<modid>/recipes/よりリソースを取得する。//jarファイル内か否かで処理が変化する。//jarファイル自体を取得する。(zipファイル・jarファイルとして扱う事ができる。//inputstreamを使ってjarファイル内のjsonを読み込む。//ファイルを全て取得する。これもjarか否かによって変わる。//inputstreamよりJSONを読み込む。//文字列の中にパスが紛れ込んだ場合それを消す。".json"を抜いてResourceLocationとして保存する。//定形レシピでキーを"#"にしたアイテムを鍵とする。//不定形レシピで一番上に書いたアイテムを鍵とする。//ItemStackを使ったマップを定義する。コメントこの項目に関する質問などをどうぞ。