Elara’s Library

MinecraftのMODに関するあれこれを書いてゆきます。(主に1.12.2)

【日本語で読むマイクラMOD_036】VanillaFix

VanillaFix

(※内容は、19年03月06日時点のCurseforgeものです) 

minecraft.curseforge.com

MOD Name: VanillaFix
MOD Owner : Runemoro

(※画像等は、引用元のサイトでご確認ください)

Features/内容:

VanillaFixは、バニラのMinecraftのパフォーマンスを向上させ、バグや煩わしさを修正するMODです。

だいたいの場合、FPSを3倍にし、メモリ使用量を60%、読み込みの時間を50%削減します。
信じられない場合は、自身で試してみてください。

また、VanillaFixがインストールされていると、Minecraftは完全なクラッシュに陥ることがなくなります。
クラッシュ時はメインメニューへはじき出され、他方に向けてレポートを簡単に送れるよう、ペーストサイトへのアップロードの提案が表示されます。(ゲーム中にF3+Cを押してテスト!)

JustEnoughIDsも参照してください。このMODは、1.12において1.13のチャンクを使用すことで、ブロック、アイテム、バイオームのID制限を取り除きます。(この機能は、最近VanillaFixから分離されました)

質問はありますか?それとも、私達がMODで何を行っているか知りたいですか?
そのためには、私達のDiscordサーバーへ参加してください!
私達は定期的に、新機能や今後の機能について話し合い、あなたがたが投げてくる質問に答えます。
Minecraftのバグ修正について考えがある?あなたは、それをここで提案できます!https://discord.gg/f27hdrM

Screenshots/スクリーンショット:

(※画像内の文章)
Minecraftは問題に遭遇し、クラッシュしました。
潜在的な原因として、次のようなMOD(s)が特定されています。
 Dimensional Doors(※MOD名)
サポートのために、リスト内にあるいずれかのMOD名をクリックし、webサイトにアクセスします。
レポートが作成されました。こちらをクリックしてください。
 crash-2018-05-06_02.32.25-server.txt
“Get link”のボタンをクリックすると、ブラウザで開きます。
問題を解決するために、このレポートをMOD制作者に送信することをお勧めします。

VanillaFixがインストールされているため、クラッシュをしてもプレイし続けることができます。

Before/ビフォー (16 FPS, tickの37.17%がテクスチャに使用されている):

After/アフター (50 FPS, tickの2.42%がテクスチャに使用されており、見えているテクスチャのみがtickされている):

Current features/現在の機能:

Better crashes/ベタークラッシュ:

  • キャッチクラッシュ、ゲーム全体ではなく、現在のワールドのみをクラッシュさせます
  • クラッシュを引き起こしたMOD(s)の自動識別
  • クラッシュレポートをhttps://paste.dimdev.org/ へ貼り付け、構文を強調表示させたクラッシュレポートへのリンクを提供します
  • クラッシュレポートで難読化を解除し、スタックトレース(Stack traces)が自動的に取得されます
  • クラッシュレポートには、クラッシュしたエンティティ/タイルエンティティのNBTなど、より有用な情報が含まれています
  • 後にさらに深刻な問題を引き起こす可能性のあるMODについて知らせる警告通知を追加
  • MODの初期化中にクラッシュさせます
  • F3+Cの遅延を無効にします。またAlt+F3+Cを追加し、総合サーバーをクラッシュさせます

Performance improvements/パフォーマンスの向上:

  • 視界内にあるアニメーションテクスチャのみをtickさせます(動かします)。(FPSが大幅に増加し、非常に大きいModpackでは最大3倍の効果)
  • ディメンション間の移動を、10倍以上早くさせます
  • 大規模なModpackにおけるワールド生成を早くさせます

Annoyances/bug fixes/煩わしさ、バグの修正:

  • ネザーポータルに入っている間でも、チャットウィンドウなどのGUIを開くことが可能(MC-2071を参照)
  • MC-128953を修正 (メモリ不足の画面が表示されたあと、サーバーへの接続が閉じられない)
  • MC-129556を修正 (GUIロジックは、"root.tick.textures"プロファイラ―セクションに含まれています)
  • MC-129057を修正 (NBTを持つアイテムを作成することが可能に、ただし、クラフトブックには含まれません)
  • MC-30845を修正 (三人称視点の表示において、非-固体ブロックでカメラを停止します)
  • MC-98153を修正 (プレイヤーがネザーポータルを使用したあとに炎上する)
  • paste.dimdev.orgがLetsEncryptを使用するため、JavaにIdenTrustのルート証明書を信用させるようにしました。 (JDK-8161008を参照)

