MC1.14以降のForgeにはデータファイルの自動生成機能(Data Generation)が搭載されている。
例えば1.16.5などに対応した他人のModのプロジェクトで、src/generated
ってディレクトリを見たことある人も少なくないだろう。このディレクトリは正しくその自動生成されたデータファイルが格納されるのである。
ここでは、Minecraft 1.18.x用のMinecraft Forge(確認はMinecraft Forge 1.18.2-40.1.51)での使用方法をまとめている。
gradle runData
を実行すると、以下ようなクラスが存在する場合、これに則ってデータファイルが自動生成される。ここでは、クラス名はExampleDatagen
としている。
テクスチャや音声ファイルなどは自動生成されない。
それぞれの自動生成方法は別個説明する。
net.minecraftforge.common.data.LanguageProvider
を継承するクラスを作成するLanguageProvider#addTranslations
を実装し、そこにどのアイテムやブロック、字幕や進捗がどの文字列でゲーム中に表記されるかを記述する。ExampleDatagen#gatherData(GatherDataEvent)
にてイベントにプロバイダクラスを登録する
1.18.x版Minecraft Forgeでの記述なので、1.16.5版とかの場合は公式のドキュメントとかで確認してくださいね
1.19.x版のMinecraft Forgeなら多分ある程度記述方法が共通しているかもしれませんね