NakanishiのForge1.20.1のJavaMod開発講座

MoreCropsDelightの作者、NakanishiがMod制作について書いていきます。

JavaでMinecraftのModを作ろう☆ 木材編⑬ 〜葉ブロックを作ろう〜

こんばんは。Nakanishiです。

Discordサーバーを運営中です。

Kazushi_Nakanishiのこっそりサーバー

一緒にゆるくMod制作を楽しみませんか?
※)日本語での会話ができる方のみ参加可能です。
  条件に合わない方は参加をご遠慮ください。

 

 

前回のおさらい

樹皮を剥がすためのCLASSファイルを制作しました。

JavaでMinecraftのModを作ろう☆ 木材編⑫ 〜樹皮を剥がすCLASSファイルを作ろう〜 - NakanishiのForge1.20.1のJavaMod開発講座

今回は葉ブロックを作っていこうと思います。

 

 

JSONファイルを用意しよう

pale_oak_leaves

葉ブロックの【pngファイル】を用意したら【textures/block】に入れてもらいます。

そうしたら次に【models/block】を書いていきます。

 

pale_oak_leaves.json例)

{
  "parent": "minecraft:block/leaves",
  "textures": {
    "all": "nakanishi_mod:block/pale_oak_leaves"
  }
}

 

pale_oak_leaves.json

次に【models/item】を書いていきます。

 

pale_oak_leaves.json例)

{
  "parent": "nakanishi_mod:block/pale_oak_leaves"
}

 

pale_oak_leaves.json

これで【model】は完成です。次に【blockstate】を書いていきます。

pale_oak_leaves.json例)

{
  "variants": {
    "": {
      "model": "nakanishi_mod:block/pale_oak_leaves"
    }
  }
}

 

pale_oak_leaves.json

これで【blockstate】は完成で、見た目のJSONファイルは完成です。

 

 

②CLASSファイルを作ろう

名前は【Block_Pale_Oak_Leaves】にしました。

葉ブロックは【LeavesBlock】というクラスを使います。

例)

extends LeavesBlock

 

赤線が引かれてますので、仮のパラメータと引数を表示させてあげましょう。

 

仮のパラメータと引数を表示

そうしたら、いつものように()内を消してあげて引数を入力します。
例)

super(Properties.copy(Blocks.OAK_LEAVES));

完成したCLASSファイル

ここまで書けたら、レジストリ登録をしていきます。

 

ブロック登録例)

public static final RegistryObject<Block> PALE_OAK_LEAVES = BLOCKS.register("pale_oak_leaves", Block_Pale_Oak_Leaves::new);

 

アイテム登録例)

public static final RegistryObject<Item> PALE_OAK_LEAVES = BLOCK_ITEMS.register("pale_oak_leaves"
                , () -> new BlockItem(Blocks.PALE_OAK_LEAVES.get(), new Item.Properties()));

 

これで【Pale Oak Leaves】がゲーム内に反映されました。

それでは残りの登録もしていきましょう。

 

 

③設定を追加しよう

まず翻訳から追記していきます。

追記例)

"item.nakanishi_mod.pale_oak_leaves": "Pale Oak Leaves",
"block.nakanishi_mod.pale_oak_leaves": "Pale Oak Leaves"

 

次にクリエイティブタブのリストに追記します。

 

次にドロップの登録をしたいのですが、まだ苗木を登録していないので、苗木を作ってから登録します。

 

なので、次にタグ登録をしていきます。

葉の特性を持たせる【leaves.json】と、適正ツールのmineable/hoe.json】を書いていきます。

 

leaves.json場所)

resources/data/minecraft/tags/blocks/leaves.json

 

leaves.json例)

{
  "values": [
    "nakanishi_mod:pale_oak_leaves"
  ]
}

 

leaves.json

 

mineable/hoe.json場所)

resources/data/minecraft/tags/blocks/mineable/hoe.json

 

mineable/hoe.json例)

{
  "values": [
    "nakanishi_mod:pale_oak_leaves"
  ]
}

 

mineable/hoe.json

 

これでタグ登録は完了です。

 

それでは動作確認をしてみましょう。

 

設置確認

テクスチャの透過も出来てますね。

 

サバイバルモードでの確認

適正ツールもクワになってました。

ドロップの設定をしていない為に何もドロップしませんが、これで葉ブロックの基本は完成です。

 

 

ここまでお疲れ様でした☆

 

もしこの記事が参考になった、または「JavaでMod制作を始めてみたい!」と思っていただけたら、ぜひ読者登録をお願いします。
それではまた次回お会いしましょう。
ここまでお読みいただき、ありがとうございました。

 

次回記事

JavaでMinecraftのModを作ろう☆ 木材編⑭ 〜苗木を作ろう〜 - NakanishiのForge1.20.1のJavaMod開発講座