Pack your car pack folder into a jar and share it, and fix what does not work.カーパックフォルダを jar に固めて配る。うまく動かないときの直しかた。
カーパックは、コードを持たない MOD の jar です。フォルダの中身を zip で固めて .jar にし、mods/ に入れます。
A car pack is a mod jar with no code in it. You zip the folder's contents, name it .jar and put it in mods/.
modeling_tools/ と sound_tools/(作るための道具)assets/mypack/car_parts/ と data/mypack/car_parts/ の deep_dish.json・sample_wheel.json、models/entity/wheel-sample.obj・.mtl、textures/entity/wheel-sample.png、lang の part.mypack.deep_dish・part.mypack.sample_wheel の行data/mypack/cars/sample.json、assets/mypack/vehicles/sample.json、models/entity/sample.obj・.mtl、textures/entity/sample.png、lang の car.mypack.sample の行PACK_CREATE_GUIDE.html があれば、それも(古い見本に入っている説明書き)cd mypack
jar --create --file ../mypack.jar . # JDK があるとき
zip -r ../mypack.jar . # zip があるとき
# Windows の PowerShell(JDK が無いとき)
cd mypack
Compress-Archive -Path * -DestinationPath ..\mypack.zip
Rename-Item ..\mypack.zip mypack.jarmypack.jar を、Minecraft の mods/ フォルダに入れる。これで、タブに「サンプルカー」が並びます。この jar を土台に、中身を自分の車やパーツに置き換えていきます。
modeling_tools/ and sound_tools/ (tools for making packs)deep_dish.json and sample_wheel.json in assets/mypack/car_parts/ and data/mypack/car_parts/, models/entity/wheel-sample.obj and .mtl, textures/entity/wheel-sample.png, and the part.mypack.deep_dish and part.mypack.sample_wheel lines in langdata/mypack/cars/sample.json, assets/mypack/vehicles/sample.json, models/entity/sample.obj and .mtl, textures/entity/sample.png, and the car.mypack.sample line in langPACK_CREATE_GUIDE.html at the top, if there is one (the guide shipped in older examples)cd mypack
jar --create --file ../mypack.jar . # if you have a JDK
zip -r ../mypack.jar . # if you have zip
# Windows PowerShell (without a JDK)
cd mypack
Compress-Archive -Path * -DestinationPath ..\mypack.zip
Rename-Item ..\mypack.zip mypack.jarmypack.jar into Minecraft's mods/ folder.The "Sample Car" is now in the tab. Use this jar as your base and replace its contents with your own cars and parts.
META-INF/ と pack.mcmeta は jar のいちばん上に
フォルダごと固めると一段深くなり、mods/ に入れても何も起きません。必ずフォルダの中で固めます。
META-INF/ AND pack.mcmeta AT THE TOP OF THE JAR
Zipping the folder itself buries them one level down, and nothing happens. Always pack from inside the folder.
mods.toml と neoforge.mods.toml を両方残しておけば、同じ jar が Forge 1.20.1 と NeoForge 1.21.1 の両方で読まれるCURSEFORGE.md と MODRINTH.md は、配布ページの説明文のひな形に使えるmods.toml and neoforge.mods.toml from the example, and the same jar loads on Forge 1.20.1 and NeoForge 1.21.1CURSEFORGE.md and MODRINTH.md work as templates for your download pageInvalid modId で落ちる … modId に - や . や大文字があるdata/<パック>/cars/ に車種の JSON があるか見る。ほかの症状は3 章Invalid modId — modId has a -, a . or an uppercase letterdata/<pack>/cars/. Other symptoms: chapter 3見落としやすいところを並べます。症状が出てから探すときは3 章へ。
What is easy to miss. If something is already wrong, go to chapter 3.
modId が a-z 0-9 _ だけで、名前空間(フォルダ名)と同じpart.<パック>.<部品名> で lang に書いたdefault_parts を values の中ではなく、いちばん外側に書いたMETA-INF/ と pack.mcmeta が jar のいちばん上にあるmodId uses only a-z 0-9 _ and matches the namespace (folder name)part.<pack>.<part>default_parts is at the top level, not inside valuesMETA-INF/ and pack.mcmeta sit at the top of the jarカーパックは、失敗してもエラー画面を出しません。壊れたファイルは捨てて先へ進むので、症状から探します。理由はたいてい logs/latest.log に 1 行残っています。
Car packs fail without an error screen. A broken file is dropped and loading carries on, so you work from the symptom. The reason is usually one line in logs/latest.log.
| 症状 | 直しかた |
|---|---|
| MOD 一覧に出ない | フォルダごと固めている。META-INF/mods.toml(NeoForge は neoforge.mods.toml)を jar のいちばん上に |
起動時に Invalid modId で落ちる | modId を a-z 0-9 _ だけにする |
| 車が 1 台も増えない | data/<パック>/cars/*.json を置く。ログの 車種を N 件読み込みました を見る |
| その 1 台だけ増えない | その JSON が壊れている。理由はログに |
表示名が ae86 のように出る | lang のキーを car.<パック>.<車> にする |
| 走るのに姿が既定の車のまま | vehicles/ の JSON のファイル名とパス、名前空間(mypack:)を車種 id に揃える |
| 直したのに何も変わらない | 見た目は F3+T、data/ は /reload。リソースパックで試しているなら、有効にしたか見る |
| 舵が切れすぎる/効かない | 諸元の角度を度で書いている。ラジアンで書く |
| Symptom | Fix |
|---|---|
| Not in the mod list | You zipped the folder itself. META-INF/mods.toml (NeoForge: neoforge.mods.toml) must be at the top of the jar |
Crashes at start-up with Invalid modId | Use only a-z 0-9 _ in modId |
| No cars added at all | Add data/<pack>/cars/*.json. Check the 車種を N 件読み込みました line in the log |
| Only that one car is missing | That JSON is broken. The reason is in the log |
The name shows as ae86 | Make the lang key car.<pack>.<car> |
| It drives, but looks like the built-in car | Match the file name and path in vehicles/ and the namespace (mypack:) to the car id |
| You fixed it but nothing changed | Looks: F3+T. data/: /reload. Testing with a resource pack? Check it is enabled |
| Steering is wild, or does nothing | A spec angle is in degrees. Write it in radians |
| 症状 | 直しかた |
|---|---|
| 車体だけ大きい/小さい | designWheelBase をメッシュの実寸にする。微調整は body.scale |
| 車体が地面に埋まる/浮く | designRideHeight を見る。原点は車体の底ではなく地面の高さに |
| タイヤが前後にずれる | designWheelBase を見る。ゲームで前後の荷重配分を動かしたなら、それで正しい(車体は追従しない) |
| タイヤが大きすぎ/小さすぎ | designWheelRadius をメッシュの実寸にする。部品のホイールなら部品の designRadius |
| タイヤが横倒し/転がりかたが変 | 回転軸を X に。原点を車軸の中心に |
| 右のタイヤだけ内側を向く | 左側用として作る。表を +X へ |
| 前後が逆/左右が鏡像 | 書き出しの Forward Axis を既定に戻す |
| 面がねじれる/抜ける | 大きく曲がった面か、辺が交差した面がある。その面だけ Blender で割る |
| ゲージが車と一緒に書き出される | 描かれないので害はない。気になるなら書き出しで Selected Only を入れる |
| Symptom | Fix |
|---|---|
| Body too big / too small | Set designWheelBase to your mesh's real size. Fine-tune with body.scale |
| Body sunk into or floating above the ground | Check designRideHeight. The origin belongs at ground level, not the underside of the body |
| Wheels sit too far forward or back | Check designWheelBase. If you moved the weight distribution in game, this is correct (the body does not follow) |
| Wheels too big / too small | Set designWheelRadius to your mesh's real size. For a wheel part, its designRadius |
| Wheels lie on their side / roll oddly | Make X the spin axis. Put the origin at the axle centre |
| Only the right wheels face inward | Build it as the left wheel, face towards +X |
| Front and back swapped / mirrored | Put Forward Axis in the exporter back to the default |
| Faces look twisted or missing | A face is badly bent or its edges cross. Split just that face in Blender |
| The gauge is exported with the car | Harmless; it is never drawn. Tick Selected Only on export if it bothers you |
| 症状 | 直しかた |
|---|---|
| テクスチャが暗い | マテリアルの Base Color を白に(既定の 0.8 グレーのまま) |
| 全体が真っ白 | .mtl が無いか、マテリアルが無い。形が正しければ問題ない |
| 窓が透けない | オブジェクト名かマテリアル名を glass で始める。.mtl を一緒に置く |
| マテリアルで割り当てたのに光らない/透けない | 書き出しの「マテリアル」→「書き出し」を入れる。名前を light_・glass・mirror_ で始める |
| ライトなのに透ける(役目が思ったのと違う) | オブジェクト名よりマテリアル名が優先される。マテリアル名を直す。ログに …を優先します と出る |
| ライトを足したところが穴になる | light_ で始まる名前は light_head・light_tail・light_reverse の 3 つだけ。オブジェクト名もマテリアル名も |
| ミラーが映らない | H で入れる。描画設定が「最高(Fabulous)」のときと、シェーダーパックを使っているときは映らない |
| 部品の中のミラーが映らない | 部品の中の鏡は映らない(ふつうの面になる)。鏡は車体側に作る |
| 左右のミラーに同じ景色が映る | ミラーモディファイアで 1 つにしている。左右を別のオブジェクトに |
| ミラーが地面ばかり映す | 板の角度は関係ない。鏡の位置を見る(車体の中心から 0.35m 以内はルームミラーになる) |
| 車内が暗い | 車体の裏面が見えている。それで正しい |
| Symptom | Fix |
|---|---|
| Texture looks dark | Set the material Base Color to white (it is still the default 0.8 grey) |
| Everything is white | No .mtl, or no material. Harmless if the shape is right |
| Windows are not see-through | Start the object or material name with glass. Keep the .mtl alongside |
| A material doesn't light up / go see-through | Tick "Materials" → "Export" in the exporter. Start the name with light_, glass or mirror_ |
| A light turns see-through (the wrong role) | The material name wins over the object name. Fix the material name. The log notes it |
| A hole where you added a light | Only three light_ names exist: light_head, light_tail, light_reverse — for objects and materials alike |
| Mirrors show nothing | Turn them on with H. They do not work on the "Fabulous" graphics setting or with a shader pack |
| A mirror inside a part shows nothing | Mirrors inside parts do not reflect (they draw as plain faces). Put mirrors on the body |
| Both door mirrors show the same view | They are one object via a mirror modifier. Make them separate objects |
| A mirror only shows the ground | The modelled angle does not matter. Check its position (within 0.35 m of the centreline it counts as the rear-view mirror) |
| The cabin is dark | You are seeing the back of the body faces. That is correct |
| 症状 | 直しかた |
|---|---|
| 換装画面に外装パーツ・マフラーのタブが出ない | OBJ に part_ のオブジェクトが入っていない。非表示のまま書き出していないか、名前が part_<場所>-<部品名> か見る(パーツの 2 章) |
| タブはあるのに部品が並ばない | data/<パック>/car_parts/ に部品の JSON を置き、slot を書く。オブジェクト名の部品名をファイル名に揃える。cars にその車を入れる |
| 付け替えても純正の部分が残る | 純正の部分が body と一体になっている。別のオブジェクトにして部品にする |
| 初期装備を書いたら、その車ごと増えなくなった | default_parts を values の中に書いている。values と同じ、いちばん外側に書く |
| 初期装備が付かない | 場所の名前か部品の id が違う。場所の名前の間違いはログに出る |
| 初期装備を外せない(「なし」が無い) | "removable": false になっている |
| 「ブローオフ」のタブが出ない | 先にターボを付ける |
| ホイールが換装画面に出ない | data/<パック>/car_parts/ に置き、slot を書く。cars にその車を入れる |
| ホイールを選んでも見た目が変わらない | assets/<パック>/car_parts/ のファイル名を、data/ 側と同じにする |
| Symptom | Fix |
|---|---|
| No tab for body parts or exhausts in the parts screen | The OBJ has no part_ object. Check it was not hidden when you exported, and that it is named part_<slot>-<part> (Parts guide, chapter 2) |
| The tab is there but the part is not listed | Put the part JSON in data/<pack>/car_parts/ with a slot. Match the part name in the object name to the file name. Include the car in cars |
| The stock piece stays whatever is fitted | It is merged into body. Make it a separate object and a part |
| After adding default parts, the whole car disappeared | default_parts is inside values. Move it to the top level, next to values |
| A default part is not fitted | The slot name or the part id is wrong. A wrong slot name is logged |
| A default part can't be removed (no "None") | It has "removable": false |
| No "Blow-off" tab | Fit a turbo first |
| A wheel is missing from the parts screen | Put it in data/<pack>/car_parts/ with a slot. Include the car in cars |
| Picking a wheel changes nothing | Give the file in assets/<pack>/car_parts/ the same name as the one in data/ |
| 症状 | 直しかた |
|---|---|
| 差し替えた音が鳴らず、いつもの音のまま | sounds の値を sounds.json の名前に揃える。ログに 指定されたサウンドイベントが sounds.json にありません と出る |
| 音がまったく鳴らない | ogg にする(mp3・wav は鳴らない)。sounds.json の "name" に拡張子を付けない |
| どこにいても同じ大きさで聞こえる | ogg をモノラルにする |
| レブ付近で音程が上がりきらない | exhaust_high を置く(車の 7 章) |
| エンジン音が周期的にうねる | 素材の音量を一定に均してから書き出す |
| Symptom | Fix |
|---|---|
| Your sound doesn't play; it is the usual one | Match the value in sounds to a name in sounds.json. The log says 指定されたサウンドイベントが sounds.json にありません |
| No sound at all | Use ogg (mp3 and wav do not play). No extension on "name" in sounds.json |
| Equally loud everywhere | Make the ogg mono |
| The pitch stops rising near the redline | Add exhaust_high (Car guide, chapter 7) |
| The engine swells periodically | Even out the level in the file before exporting |
KurumaMod — 諸元の全項目は車の付録 A。ゲージスクリプトは modeling_tools/blender_gauge.py と modeling_tools/blender_wheel_gauge.py。
KurumaMod — every spec key is in Appendix A of the Car guide. The gauge scripts are modeling_tools/blender_gauge.py and modeling_tools/blender_wheel_gauge.py.