Linux で動く MINECRAFT に MOD を導入しよう

今までキッズ達のために Linux 環境を整備してきて、そのうち


「Ubuntu で MINECRAFT」
https://qiita.com/nanbuwks/items/df10bba9f0ed473827d7

や

「Raspberry Pi にPC版（JAVA EDITION）マインクラフト」
https://qiita.com/nanbuwks/items/b31825333af5f5560ba2

において MINECRAFT で遊ぶ記事を紹介しました。


今回は、それらの MINECRAFT に MOD を導入する方法を紹介します。
キッズが読んで自力で設定できるように作った記事です。


# 環境

以下で試した内容です

- Ubuntu Linux 20.04
- Minecraft Java 版 1.12.1 
- Fabric 
- Fabric API v1.0.1+73071163a
- Mod menu v1.16.8
- Replay Mod v1.16.4-2.5.2




# あらかじめ、覚えておくこと (わかっているよね！！)

- MINECRAFT には 統合版、Java版がある。正確に言うとその他もあるが主にはこの2つ。
- Linux で動いている MINECRAFT は Java 版
- Java 版は MOD で機能拡張できる(統合版はアドオンで機能拡張する)
- MOD は MINECRAFT のバージョンに合わせる必要がある。
- MOD の多くは前提 MOD と呼ばれる別 MOD を入れておかないといけない
- 前提 MOD には、Forge / Fabric+FabricAPI などがある。多くは共存できない。

# キホンを押さえて作戦を立てる

MOD を導入するには、MOD をダウンロードして、ゲームディレクトリの mods フォルダに入れて、MINECRAFT を起動し直すだけです(例外もあります)。
ゲームディレクトリの mods フォルダってどこかな？ 
良くインターネット上の解説ページだと

```

C:\Users\(ユーザー名)\AppData\Roaming\.minecraft\...
```
と紹介されてますが、これは Windowsの場合です。
Linuxの場合は通常は


```

/home/(ユーザー名)/.minecraft/...
```

となります。ところが、ゲームディレクトリは自分で変更することができてしまいます。

## ゲームディレクトリを変更する理由

どうしてワザワザ変更なんてしないといけないのかな？
MINECRAFT はプレイするバージョンによって、MOD だけではなくプロファイルやセーブデータなども別物になります。
長く MINECRAFT を遊んでいると、バージョンやプロファイルが混ざってわけがわからないことになります。
それを防ぐために、ゲームディレクトリは自分で変更した方が何かと便利です。


## ゲームディレクトリはめんどくてもいちいち設定しよう！

なので、今回ここで説明する作戦は、

```

/home/(ユーザー名)/.minecraft/versions/(MOD名・MINECRAFTバージョン名)
```

をゲームディレクトリとし、

```

/home/(ユーザー名)/.minecraft/versions/(MOD名・MINECRAFTバージョン名)/mods
```
を mods フォルダの場所とします。

こうすることで、 MOD の管理だけではなく、セーブデータもわかりやすく管理できることになります。

# 欲しい MOD の調べ方

MOD は沢山の種類があるので、インターネットや解説本の記事を探して良さそうなものを選びます。
大体の MOD は依存関係があるので、欲しい MOD に何が必要かを調べます。
なお、記事の多くは Windows 用なので、Linuxとの違いが出ることがあります。違いが大きいのは前提 MOD を導入するときです。その違いも後に説明します。

今回は、サード・パーソン視点でプレイ映像を保管できる ReplayMod を例にします。


「【MOD解説】"後から"プレイを撮影!「ReplayMod」のリプレイ閲覧/カメラ操作完全ガイド」
https://napoan.com/replay-mod-part1/

の記事を見ると、 ReplayMod には Forge を先に導入する必要があることがわかります。
しかしながら、別の記事では Fabric/FabricAPI を導入とあります。

「【マイクラ】ReplayModを導入！Fabric&FabricAPI【1.14.4】 - むちっこブログ」
https://www.muchicco.com/entry/fabric-replaymod

どちらが正しいのでしょうか？


# 大元の情報を調べてみる



インターネットで調べものをするときに、どちらが正しいか調べるには、大元の情報を調べます。
ここでは、「ReplayMod」の大元の情報を調べることになります。

