🚀

[Minecraft Mod] Vintagium(sodium-1.12)導入解説 Optifineを超えた軽量化 マイクラ 1.12.2

2024/04/07に公開

この記事は随時更新予定です。
最終更新: 2024/11/04

概要

Vintagiumは、Minecraft 1.16以降のFabricで動作する軽量化mod「Sodium」のCleanroomMCによる1.12.2非公式フォークです。開発中ですが、すでに十分使用可能であると判断したため解説記事を書きました。

動画解説

YouTubeに解説動画(2024/02/21)を投稿しています。情報は本記事よりも古い可能性がありますが、動画で確認したい方はぜひご覧ください。
https://youtu.be/FYEih-n9uQw

Vintagiumを使う理由

1. バグや競合が少ない

Vintagiumはオープンソースなので、バグや競合が少なくなります。一方、Optifineは有名ですが、バグや競合が多いことでも知られています。

2. 活発な開発が期待できる

CleanroomMCは、放棄されたバージョン(1.12.2)のForge Minecraftを再生することを目的としているため、OptifineよりもVintagiumの方が活発な開発が期待できます。

3. 高い軽量化効果

Vintagiumは、Optifine以上に軽量化効果が高いと言われています。

インストール方法

Vintagiumは、ForgeではなくCleanroomLoaderで動作するように設計されています。Forgeで使う方法もありますが、CleanroomLoaderの方が最適化されているため、今回はCleanroomLoaderに導入します。

Forgeで使う方法

Minecraft 1.12.2のForgeの構成にVintagiumの導入の方法でVintagiumを導入してください。
また、前提modとして以下のmodを導入する必要があります。いずれもCleanroomMCのmodでCleanroomLoaderに内蔵されています。

プリズムランチャーのインストール

CleanroomLoaderはまだ開発中であるため、CurseforgeやModrinthのランチャーでは使用できません。インストーラーもありますがMultiMC系ランチャーを使用する方法をおすすめします。今回はその中の一つであるPrismLauncherを使用します。
公式サイトのダウンロードページからインストーラーをダウンロードします。ダウンロードしたexeファイルを実行し、インストールウィザードに従えば特に難しいことなくインストールできます。

CleanroomLoaderのインストール

CleanroomLoaderのGithubからダウンロードしますが、まだReleasesがないためActionsタブからビルドをダウンロードします。まだ開発中のため、不安定なビルドもあります。動作検証したビルドは後述しますが基本的には最新のexperimental/foundationワークフローのビルドを選択してください。

ダウンロード方法

ダウンロードしたいビルドのワークフローをクリックします。
alt text
その後下にスクロールしたところにあるArtifactsのCleanroom_MMCをクリックでできます。
alt text

ダウンロードしたファイルをzipのままPrismLauncherのホーム画面にドラッグアンドドロップするとインポート画面が開きます。
alt text
OKをクリックすればインストールが完了します。
しかし、CleanroomLoaderを使用するためにはもう少し作業が必要です。
インポートしたCleanroom_MMCを右クリックし、編集を選択します。
次に設定タブを開いて「Javaの指定」、「Javaの互換性チェックをスキップする」にチェックを入れ、自動検出もしくは参照からJava21、Java22もしくはJava23を選択してください。
alt text

Java21/22/23がない場合

以下の方法のいずれかでJava21/22/23をインストールしてください。

  1. wingetをつかう
    やり方さえ分かればこちらのほうが楽です。
    windowsキーを押してスタートメニューを開きcmdと入力し以下のようなコマンドプロンプトを開いてください。
    alt text
    そこに以下のように入力してエンターで実行してください。
    Java21の場合:

    winget install EclipseAdoptium.Temurin.21.JRE
    

    Java22の場合:

    winget install EclipseAdoptium.Temurin.22.JRE
    

    Java23の場合:

    winget install EclipseAdoptium.Temurin.23.JRE
    

    あとは待っていれば自動的にJava21がインストールされます。途中でユーザーアカウント制御の画面が表示されたら変更を加えることを許可してください。

  2. インストーラーをつかう
    Oracleのダウンロードページ(Java22の場合はこちら/Java23の場合はこちら)からインストーラーをダウンロードしてきてインストールしてください。

