うまげーむさん読者になるうまげーむさんゲームの情報を主に投稿します。Twitterでブログの更新をツイートしてます。Tumblrこのシリーズのまとめはこちら:umagame.hatenablog.jpどうも。完全にこのシリーズにはまってしまいました。問題発生!レシピの追加さいごにはじめに今回はブロックと、レシピの追加をやります。前回作った圧縮土をさらに圧縮した、圧縮された土ブロックを作ります。前回のアイテムのレシピも設定します。前回の記事:umagame.hatenablog.jpブロックの追加ブロックのクラスブロックは前回やったアイテムと同じように、ブロックのクラスとブロック登録用のクラスを作ります。ブロックのクラスを作りましょう。前回と同じようにBlockクラスを継承して、コンストラクタを追加します。}}コンストラクタの中身についてですが、前回と違って今回はPropertiesクラスのcreateメソッドを使います。あと、ID(レジストリーネーム)も設定しておきます。this.setRegistryName("super_compressed_dirt");}createを使うことにより、ブロックの材質(Material)を設定できます。今回は圧縮されまくっているので、石と同じROCKにしておきます。あと、hardnessAndResistanceを使って硬さ、爆発耐性を設定します。硬さと爆発耐性に関しては、こちらのサイトを参考にすると良いです。Wiki)硬さは、上のサイトでいうと一番左の値を入力しましょう。今回は、バニラの石と同じにするため硬さを1.5、爆発耐性を6にします。super(Properties.create(Material.ROCK).hardnessAndResistance(1.5F,6.0F));}次に採掘レベルと、適正ツールを設定します。採掘レベルはgetHarvestLevel、適正ツールはgetHarvestToolで設定します。採掘レベルを設定することで、鉱石のようにツールの材質によって取れるか取れないかを設定することができます。(0なら木、1なら石、2なら鉄、3ならダイアツルハシ)今回は石と同じにするので採掘レベルを0、適正ツールをツルハシにします。最終的にこうなります。}}これでブロックのクラスはOKです。登録用クラスを作ります。中身は前回同様、丸パクリです。}}前回と違うところは、ブロックのインスタンス(SUPER_COMPRESSED_DIRT)を作っているところと、ブロックそのものと、アイテムとしてのブロックをそれぞれ登録しているところです。(registerBlock、registerBlockItems)とりあえずこれをコピペすればOKです。Block...のところでエラーが出る場合があるので、nullを返すメソッドを作ってそれを使います。Null();にすればOKです。試しに起動してみると、テクスチャがないブロックが追加されています。設定した硬さや適正ツールなどはちゃんと反映されています。テクスチャ、名前の設定これに関してはほぼ前回と作業は同じです。テクスチャを用意します。これをassets/ModのID/textures/blockに置きます。(ファイル名はブロックのIDに)次に、assets/ModのID/models/blockにjsonファイルを作ります。これにこんな感じで入力します。}}今回の場合はこんな感じ。}}また、itemの方にも追加する必要があります。assets/ModのID/models/itemにまたjsonファイルを作成し、これを入力。"ModのID:block/ブロックのID"}今回はこんな感じ。"dirtmod:block/super_compressed_dirt"}ブロックの場合は、models以外にblockstatesも追加しなければいけません。assets/ModのID/blockstatesに、ブロックのIDで新しくjsonファイルを作ります。それに、こんな感じで入力。}}今回はこんな感じ。}}次に、assets/ModのID/langのファイルに次の1行を追加します。"名前"前の行に「,」を追加するのを忘れずに。Dirt"}ja_jpがこんな感じ。"圧縮された土ブロック"}試しに起動すると、ちゃんとテクスチャと名前が反映されています。問題発生!ですが、このブロックをサバイバルで壊してみると...なにもドロップしません。これは修正する必要があります。調べたところ、ルートテーブルと呼ばれるjsonファイルを作れば良いみたいです。(昔はこんなのなかったのに...)src/main/resources/data/ModのID/loot_tables/blocksに、jsonファイルを作り、こんな感じに入力。]}poolsのnameのところは、何でもいいです。(ルートテーブルのIDらしい)今回の場合はこんな感じ。]}これで起動すると、ドロップするようになります。最後にレシピの追加をします。レシピは、実はjsonファイル一つで追加することができます。src/main/resources/data/ModのID/recipesに、新しくjsonファイルを作ります。(名前はなんでもいいですが、今回はアイテムのIDに合わせます)jsonの書き方ですが、レシピの追加にぴったりなサイトを見つけてしまいました。https://crafting.thedestruc7i0n.caこのサイトでは直感的にレシピを作れて、そのjsonも表示してくれます。(かまどなどのレシピも作れます)今回は土9個で圧縮された土1個なのでこうしました。}}起動するとちゃんと追加されてました。さいごに今回はここまでです。実は、ブロックのテクスチャのところで結構苦戦しました。(笑)ブロックの場合でもmodels/itemにjsonを作らないといけないのを完全に忘れてて、30分ぐらい取られた気がします...そういうことがありながら、この記事を書いていたのでもしかしたらソースコード等に間違いがあるかもしれません。そのときはご指摘お願いします。次回:umagame.hatenablog.jpではでは。液体マインクラフトMod制作チュートリアルの液体編です。アイテムティア、ア...マインクラフトMod制作チュートリアルの番外編その1です。ディメンションマインクラフトMod制作チュートリアルのディメンション編です。バイオームマインクラフトMod制作チュートリアルのバイオーム編です。鉱石の生成マインクラフトMod制作チュートリアルのパート9です。21:42ゲームが好きです。12700k】その他2023-03-13【お知らせ】ブログの更新を再開します。Minecraftサイト情報ブログについてプライバシーポリシーお問い合わせTwitterはてなブログをはじめよう!Umagameさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。