📌

Minecraft modのバージョン管理ツールferium : レッドストーンを追え(4)

2023/10/16に公開

feriumって癖強すぎてすぐわからなくなる

マインクラフトのバージョンアップで一番困るのがmodの更新
Vanilla運用しているサービス以外は大体modを使ってると思う(偏見
ただmodを使ってるとminecraftのバージョンアップの度にmodを対応バージョンに揃える必要がある
使ってるmodが多ければ多いほどこれが面倒くさい。
(マイナーアップデートでも例外なくだし、即日対応してくれるわけでもないし)

quilt version mismatch
バージョンが合わないの図

('Д')...

そこでバージョンを管理してくれるツールを探したところ、
以下のツールがあった

ferium

Fast and multi-source CLI program for managing Minecraft mods and modpacks from Modrinth, CurseForge, and GitHub Releases

Rust製のmodマネージャで
CurseForgeやModrinthなどのHubから指定のバージョンに対応したmodを整備してくれる便利なツールなのだが、
コマンドに癖があって毎回使い方が解らなくなる
今回はそのあたりを整理してみる

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

インストール

Rustがコンパイルできる環境があればcargoを、
そうでない場合はバイナリを使う流れだが、
Rustのコンパイルってめっちゃ遅いのでバイナリ使うのを薦めておく
LinuxやMacであればbrewを使うのが良い

以下のページで自身のOSに合わせたバイナリをダウンロード
Pathの通る場所に設置する

https://github.com/gorilla-devs/ferium/releases

コンソール上で以下のようになっていればOk

ferium
ferium --version
 ferium 4.4.1

プロファイルの登録

初回は設定ファイル作成と同時にプロファイルを一つ追加する。
マイクラインストール時の初期プロファイルを指定しておくとよい
設定ファイルは~\.config\ferium\config.jsonに作られる
コマンド側から質問されるので以下のように答える

ferium profile create
 The default mods directory is C:\Users\dozo\AppData\Roaming\.minecraft\mods
 ✔ Would you like to specify a custom mods directory? · yes
 ✔ Output Directory · \\?\C:\Users\dozo\AppData\Roaming\.minecraft\mods
 There are files in your output directory, these will be deleted when you upgrade.
 ✔ Would like to create a backup? · no
 ✔ What should this profile be called? · default
 ✔ Which version of Minecraft do you play? · 1.20.2
 ✔ Which mod loader do you use? · Fabric
 After adding your mods, remember to run `ferium upgrade` to download them!
設定ファイル ~\.config\ferium\config.json
~\.config\ferium\config.json
{
  "active_profile": 0,
  "active_modpack": 0,
  "profiles": [
    {
      "name": "default",
      "output_dir": "\\\\?\\C:\\Users\\dozo\\AppData\\Roaming\\.minecraft\\mods",
      "game_version": "1.20.2",
      "mod_loader": "Fabric",
      "mods": []
    }
  ],
  "modpacks": []
}

プロファイルの追加

プロファイルとは?

そもそもプロファイルって何ぞやってところだけど、
マイクラのランチャーでバージョンを指定する箇所があると思うが、
それら一つ一つがプロファイル。
minecraft profiles
プロファイル一覧

もう少し言うなら起動構成でゲームディレクトリを指定することができると思うが、
その一つのディレクトリが1プロファイルということになる。

minecraft boot settings
起動構成画面

なのでゲームディレクトリを増やしたのち設定することになる。

プロファイルの追加

上記を踏まえたうえでプロファイルを追加する
プロファイルの追加なのにcreateコマンドを使う
(('Д')なんでや。mod追加はaddなのに)
手順はプロファイル登録と同じ。
プロファイル名はcustomとした
注意する点は指定するディレクトリは mods ディレクトリであること

add profile
ferium profile create
 The default mods directory is C:\Users\dozo\AppData\Roaming\.minecraft\mods
 ✔ Would you like to specify a custom mods directory? · yes
 ✔ Output Directory · \\?\D:\Game\minecraft\mods
 There are files in your output directory, these will be deleted when you upgrade.
 ✔ Would like to create a backup? · no
 ✔ What should this profile be called? · custom
 ✔ Which version of Minecraft do you play? · 1.20.2
 ✔ Which mod loader do you use? · Quilt
 After adding your mods, remember to run `ferium upgrade` to download them!

設定ファイルは以下のように変更になっている

プロファイル追加状態 ~\.config\ferium\config.json
~\.config\ferium\config.json
{
  "active_profile": 1,
  "active_modpack": 0,
  "profiles": [
    {
      "name": "default",
      "output_dir": "\\\\?\\C:\\Users\\dozo\\AppData\\Roaming\\.minecraft\\mods",
      "game_version": "1.20.2",
      "mod_loader": "Fabric",
      "mods": []
    },
    {
      "name": "custom",
      "output_dir": "\\\\?\\D:\\Game\\minecraft\\mods",
      "game_version": "1.20.2",
      "mod_loader": "Quilt",
      "mods": []
    }
  ],
  "modpacks": []
}

アクティブプロファイルの選択

modを追加する前に現在選択されているプロファイルを設定する
プロファイル一覧コマンドを実行して*が付いているものがアクティブ状態で、
このmodを調整する形になる

profile list
ferium profile list
 default
  Output directory:   \\?\C:\Users\dozo\AppData\Roaming\.minecraft\mods
  Minecraft Version:  1.20.2
  Mod Loader:         Fabric
  Mods:               0

 custom *
  Output directory:   \\?\D:\Game\minecraft
  Minecraft Version:  1.20.2
  Mod Loader:         Quilt
  Mods:               0

現在はcustomが選択状態になっている

modをプロファイルに追加

現在選択されているプロファイルにmodを追加する
(インストールはまだされない)
customプロファイルに SodiumIris Shadersを登録してみる

add mods
ferium add sodium
  Adding mod... ✓ Sodium
  Consider supporting the mod creator on Ko-fi (https://ko-fi.com/jellysquid_)
ferium add iris
  Adding mod... ✓ Iris Shaders
  Adding required dependency AANobbMI... ✓ Already added
  Consider supporting the mod creator on Patreon (https://www.patreon.com/coderbot)
mod登録状態 ~\.config\ferium\config.json
{
  "active_profile": 1,
  "active_modpack": 0,
  "profiles": [
    {
      "name": "custom",
      "output_dir": "\\\\?\\D:\\Game\\minecraft\\mods",
      "game_version": "1.20.2",
      "mod_loader": "Quilt",
      "mods": [
        {
          "name": "Iris Shaders",
          "identifier": {
            "ModrinthProject": "YL57xq9U"
          }
        },
        {
          "name": "Sodium",
          "identifier": {
            "ModrinthProject": "AANobbMI"
          }
        }
      ]
    }
  ],
  "modpacks": []
}

modをインストール

お待たせしました。modのインストールです。
インストールコマンドは upgrade
(('Д') installちゃうんかい)
ちなみにアップグレードもupgrade

mod upgrade
ferium upgrade
  Determining the Latest Compatible Versions
  ✓ Iris Shaders                                iris-mc1.20.2-1.6.9.jar
  ✓ Sodium                                      sodium-fabric-mc1.20.2-0.5.3.jar
  Fabric mod using Quilt backwards compatibility
  Downloading Mod Files
  ✓ Downloaded 2.41 MB iris-mc1.20.2-1.6.9.jar
  ✓ Downloaded 855 KB  sodium-fabric-mc1.20.2-0.5.3.jar

状態を確認すると

mod installed
インストール確認

指定バージョン1.20.2のQuilt(fabric互換) modがインストールされている

バージョン変更

マイクラのバージョンアップに伴いmodをバージョンアップする
例えば以下のようなプロファイルがあったとする
この中のfabricプロファイルを1.20.2対応にする

ferium profiles
ferium profile list
 default *
  Output directory:   C:\Users\magic\AppData\Roaming\.minecraft\mods
  Minecraft Version:  1.19.4
  Mod Loader:         Fabric
  Mods:               1
 fabric
  Output directory:   D:\Game\minecraft_fabric\mods
  Minecraft Version:  1.19.4
  Mod Loader:         Fabric
  Mods:               15

アクティブプロファイルをfabricに変更

現在選択されているプロファイルをfabricに変更する
プロファイル選択はprofile switch

switch
ferium profile switch fabric
ferium profile list
 default
  ・・・省略
 fabric *

マイクラバージョン変更

マイクラのバージョンを1.19.4から1.20.2に変更する
登録済みの情報を変更する時はprofile configureを使う

ferium profile configure
 ✔ Which setting would you like to change · Minecraft version
 ✔ Which version of Minecraft do you play? · 1.20.2
ferium profile list
 fabric *
   Output directory:   D:\Game\minecraft_fabric\mods
   Minecraft Version:  1.20.2
   Mod Loader:         Fabric
   Mods:               15

modのアップグレード

準備ができたのでmodのアップグレードを行う

mod upgrade
ferium upgrade
Determining the Latest Compatible Versions

× MaLiLib                                     No compatible file was found
✓ Cloth Config API                            cloth-config-12.0.109-fabric.jar
× Tweakeroo                                   No compatible file was found
✓ Starlight (Fabric)                          starlight-1.1.2+fabric.bdaeb21.jar
✓ Fabric Language Kotlin                      fabric-language-kotlin-1.10.10+kotlin.1.9.10.jar
× FabriZoom                                   No compatible file was found
× YetAnotherConfigLib                         No compatible file was found
× BetterF3                                    No compatible file was found
✓ Iris Shaders                                iris-mc1.20.2-1.6.9.jar
× Mod Menu                                    No compatible file was found
✓ Sodium                                      sodium-fabric-mc1.20.2-0.5.3.jar
✓ Architectury API                            architectury-10.0.7-fabric.jar
× Xaero's World Map                           No compatible file was found
✓ Fabric API                                  fabric-api-0.89.1+1.20.2.jar
× Xaero's Minimap                             No compatible file was found

Downloading Mod Files

✓ Downloaded 2.41 MB iris-mc1.20.2-1.6.9.jar
✓ Downloaded 125 KB  starlight-1.1.2+fabric.bdaeb21.jar
✓ Downloaded 1.16 MB cloth-config-12.0.109-fabric.jar
✓ Downloaded 2.08 MB fabric-api-0.89.1+1.20.2.jar
✓ Downloaded 6.72 MB fabric-language-kotlin-1.10.10+kotlin.1.9.10.jar
✓ Downloaded 855 KB  sodium-fabric-mc1.20.2-0.5.3.jar
✓ Downloaded 577 KB  architectury-10.0.7-fabric.jar

いくつかアップグレードできなかったようだ ('Д')

------------------- ↓ 本題はここから ↓-------------------

cargoを使うとferium自体のバージョン管理もできるので便利ではある

cargo add

cargo add
cargo add ferium cargo-update

feriumバージョンアップ

ferium version up
cargo install-update -- ferium
# または cargo install-update --all

Discussion