本来1.12.2のMinecraft及びForgeはJava8で動作しますがCleanroomLoaderは開発時点で最新バージョンのJava22と最新の安定版のJava21で動作します。インストールは少し面倒ですがJava8よりも最適化されています。

これでCleanroomLoaderのインストールは完了です。
次はいよいよVintagiumを導入します。

Vintagiumの導入

Vintageiumも現在開発中であるため、CurseforgeやModrinthにはありません。そのためこちらもVintagiumのGithubからダウンロードしてください。ダウンロード方法はCleanroomLoaderと同じです。
ダウンロードしたzipファイルを展開すると2つのjarファイルがあるので、「-dev」がついていない方を先程作成した起動構成の「Mod」タブにドラッグアンドドロップしてください。

これでVintagiumのインストールも完了です!

「起動」をクリックしてMinecraftを起動し、無事読み込まれていることを確認してください。

Fugueの導入

CleanroomLoaderではほとんどのmodが動作しますが、一部のmodではエラーが発生することがあります。それらのmodにパッチをあて、正常に動作させるmodがFugueです。このmodもCleanroomMCが開発しています。

以前はGitHubからダウンロードする必要がありましたがCurseforgeからダウンロードできるようになりました。
FugueのCurseforgeページ

Fugueには対応するCleanroomLoaderのバージョンがあります。動作確認済みの組み合わせは以下に示しますが基本的にはどちらも最新のものを選択すればよいです。

動作確認済みの組み合わせ

Scalarの導入

ForgeはJava以外にScalaというプログラミング言語もサポートしています。しかし、CleanroomLoaderではより新しいバージョンのScalaに対応するためにこの機能をScalarという単独のmodに分離しています。
Curseforgeでダウンロードできるのでscalar-1.12.2-2.11.1を導入してください。今後、CleanroomMC製Modに使われる予定ですが現在はScalar3を前提とするModはありません。

併用推奨mod

ここではVintagiumとの併用をおすすめするmodを紹介します。

mod名 説明 ダウンロード
Alfheim 照明エンジンを最適化するmodです。Phosphorのフォークのフォークです。 CurseForge LogoModrinth Logo
Alternate Current Unofficial レッドストーンダストの処理を最適化するmodです。 Modrinth Logo
Better Biome Blend 「Biome Blend」設定を拡張し、パフォーマンスへの影響を下げるmodです CurseForge LogoModrinth Logo
Chunk Pregenerator チャンク生成を最適化し、ワールド生成を高速化します。チャンクの事前生成や再生成も可能で、コマンドのサジェスト機能も追加されます。 CurseForge Logo
Dynamic Lights 光源アイテムを手に持っているときに周囲を照らすmodです。Optifineの機能を代替します。 CurseForge Logo
Entity Culling 視界外のエンティティの描画を停止することで描画を軽量化します。Vintagiumにも同様の機能が搭載されていますがより高速らしいです。 CurseForge LogoModrinth Logo
Fixeroo 複数の経験値オーブを一つにまとめるmodです。Clumpsとは違い、エンティティを追加しません。 CurseForge Logo
Homoium 他のmodが手を加えていない最適化を行うmodです。 Modrinth Logo
Ksyxis ロード時のチャンクロードを無効にしてロード時間を短縮するmodです。 CurseForge LogoModrinth Logo
LoliASM VanillaFixとTexFixの機能を含む軽量化modです。クラッシュ時にゲームが終了することを防ぐ効果もあります。CleanroomMCの中心人物であるRongmario氏によるmodです。 CurseForge Logo
Multithreaded Noise ノイズジェネレーターをマルチスレッド化するmodです。ワールド生成の高速化が期待できます。このmodはPrismLauncherから直接ダウンロードできないのでCurseForgeから手動でダウンロードしてmodsフォルダーに追加してください。 CurseForge Logo
Particle Culling 視界外のパーティクルの描画を停止することで描画を軽量化します。 CurseForge LogoModrinth Logo
Sledgehammer Minecraftや様々なForge Modにパッチを当てるmodです。各機能をconfigから有効にする必要があります。 CurseForge LogoModrinth Logo
StellarCore 広範囲のバグ修正、パフォーマンスの改善を行うmodです。 CurseForge Logo
Tick Dynamic Continuation 高負荷時に一部のタイルエンティティ/エンティティのティック処理をスキップすることでTPSの低下を防ぐmodです。 CurseForge LogoModrinth Logo
Universal Tweaks さまざまな軽量化、微調整、バグ修正modをまとめたmodです。 CurseForge LogoModrinth Logo
VintageFix FormFixのフォークでFerriteCoreの一部機能も含みメモリ使用量を最適化します。 CurseForge LogoModrinth Logo
Zume Optifineのようなズーム機能を提供するmodです。 CurseForge LogoModrinth Logo