Debugging tools/デバッキングツール:

  • Shift+F3のチャートやサーバプロファイラーにおいて、エンティティやタイルエンティティなど、より多くのカテゴリに分類し、遅延の原因になっているMODを見つけやすくします
  • Shift+F3の円グラフを開いている際、F3+Sによってクライアントと総合サーバーのプロファイラ―を切り替える機能を追加

 Move code rewrite/移動コードの書き換え:

  • MC-89928, MC-98153(プレイヤーがネザーポータルを使用した後に炎上する!)、MC-123364, MC-130639, MC-130641, 及びその他のバグ等、移動コードを最適化します。

Planned features/計画されている機能:

  • 変換されたクラスをキャッシュさせておいて読み込みを行うことで、ゲーム開始を早くする
  • Snooperが有効になっている場合、MOD制作者が自信のMODによって引き起こったクラッシュを確認するために、https://vanillafix.dimdev.org/crashes/modid などのURLに、クラッシュレポートを自動的にアップロードする
  • 翻訳が利用できない場合、ローカルlangファイルを、英語ではなく、同じ言語の他のローカルファイルにフォールバックさせる(補う)
  • より良いF3画面を作る
  • ワールドに参加する場面にキャンセルボタンを追加し、ワールド読み込中のクラッシュ後にハングすることがあるの現象を修正する

Included Mod Fixes/付属の修正MOD:

VanillaFixをインストールされた場合、以下のMOD(MODの機能)は、もはや必要ではありません。

  • F5Fix
  • Bed Bugs
  • Bed Patch
  • TexFix (VanillaFix 1.1+以降)
  • Optifineの"Smart Animations(スマートアニメーション)"

FAQ:

クラッシュ後にゲームを継続させても、ワールドは破損しませんか?

いいえ、そんなことはありません。

まず、バニラのMinecraftは、OutOfMemoryError後の再開をサポートしています。
これは、Minecraftクライアントのどのラインでも起こりえます。
このMODが行うことは、捕捉可能な例外(exceptions)の種類を、さらに追加することです。
(https://paste.dimdev.org/xizukajiqa.java を参照)

次に、runGameLoop関数全体がクラッシュした後に終了が行われます。
つまり、初期化後に作成された全てのオブジェクトが破棄されます。
init中に作成されたオブジェクトは不変でなければならないので、クラッシュ後の状態は、Minecraftを初期化した直後の状態と同じになっているはずです。

最後に、ワールドの破損を引き起こす可能性のある特定のクラッシュは、総合サーバー側に存在します。
これはクライアントとは別ものであり、ワールドへの参加を行うたびにリスタートされるため、ゲームがクラッシュした状態のままでも、おそらくそれはワールドの破損を引き起こすことはありません。

MODが何万ダウンロードされているにも関わらず、これが起こったという報告はありませんでした。
それで安心できなければ、何か問題が発生した場合に備えて定期的に自身のワールドのバックアップを作成したり、クラッシュ画面が表示されたらそのままゲ―ムを終了させて、この機能を使用しないということも選べます。問題が発生した場合は、issue trackerに報告をお願いします。

クラッシュしてもプレイを続けられるなら、プレイヤーはクラッシュを報告しなくなってしまうよ!

VanillaFixでは、クラッシュの報告する手段をできるだけ簡単にするようにしています:
クラッシュレポートを自動的に貼り付けできる”Get link/リンクを取得”ボタンを設けています。
クラッシュレポートログの最後の数行にタイルエンティティのダンプ(dumps)などのデバッグ情報を追加して、可能な限り完璧で便利なものに改良し、MODのissue trackerへのリンクの提供や、snooperを有効化にしている場合に、クラッシュが起こらないようなクラッシュと、例外的なもの(これは報告されない可能性が高い!)の両方を報告できるようにする、こうしたことを計画しています。

このMODは、FoamFixやBetterFPS、Optifineとの互換性はありますか?

はい。私達は、自身のMODと他のMODとの互換性を、可能な限り設けています。
互換性が無い場合は、issue trackerへの報告をお願いします。

なぜ、PastebinやHastebinではなく、paste.dimdev.orgを使用しているのでしょうか?

hastebin.comを実行させるオープンソフトウェアのHasteは、広告満載のpastebinのサイトよりも遥かに見やすく、構文を強調表示させて、大きなファイルでも高速です。
2つの理由から、私達は独自のhasteインスタンスを実行させています:
hastebinは、貼り付けたものを30日間しか保持できません。これはissue報告には向いておらず、また、Hastebinに負担をかけることになってしまいます。
私達はHasteインスタンスにおいて、Minecraftのクラッシュレポート向けにカスタムした構文表示も用意しており、膨大なクラッシュレポートから重要な情報を見つけやすくしています!

サーバー側とクライアント側、両方にインストールするべき?

いいえ。クライアント用の修正もあれば、サーバー用の修正もあります。
けれども、MODはサーバー/クライアントにインストールする必要は無く、クライアント/サーバーのどちらかにインストールできます。