ReplayMod の大元の情報はここです。
https://www.replaymod.com/docs/#installing
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5f288f45-dd69-8b0a-7ee6-771789fbc1b7.png)

英語で、よくわかりませんね。
Chromeを使っていると、Google翻訳が簡単にできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6f42d244-330d-a8b3-a7d0-de6e2d934923.png)

MOD のダウンロードページも見てみます。

「Minecraft Replay Mod - Download Page」
https://www.replaymod.com/download/


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/91e4f229-c25c-6296-9d0f-a8f89162bad4.png)

これらを見ると、Minecraft 1.12.1 あたりまでは Forge、1.12.2 あたり以降は Fabric が必要ということがわかります。

そして、2021/3/20 現在、1.16.5 でプレイしているので Fabric を入れることになることがわかりました。

また、先のページから、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/2c782b8a-1b03-e9a8-59d8-3902ce9059ea.png)

インストールは ReplayMod を入れるだけではダメで、ffmpeg もインストールする必要があるらしいですね。



Fabric の入れ方の記事を探すと、以下がありました。

「【マイクラ】前提MOD「Fabric」とは？入れ方も含めてまとめてみた | とりせつブログ」
https://torisetsublog.com/fabric/

しかしながら、このやりかたは Windows であることに注意！ 

# Windows と Linux の違い

1. ダウンロードして mods フォルダに保管する MOD の場合は "
C:\Users\(ユーザー名)\AppData\Roaming\.minecraft\..." ではない
1. インストーラーを使う MOD の場合は、Windows だと exe だけれども Linux だと jar を選ぶ。 

「Fabric」 は、2. の場合になります。以下に、LinuxでFabric をインストールする方法を解説します。



# Linux へ 前提 MOD を入れる

ここでは、前提 MOD として Fabric をインストールする方法を示します。
試した Linux は Ubuntu ですが、どの Linux でもあまり変わらないハズ。


1. まず、 MOD をインストールする MINECRAFT のバージョンを決めます。今回は、1.16.5  とします。
1. 次に、MINECRAFTのバージョン(今回は、 1.16.5) で一度遊んでから MINECRAFT を終了します。Fabric導入の前に正常に動作することを確認するためと、必要なフォルダの作成が裏で行われるためです。
1. Fabric をダウンロードします
https://fabricmc.net/use/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e681b0bd-1bf5-1efe-2935-f841eee386a1.png)
「Download installer (Universal/.JAR)」を選びます。


1. Fabricをインストールします。ターミナルを起動して、
` $ cd ダウンロード ` または ` $ cd Downloads ` として、ダウンロードしたフォルダに移動して、次のコマンドを打ち込みます。
` $ java -jar fabric-installer-0.7.2.jar `
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c9f32d45-70de-5512-362d-4dc1b57971d6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f07592d6-8467-6152-6321-3a4cd8b459ba.png)

1. ランチャーを起動し直し、fablic-loader-1.16.5と表示されていることを確認します。まだ遊んじゃダメだよ！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/aac78cef-ceaf-317f-5b44-85b31d15ba45.png)
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d225a011-3487-61f9-fab4-7d189add0039.png)


1. プロファイルを作成します。ここで設定することをしっかり覚えておきましょう。MINECRAFT のバージョンが変わった時に、ごちゃまぜにならないようにするためです。
1. 「起動構成」を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/965c8b3c-9a55-d9aa-dfbb-32376c3c63fe.png)
1. fabric-loader-1.16.5 を押します。「プレイ」じゃないよ！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c7a06708-570a-e379-bfba-b563b1f8a08d.png)
1. ゲームディレクトリを「参照」して、「<デフォルトのディレクトリを使用する>」から変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/34f714b2-627f-f1b3-7269-cbeea1353c67.png)
.minecraft の下に versions があり、その中にfabric-loader-0.11.301.16.5ができているのでそれを開きます。ここがゲームディレクトリになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/aec00bc7-0c6a-a322-a6de-39934b5a72b0.png)

1. 「保存」して「プレイ」します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d64970df-458f-585f-bfac-aaff6a4b5bc1.png)