これ以外にもおすすめの最適化/ユーティリティmodはありますが記事の趣旨から離れてしまうため割愛します。いずれ機会があればどこかにまとめたいです。

Mod互換性

以下のmodはCleanroomLoaderに含まれています。

  • ConfigAnytime
  • MixinBooter
  • Raw Input

ConfigAnytimeとMixinBooterは読み込まれないため問題ありませんが、Raw Inputが追加で導入されているとワールドでマウス入力が効かなくなるため注意してください。

現在確認できているもので以下のmodに非互換性があります。

CleanroomLoaderとの非互換:

  • Tweakeroo
  • Litematica

Vintagiumとの非互換:

  • Hardcore Darkness
  • Vintage GregTech
  • Nothirium
  • IC2Cextra
  • OptiFine

CleanroomLoaderがOptifineとVintagiumを同時に読み込んでいることを認識するとOptifineを無効にするため、Optifineを削除する必要はありません。

Modの互換/非互換情報は以下にまとめています。是非参考にしてください。こちらも随時更新します。
https://github.com/daizu-007/Vintagium-Compatibility-List

Javaの引数

Javaの引数を以下のように設定するとさらにパフォーマンスを上げられるとの情報提供を受けました。必須ではないですがやり方が分かる人は設定しておきましょう。

-XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGuaranteedGCInterval=1000000 -XX:AllocatePrefetchStyle=1 -XX:+DisableExplicitGC -XX:+UseNUMA -XX:+UseLargePages -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:-DontCompileHugeMethods

筆者はJava引数についてよくわかっていないので有識者のかた、よりよい引数をご存知でしたらコメントにてお知らせください。

シェーダーについて

Oculus(irisのforgeフォーク)のポートも計画されていますがまだ使用できません。
現状シェーダー(影mod)を1.12.2で使用するためには残念ながらOptifineを使用しなければなりません。

ログの文字化けについて

古いバージョンのPrismLauncherを使用していると以下の画像のようにログが文字化けすることがあります。このような症状が発生した場合にはPrismLauncherを最新バージョンに変更することをおすすめします。
alt text

過去バージョンでの解決方法

古いバージョンのPrismLauncherを使用している場合は以下の手順で文字化けを解消できます。表示が文字化けしているだけなのでこのままでも問題ありません。

  1. 該当の起動構成のコンソールウィンドウ(Mod入れたり設定変えたりするところ)でバージョンタブを開く。
  2. 「Cleanroom」を選択する。
  3. 右側の「編集」をクリックでnet.minecraftforge.jsonを開く。
  4. +jvmArgs-Dfile.encoding=UTF-8-Dfile.encoding=MS932に書き換える。

