[Minecraft Mod #2] Minecraft Mod開発の初期構築
はじめに
MinecraftのMod開発環境を作成するために、Forgeの公式サイトにある開発ファイルを使用したいと思います。
Minecraft Mod開発環境にはJavaとgradleのインストールが必要になりますので、環境がそろっていない場合は、以下の記事を参考にインストールをお願いします。
Forgeのファイルのダウンロード
Forgeの公式サイトから開発環境の準備を行います。
Forgeから開発用ファイルのダウンロード
今回は最新バージョン(2024年8月現在)である1.21用のforgeの開発ファイルを使用したいと思います。
まずは以下のサイトへアクセスしましょう。Forgeの公式サイトになります。
図1.1のような画面になります。次に赤枠で囲われたMDKファイルをクリックします。
図1.1 Forgeのダウンロード画面
そうすると図1.2のような画面に移行しますが、何もクリックせず、右上にある赤線の秒数のカウントが終わるまで待ちます。
図1.2 Forgeのダウンロード画面
図1.3のように「SKIP」のボタンに代わりましたら、赤枠の「SKIP」クリックします。
図1.3 Forgeのダウンロード画面
そうしますとzipファイルがダウンロードされると思います。図1.4のzipファイルがダウンロードされたファイルになります。
図1.4 zipファイル
Minecraft Mod開発環境の準備
次はMod開発準備です。先ほどダウンロードしたzipファイルを任意の場所に解凍しましょう。
解凍しますと、以下のディレクトリ構成になっていると思います。これで開発環境の準備は完了です。
.
└── forge-1.21-51.0.29-mdk/
├── gradle/warpper/
├── src/main
├── .gitattributes
├── .gitignore
├── CREDITS.txt
├── LICENSE.txt
├── README.md
├── README.txt
├── build.gradle
├── changelog.txt
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
Minecraftの起動
次にマインクラフトの起動してみましょう。
Minecraftの起動
まずは下記コマンド実行してみましょう。実行しますと、ビルドが開始されます。
gradlew build
次に下記コマンドを実行してみましょう。
gradlew runClient
たくさんのログが流れて図1.5のような画面がたちが上がり、最終的に図1.6のようにMinecraftが起動すると思います。
図1.5 Minecraft起動中の画面
図1.6 Minecraft画面
これでMinecraftの起動は完了です。
VSCodeのタスクに追加
ついでにVSCodeにタスクを追加しましょう。forge-1.21-51.0.29-mdk
配下に.vscode/tasks.json
を作成します。
作成した、tasks.jsonファイルに以下のコードを書きこみます。(詳細な内容は省きます。)
{
"version": "2.0.0",
"tasks": [
{
"label": "マインクラフトの起動",
"type": "shell",
"command": "gradlew build && gradlew runClient",
"args": [],
"problemMatcher": [],
},
]
}
そうしますと、VSCodeのタスクの実行でマインクラフトの起動できるようなります。
Modの初期設定
今のままだと図1.7のようにModsをクリックしModを確認するとExample Modという名前になっています。これをこれから作成するMod名に変更していきます。
図1.7 Minecraft上に見えるModの名前
gradle.propertiesの編集
基本的な事項の変更は主にgradle.propertiesを編集していきます。その中でもModに関係するところを編集していきます。
今回はTanuki Modを作成することにしましょう。
# Modを特定するためにユニークなID。正規表現 [a-z][a-z0-9_]{1,63} に適合する必要がある。
- mod_id=examplemod
+ mod_id=tanukimod
# Mod名
- mod_name=Example Mod
+ mod_name=Tanuki Mod
# Modのバージョン
mod_version=1.0.0
# ModのグループIDになります。MODソースに使用されるベースパッケージと一致させる必要がある。
- mod_group_id=com.example.examplemod
+ mod_group_id=jp.dawnzlight.tanukimod
# Modの作成者の名前
- mod_authors=YourNameHere, OtherNameHere
+ mod_authors=CoCo9122
ディレクトリ/ファイルの変更
次にMODソースに使用されるベースパッケージと一致させる必要がありますので、ここも変更します。
src配下のディレクトリ構成は以下のようになっていると思いますが、ここを変更します。
ディレクトリの構想とファイル名を変更します。
# 変更前
.
└── src/main/java/com/example/examplemod/
├── Config.java
└── ExampleMod.java
# 変更後
.
└── src/main/java/jp/dawnzlight/tanukimod/
├── Config.java
└── TanukiMod.java
次にディレクトリの変更とMod名の変更に伴ってコードを以下のように変更します。
- package com.example.examplemod;
+ package jp.dawnzlight.tanukimod;
- @Mod(ExampleMod.MODID)
- public class ExampleMod {
+ @Mod(TanukiMod.MODID)
+ public class TanukiMod {
- public static final String MODID = "examplemod";
+ public static final String MODID = "tanukimod";
- public ExampleMod() {
+ public TankukiMod() {
- package com.example.examplemod;
+ package jp.dawnzlight.tanukimod;
- @Mod.EventBusSubscriber(modid = ExampleMod.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
+ @Mod.EventBusSubscriber(modid = TanukiMod.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
変更が完了いたしましたら、Minecraftを起動してみましょう。図1.8のようにTanuki Mod
に変更されていれば完了です。
図1.8 Minecraft上に見えるModの名前
まとめ
今回はMinecraftのMod開発構築を方法をまとめました。
意外に簡単に構築することができました。
何かあればコメントいただければと思います。
Discussion