環境構築

https://www.tntmodders.com/tutorial/env-1182/ に従う

Forge はサーバー Forge に作成した Mod を導入する

Modは MDKをDLして開発 https://gradle.org/next-steps/?version=7.5&format=bin

wget https://services.gradle.org/distributions/gradle-7.5-bin.zip -P /tmp sudo unzip -d /opt/gradle /tmp/gradle-7.5-bin.zip sudo vi /etc/profile.d/gradle.sh sudo chmod +x /etc/profile.d/gradle.sh source

ソースはプロジェクト/ワークスペースのsrc/main/java下に配置し、リソース類はプロジェクト/ワークスペースのsrc/main/resources/assets下に配置する。

テスト方法

gradle runServer


gradlew runClient

配布

gradle build

これで起動できるけど、クライアント側も同じ Mod が入ってないとダメ 結局、ローカルで Minecraft 立てつつ開発するのが一番良い

Exampleの使用 サンプルが何するのか謎

仕様確認

Java でクラスの前に@つける→アノテーション

https://qiita.com/tkj06/items/a9fe1881dc965893a5f4

Javaではアノテーションをプログラムに記述することにより、コンパイラで出力される警告メッセージを抑制したり、実行環境によってプログラムの動作を変更

DefferedRegister

https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.16.5/net/minecraftforge/registries/DeferredRegister.html

全サプライヤーのリストを管理し、それらをイベント中に登録する そのクラスで保持するアイテムのこと?マイクラ全体にアクセスはできないかも…?

コンストラクタ

FMLJavaModLoadingContext

https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.16.5/net/minecraftforge/fml/javafmlmod/FMLJavaModLoadingContext.html

        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
        
        
        // Register the commonSetup method for modloading
        modEventBus.addListener(this::commonSetup);

リスナーに関数登録できる。

Git登録

ssh -i ~/.ssh/gitsshkey git@github.com
PTY allocation request failed on channel 0
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

1.19のreference https://maven.fabricmc.net/docs/yarn-1.19+build.1/net/minecraft/entity/player/PlayerEntity.SleepFailureReason.html

javadoc ファイルの生成が必要そう

Getting Started https://docs.minecraftforge.net/en/latest/gettingstarted/#from-zero-to-modding

C:�sers\shuaki.jdks