NakanishiのForge1.20.1のJavaMod開発講座

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

JavaでMinecraftのModを作ろう☆ GUIブロック編③ 〜仮のBlockEneityを登録しよう〜

こんばんは。Nakanishiです。

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

Kazushi_Nakanishiのこっそりサーバー

一緒にゆるくMod制作を楽しみませんか?
初心者も大歓迎です。

※)日本語での会話ができる方のみ参加可能です。
  条件に合わない方は参加をご遠慮ください。

 

 

前回のおさらい

仮のBlockEntityのクラスを作りました。

JavaでMinecraftのModを作ろう☆ GUIブロック編② 〜仮のBlockEneityのクラスを作ろう〜 - NakanishiのForge1.20.1のJavaMod開発講座

今回は登録をして、BlockEneityのクラスの赤線を消すところまでしようと思います。

 

 

①BlockEntityの登録クラスを作ろう

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

 

 

まず、登録する為の窓口を作ってあげます。
例)

public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, Nakanishi_Mod.MOD_ID);

 

💡ポイント

<?>どのBlockEntityでも扱えるようにするという意味です。

Nakanishi_Modは自分のメインクラスを指定してください。

 

ここまで書けましたら、早速PaleOakBarrelBlockEntity】を登録していこうと思います。

例)

public static final RegistryObject<BlockEntityType<PaleOakBarrelBlockEntity>> PALE_OAK_BARREL = BLOCK_ENTITIES.register("pale_oak_barrel",
            () -> BlockEntityType.Builder.of(PaleOakBarrelBlockEntity::new,
                    NakanishiModBlocks.Blocks.PALE_OAK_BARREL.get()).build(null));

 

仮の登録

ここで::newが赤線が引かれているのは、まだ【PaleOakBarrelBlockEntity】が【protected】になっているからです。

 

なので、【PaleOakBarrelBlockEntity】を修正していきます。

 

現段階で【PaleOakBarrelBlockEntity】がこうなっていると思います。

public class PaleOakBarrelBlockEntity extends RandomizableContainerBlockEntity {
    protected PaleOakBarrelBlockEntity(BlockPos pos, BlockState state) {
        super(pos, state);
    }

 

ここの【protected】を【public】に変える事で、登録文の赤線が消えます。

例)

public PaleOakBarrelBlockEntity(BlockPos pos, BlockState state) {
        super(pos, state);
    }

 

 

これで登録文の::newの赤線が消えます。

 

次にまだ【PaleOakBarrelBlockEntity】に赤線が出ているので、必要な引数を渡して赤線を消していこうと思います。

 

例)

super(NakanishiModBlockEntity.PALE_OAK_BARREL.get(), pos, state);

 

修正したBlockEneityのクラス

これで【PaleOakBarrelBlockEntity】の赤線が消えて、仮のBlockEneityのクラスが完成となります。

 

最後にメインクラスに登録クラスと記入して、今回は完了となります。

例)

NakanishiModBlockEntity.BLOCK_ENTITIES.register(bus);

 

 

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

次回はブロックの中身とプレイヤーのインベントリをつなぐ“橋渡し”となる、Menuクラスを仮で作っていこうと思います。

 

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

 

次回記事

JavaでMinecraftのModを作ろう☆ GUIブロック編④ 〜仮のMenuクラスを作ろう〜 - NakanishiのForge1.20.1のJavaMod開発講座