この問題は、Java18以降ではUTF-8がデフォルトで使用されているのに対し、古いバージョンのPrismLauncherではそれと異なる文字エンコーディングが使用されていたことが原因です。なお、PrismLauncher 9.0以降ではこの問題は修正されていることを確認済みです。

ローダーの更新

現在、PrsimLauncherのModローダー管理は(リリース前のため)CleanroomLoaderに対応していないので通常の方法ではCleanroomLoaderは更新できません。もっと良い方法があるかもしれませんが筆者は以下の方法で更新しています。

  1. 新バージョンのCleanroomLoader起動構成をインポートする。
  2. 更新したい旧構成を右クリックし、「フォルダー」を選択してエクスプローラーで開く。
  3. 「.minecraft」フォルダーをコピー。
  4. 新バージョンの構成を同様の手順でエクスプローラーで開く。
  5. 「.minecraft」を旧構成からコピーしたもので置き換える。

更新のたびにするのは面倒ですがPrsimLauncherの対応を待つしかないですね...

CleanroomMC、Vintaigum関連リンク集

長いため折りたたみ

CleanroomMC公式サイト:

https://cleanroommc.com

CleanroomMCのDiscordサーバー:

https://discord.gg/sgQxDJdrnY
開発よりなのでプレイヤーより技術面や最新の開発状況に興味がある人向けです。日本語/中国語のチャンネルもありますが基本的には英語です。

CleanroomMCのGitHub:

https://github.com/CleanroomMC/

MC百科のCleanroomMCページ:

https://www.mcmod.cn/author/26409.html
MC百科は中国語のなんかすごいMod wikiです。

CurseforgeのCleanroomMCページ:

https://www.curseforge.com/members/cleanroommc/projects

ModrinthのCleanroomMCページ:

https://modrinth.com/user/Cleanroom

CleanroomMCのXアカウント:

https://x.com/CleanroomMC
投稿は行われていません。

他のYoutuberさんによるCleanroomLoader/PrismLauncherの紹介動画:

https://youtu.be/-3S1v7VFzP4?si=EMRmVIku_wBK_s39

Optifineの代替modを紹介する記事:

https://note.com/ma_oldfish/n/n36c14ecff342
CleanroomLoader/Vintagiumについての言及があります。自分の動画がリンクされてるのうれしい。

まとめ

Vintagiumは、1.12.2環境で動作する最新の軽量化modです。CleanroomMCによって開発が続けられており、Optifineよりもバグが少なく、より高い軽量化効果が期待できます。
インストール作業はやや複雑ですが、本記事の手順に従えば問題なく導入できるはずです。併用を推奨するいくつかのmodも紹介しましたので、状況に応じて組み合わせることでさらなる軽量化が可能です。
Minecraftの軽量化を検討している方は、ぜひVintagiumを試してみてください。開発の続く有望なmodであり、Optifineに代わる選択肢になり得ます。今後の更なる改善と発展に期待したいところです。

記事の内容に間違いがあった場合や質問がある場合は気軽にコメントしてください。
この記事のコメントやYoutube動画へのコメントも確認していますがXDiscordでメンションしていただくのが一番はやく気づけると思います。返信が遅い場合もありますので気長にお待ち下さい。

謝辞

CleanroomMCメンバーの皆様、紹介したModの作者の皆様、及びkeikeiさんerialさん00000.𝕏MLさんまーめさんtier940さんをはじめとしたこの記事の執筆に協力してくださった方々に深く感謝申し上げます。

参考文献

Vintagiumが使えたことを報告するRedditの投稿:
https://www.reddit.com/r/feedthebeast/comments/1ais1pa/it_is_now_possible_to_run_1122_with_java_21_and/
MC百科のVintagium解説ページ:
https://www.mcmod.cn/class/13582.html
日本語でVintagiumの導入方法を解説したポスト:
https://x.com/mctech_ringo/status/1756536432985092360

Discussion