1. 起動構成ファイルを選び、フォルダマークをクリックします。 チェックをつけておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e62e11a5-4f98-a1ec-7af4-39e117c6d74d.png)
1. 右下に「Minecraft 1.16.5/Fabric (Modded)」 となっていることを確認します。新しいプロファイルなので英語になっています。日本語に直してプレイして終了します。
これで、先程設定したゲームディレクトリの中に ` config,logs.resourcepacks,mods,saves ` というフォルダができます。
今後、 このフォルダに MOD を入れたりゲームセーブデータを保存することになります。


# 一般的な MOD をインストールする

次に、一般的なMODをインストールします。。
ここでは、 Fabric API をインストールします。
https://www.curseforge.com/minecraft/mc-mods/fabric-api/files

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/42fb3ac4-8489-7f73-81a7-3eb2a128c4f4.png)

から、ダウンロードします。
ダウンロードしたファイルを開いておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5e8f926d-f7d3-e987-afcd-ed633df70216.png)

このファイルを、ゲームディレクトリの mods フォルダに入れます。最初の方に決めたように、ゲームディレクトリは 
`/home/(ユーザー名)/.minecraft/versions/(MOD名・MINECRAFTバージョン名) `
にする作戦だったですね。ここを開きたいのですが、.minecraft のように ドットが頭についたフォルダは Linux では隠しフォルダになっているので、普通では開けません。
これを開くには以下のどちらかで開きます。

## . /home/(ユーザー名)/.minecraft の開き方その1

ターミナルを開き、

```

$ xdg-open ~/.minecraft

```

としてフォルダを開きます。

##  . /home/(ユーザー名)/.minecraft の開き方その2

Alt+F2 を押して、「コマンドを実行」を出します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/3f4250c1-cd18-09fe-e5c2-bc2e9cba82da.png)
そこに .minecraft と打ち込んでエンターを押して、フォルダを開きます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/70e664bd-2cf1-ebf6-2ad2-d6760602b8b0.png)

## MOD の jar ファイルを配置する

フォルダの中の  versions -> fabric-loader-0.11.3-1.16.5 -> mods を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9f53fdb6-27c2-869d-9ea5-d332f2c8df94.png)

ダウンロードフォルダと、mods フォルダを並べておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8d361618-d759-3b9f-462f-5a40ffd1bb12.png)

mods フォルダに、先ほどダウンロードした fabric-api-0.32.0+1.16.jar を移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/86d86088-e955-57b4-86af-8a54833025c2.png)


これで MOD のインストールは完了です。



# MOD の一覧を確認する


もうひとつ、練習のために別の MOD をいんすとーるしてみましょう。 
 Mod Menu (Fabric) という MOD をインストールして、確認できるようにしてみます。

https://www.curseforge.com/minecraft/mc-mods/modmenu

をダウンロードし、先程の「一般的な MOD をインストールする」起動してみましょう。
インストールできたら、メニューに「Mods」というボタンが増えていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/55315fdc-1850-2488-ad78-8f392ab13bcc.png)

Modsボタンを押すと、導入しているMODの一覧が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ce1a496c-633f-ad0b-c04b-60af04853ac3.png)



#  ReplayMod の MOD をインストールする

さあ、ここまでできたら ReplayMod も簡単にインストールできますよね？ 「一般的な MOD をインストールする」の通り、やればいいだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5de37c4f-9fb6-9443-6a5e-ed64734afc0f.png)

うまくいくと、起動時に「リプレイビューワー」が出てきます。

がんばりましょう！



# ffmpeg をインストールする


さて、ここまでで ReplayMod を使ってリプレイはできますが、動画の書き出しはまだできません。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/2c782b8a-1b03-e9a8-59d8-3902ce9059ea.png)

インストールは ReplayMod を入れるだけではダメで、ffmpeg もインストールする必要があるのだったですね。


ffmpeg をインストールするには、ターミナルから以下のように操作します

```

$ sudo apt update
$ sudo apt install ffmpeg

```
 
うまくいけば、動画が書き出せるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8ca32653-8a75-2faa-fa0a-2ba02e290a71.png)