RealTrainModにおけるクラッシュレポートの原因及び解決策についての解説
皆さんこんにちは!ろくある(6R_higaoka)です!
今回は、RealTrainModをプレイしようとするときに発生するクラッシュレポートについて自分なりに調べてみました!
皆さんも、クラッシュレポートに悩まされたことは一度や二度ではないはず。
それではどうぞ!
↑この始まり方大っ嫌い。滅びてしまえ~~~~~~~~~~~~~~~~~~~~
※この記事はどちらかといえばパック作者向けです。ご了承ください。
また、随時加筆、修正を行っております。
と、その前にテキストファイルを編集するソフトを導入しましょう。
Windows,mac標準のメモ帳等のアプリでも確認はできますが、行数などを確認する必要があるので専用のテキストエディタをインストールするのをオススメします。
TeraPadやサクラエディタ、Notepadなど沢山の無料で使えるエディタがインターネット上に公開されていますが、
一番のおすすめはMicrosft社が開発した、Visual Studio Code(通称VSC)です。
https://azure.microsoft.com/ja-jp/products/visual-studio-code/
シンプルで見やすい画面と、構文エラーが一目でわかるデザインが非常に使いやすく、現職プログラマーの方たちのお墨付きです。
リリース元もMicrosoft社なので信頼できます。
話を戻して解説していきます。
まず、クラッシュレポートを開き、16行目から25行目を確認してください。このパターンが多いと思います。
Caused by: net.minecraftforge.client.model.ModelFormatException: Can't load model
となっている場合、以下の理由が考えられます。
- 存在しないモデルを参照している
- モデルに多角面が存在している
- 材質未指定の面がある
- jsonで指定していない材質がある
- jsonで存在しない材質を指定している
と、モデル由来のエラーである可能性が非常に高いです。
解決策は上から順に以下の通りです。
存在しないモデルを参照している
→jsonで指定しているモデルの名前があっているか、指定した階層に配置されているか(基本はassets/minecraft/models/ここ)
モデルに多角面が存在している
材質未指定の面がある
→メタセコイアを開き、上部の「パネル」からドキュメント情報を開き、以下を確認をする。
・材質数と使用材質数(同じになっているはず)
・多角形面総数(1つでもあると起動しません。探し出して三角面か四角面に修正してください。)
jsonで指定していない材質がある
jsonで存在しない材質を指定している
→メタセコイアの右下の「材質」タブに記されている材質名と、json上の
"textures": [["ここ", "textures/train/example.png","Light"],
["ここ", "textures/train/example.png","Light"]]
を確認する。名前が違ったりすべての材質を指定していないと起動しません。
次に19行目付近がCaused by: java.lang.RuntimeException: Script load error
の場合は、以下の理由が考えられます。
- 前提パックが入っていない(特に多いです。)
- 存在しないスクリプトを指定している
前提パックが入っていない、は特に多いクラッシュ原因です。
Script load error に続く文字列にscripts/hi03SoundLib ~
scripts/Mhnlib~
scripts/MugenLib~
scripts/600VsSoundLibrary~
とある場合、確実に前提のSoundLib系が抜けています。
以下が各Libの配布サイトです。
hi03SoundLib
MugenLib(旧MugenTrainSoundLib)
Mhnlib(MhnElecSoundlib)
600VsSoundLibrary
存在しないスクリプトを指定している
→json上の
rendererPath": "exanple.js"
を確認する。名前が違うと起動しません。
次に16行目付近がCaused by: com.google.gson.JsonSyntaxException:
の場合、jsonの記述ミスが考えられます。
カッコが多かったり、コンマが無かったり、とにかく凡ミスやコピペミスなどで起こりやすいです。
先述のVSCを使えばおかしい部分がハイライトされてわかりやすいですよ。
次に21行目付近にjava.lang.IllegalArgumentException: MALFORMED
とある場合は、ファイル名に2バイト文字(日本語や全角スペース)が使用されている可能性が高いです。モデルやテクスチャに使用していなくても、作成時に使っていた資料が日本語.pngでフォルダ内に残っている場合でも同じエラーが出ます。抹消してください。
次に7行目付近にjp.ngt.rtm.sound.RTMSoundHandler$SoundLoadException:
とある場合は、sounds.json内に記述ミスがある可能性が高いです。
hi03様が作成された RTM Sound File Generator を使用すると簡単にsounds.jsonと階層設定をやってくれます。
RTM Sound File Generator
最後に27行目付近にNullPointerException
とある場合は、正直原因が多すぎてよくわかりません。以下に確認できたパターンと解決策を記載しておきます。
・モデルの材質名に日本語を用いていた(mat2の2が大文字)
→mat2に書き直して修正完了
いかがでしたか?
↑これで終わるサイト大っ嫌いです。滅びてしまえ
最終更新:2024/01/17 1:50 ろくある