RealTrainModのJsonについてのドキュメント

執筆: akikawa9616, 06-24-2024, Modified: 10-17-2024


はじめに

情報は間違っていたり、古くなっている場合があります。 必ずユーザ自身でも情報が正しいかどうかを確認するようにしてください。
また、このドキュメントはRtmJsonCreator関連ドキュメント整備の一環として作成されたものであり、RealTrainModで利用可能な設定事項すべてを記載しているわけではないことに注意する必要があります。
看板,sounds.json,pack.json、そして3Dモデル設定を除く、全てのアドオンタイプで、"共通"で省略が不可とされているものもJson内に記述する必要があります。 (3Dモデル設定は単一ファイルで行うものではなく、"列車等のアドオンJSONファイル内で記述するキー"の解説であるためです。)

このページではJSONそのものの構文解説を行いません。 各キーに対して記述されているJSONはサンプルであり、サンプルよりも多い配列を追加することなどができる場合があります。

目次

このドキュメントは非常に膨大である為、CTRL+Fまたは目次から目当てのキーを探すことを推奨します。
以下の目次はアドオンタイプによって分かれています。 キー名はわかるけどタイプがわからない場合はCTRL+Fで探すことを推奨します。

共通

tags
useCustomColor
defaultData
scale
offset
smoothing
doCulling
accuracy
serverScriptPath
guiScriptPath
renderAABB
buttonTexture

共通(列車+乗り物のみ)

size
rollsignTexture
rollsignNames
rollsigns
sound_Stop
sound_S_A
sound_Acceleration
sound_Deceleration
sound_D_S
sound_Horn
sound_DoorOpen
sound_DoorClose
sound_Announcement
soundScriptPath
smoke
headLights
tailLights
interiorLights
slotPos
playerPos
notDisplayCab
wheelRotationSpeed

3Dモデル設定

model

列車

trainName
trainType
trainModel2
bogieModel2
bogieModel3
sound_BrakeRelease
sound_BrakeRelease2
muteJointSound
bogiePos
trainDistance
accelerateion
maxSpeed
rolling
rollSpeedCoefficient
rollVariationCoefficient
rollWidthCoefficient

乗り物(自動車,航空機,船舶)

name
model
vehicleType
friction
acceleration
maxSpeed
maxYaw
pitchCoefficient
rollCoefficient
changeYawOnStopping

乗り物(リフト)

name
model
vehicleType
vibration
gripPos
collisionParts

レール

railName
model
polygonType
ballastWidth
allowCrossing
defaultBallast

コンテナ

containerName
containerModel
containerTexture
containerWidth
containerHeight
containerLength

火器

firearmName
firearmModel
firearmTexture
modelPartsY
modelPartsX
modelPartsBarrel
muzzlePos
playerPos_gun
yaw
pitch
rotationSpeedY
rotationSpeedX
recoil
fpvMode

信号機

signalName
signalModel
signalTexture
lightTexture
modelPartsFixture
modelPartsBody
lights
rotateBody

NPC

model
role

看板

texture
backTexture
height
width
depth
frame
animationCycle
color
lightValue

機能あり設置物

name
model
machineType
sound_OnActivate
sound_Running

機能なし設置物

name
model
ornamentType

texture
height
width
resolutionU
resolutionV
poleLength

コネクタ

name
model
connectorType
wirePos

ワイヤ

name
model
deflectionCoefficient
lengthCoefficient
sectionLength

sounds.json

sounds.json

pack.json

pack.json

pack.json - アップデート確認用テキストファイル

pack.json - アップデート確認用テキストファイル

共通

看板を除く、すべての場合で利用可能な設定事項。

tags

"tags": "hoge fuga",
tagsは、車両選択画面等の検索機能で利用する、検索キーワード機能です。 例えば:列車Json内に、"tags": "JNR passengerCar",と記述した場合、検索機能で"JNR"と入力されると"JNR"タグが付いた車両のみが車両選択画面に出現します。
スペース区切りで複数を指定します。
情報
省略可否 はい、おそらく
動作 はい
記述方法 文字列

useCustomColor

"useCustomColor": true,
useCustomColorは、モデルの色を変更可能とするかどうかの設定値です。 これは、実際のモデルテクスチャを変更するのではなく、Minecraft内での表示を変更するのみです。 このキーに対する値は真偽で指定するべきであり、規定はおそらくfalseです。
情報
省略可否 はい
動作 はい
記述方法 真偽

defaultData

"defaultData": "scale=(Double)1.0,type=(String)Normal",
DataMapの既定を設定するキーです。
情報
省略可否 はい
動作 はい、おそらく
記述方法 文字列

scale

"scale": 1.0,
NGTOをモデルとして使用する場合にのみ利用可能な、縮尺設定キーです。
情報
省略可否 はい
動作 はい
記述方法 数値

offset

"offset": [0.0, 0.0, 0.0],
モデルの描画位置を指定するキーです。
これらはエンティティの中心からの相対的座標です。
情報
省略可否 はい
動作 はい
記述方法 配列、数値

smoothing

"smoothing": true,
スムージングを有効にするかどうかです。
情報
省略可否 はい
動作 はい
記述方法 真偽

doCulling

"doCulling": true,
片面表示にするかどうかです。 MQOの材質を両面表示に設定した場合でかつ、doCullingをtrueにした場合の優先順位は不明です。
情報
省略可否 はい
動作 はい
記述方法 真偽

accuracy

"accuracy": "LOW",
モデルの頂点座標精度を指定します。"LOW"または"MEDIUM"で指定してください。
LOWの場合、-16.000~16.000の範囲で頂点がズレます。 基本的にはLOWを使用し、メモリ使用量の削減に貢献してください。
情報
省略可否 はい
動作 はい
記述方法 文字列、LOW/MEDIUM

serverScriptPath

"serverScriptPath": "scripts/server/hogehoge.js",
サーバ側で実行すべきスクリプトのパスを指定します。
情報
省略可否 はい
動作 はい
記述方法 文字列

guiScriptPath

"guiScriptPath": "scripts/gui/hogehoge.js",
GUIスクリプトのパスを指定します。
情報
省略可否 はい
動作 はい
記述方法 文字列

renderAABB

"renderAABB": [-0.5, 0.0, -0.5, 0.5, 1.0, 0.5],
描画を行うかどうかを判定する箱の場所を指定します。
情報
省略可否 はい
動作 はい
記述方法 配列、数値

buttonTexture

"buttonTexture": "textures/button/button_hoge.png",
車両選択画面等で使用する選択ボタンを決定します。
ボタンのテクスチャサイズは"タテ256 x ヨコ256"で、実際に表示される範囲は左上、"タテ32 x ヨコ160"です。
ボタンのファイル名は"button_[車両名].png"にする必要があります。(車両名部分は、競合しない名前に設定する必要があります。)
情報
省略可否 いいえ、但し、NPC,看板の場合は記述してはいけません。
動作 はい
記述方法 文字列

共通(列車+乗り物のみ)

size

"size": [1.0, 1.0],
当たり判定のサイズを指定します。 幅,高さの順で設定します。
情報
省略可否 はい、但しリフトの場合はおそらく必須
動作 はい
記述方法 配列、数値

rollsignTexture

"rollsignTexture": "textures/rollsign/destination.png"
方向幕/行き先表示器/サボ/ヘッドマークに使用する、テクスチャのパスです。
情報
省略可否 はい
動作 はい
記述方法 文字列

rollsignNames

"rollsignNames": ["notinservice", "testrun", "local_station1", "local_station2", "rapid_station1", "rapid_station2", "express_station1", "express_station2"],
方向幕の名前を決定します。
列車スポーン時の初期位置は1つめの値です。
種別と行き先を別で表示したい場合、上記サンプルのように、考えられる全てのパターンを作成してください。
"rollsignNames": ["notinservice", "testrun", "local_station1", "local_station2", "rapid_station1", "rapid_station2", "express_station1", "express_station2"],
"rollsignNames": ["testrun", "notinservice", "local_station1", "local_station2", "rapid_station1", "rapid_station2", "express_station1", "express_station2"],
上記2つのJsonはtestrunとnotinserviceの記述順が入れ替わっています。
1号車に上のJson、2号車には下のJsonを指定させた編成を組ませると、1号車には回送が表示されていても、2号車には試運転が表示されてしまいます。 この状態で方向幕を一つ送ると1号車には試運転,2号車には回送が表示されます。
この問題を避けるために、自身が作成した車両の中でも、異車種かどうかを問わず、方向幕テクスチャは統一したものにするか、種別と行き先を方向幕ではなく、カスタムボタンで実装することを検討してください。
また、"回送,試運転,各停,快速"が搭載されている車両(1号車)と、"回送,試運転,各停"のみが搭載されている車両(2号車)を連結し、1号車で"快速"を表示しようとすると、2号車では回送が表示されます。
これは、2号車が4つめの方向幕を持っていないため、1つめの方向幕まで戻った結果です。 この問題を避けるために、自身が作成した車両の中でも、異車種かどうかを問わず、方向幕テクスチャは統一したものにするか、白幕を足りない側に挿入して調整を行ってください。
後方互換性の為に、小文字アルファベット,アンダーバー,数字のみで記述するようにして下さい。
日本語を使用しないでください。
情報
省略可否 はい、但しrollsignTextureが設定されている場合は必須
動作 はい
記述方法 配列、文字列

rollsigns

"rollsigns": [{
"uv": [0.0, 0.5, 0.0, 1.0],
"pos": [
[[1.0,1.0,1.0], [1.0,0.0,1.0], [-1.0,1.0,-1.0], [-1.0,0.0,-1.0]]
],
"doAnimation": true,
"disableLighting": true
},{
"uv": [0.5, 1.0, 0.0, 1.0],
"pos": [
[[1.0,2.0,1.0], [1.0,1.0,1.0], [-1.0,2.0,-1.0], [-1.0,1.0,-1.0]]
],
"doAnimation": false,
"disableLighting": false
}],
方向幕の詳細設定を行います。
--UV--
rollsignTextureで設定した、方向幕テクスチャのどの部分を表示するかを指定します。
[Uの最小値, Uの最大値, Vの最小値, Vの最大値]の形式で記述します。
Uが横、Vが縦です。
例えば、ヨコ100px,タテ100pxの画像の内、左上から数えて横75pxまで、縦は全面を方向幕1として利用する場合、[0.0, 0.75, 0.0, 1.0]となります。
UVの値は、1を絶対に超えません。(これは、アスペクト比/縦横比によらず、それぞれの方面で値が独立して指定されるためです。)
方向幕を1モデルにつき、1つのみ使用する場合は、フルサイズでテクスチャを作成し、0.0,1.0,0.0,1.0を利用して構いませんが、2つ以上の場所に方向幕を設定するかつ、別々の内容を表示する場合は1テスクチャにすべての幕を記述し、0.0,1.0,0.0,0.5などにする必要があります。
--pos--
車両モデルにおける、方向幕の位置を指定します。
""pos": [[[右上のx, 右上のy, 右上のz,], [右下のx, 右下のy, 右下のz,], [左上のx, 左上のy, 左上のz,], [左下のx, 左下のy, 左下のz]]]"の形式で記述します。
同じテクスチャを複数の場所に設定する場合は、""pos": [[[右上のx, 右上のy, 右上のz,], [右下のx, 右下のy, 右下のz,], [左上のx, 左上のy, 左上のz,], [左下のx, 左下のy, 左下のz]],[[右上のx, 右上のy, 右上のz,], [右下のx, 右下のy, 右下のz,], [左上のx, 左上のy, 左上のz,], [左下のx, 左下のy, 左下のz]]]"のようにします。
単位は㍍です。
--doAnimation--
方向幕を回す際に回るモーションを挿入するかどうかです。
通常の幕の場合はtrue,LEDの場合はfalseにしてください。
--disableLighting--
方向幕を発光させないかどうかです。
幕/LEDの場合はfalse,サボやヘッドマークに方向幕を使用する場合はtrueにしてください。
情報
省略可否 はい、但しrollsignTextureが設定されている場合は必須
動作 はい
記述方法 オブジェクト、配列、数値、文字列、真偽

sound_Stop

"sound_Stop": "train.rtm_dc40r_stn",
停車時にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_Stop": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_S_A

"sound_S_A": "train.rtm_dc40r_go-a",
停車状態から発車(加速)する際にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_S_A": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_Acceleration

"sound_Acceleration": "train.rtm_dc40r_a",
力行時にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_Acceleration": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_Deceleration

"sound_Deceleration": "train.rtm_dc40r_i",
減速時にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_Deceleration": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_D_S

"sound_D_S": "train.rtm_dc40r_i-stop",
減速から停車状態になる際にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_D_S": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_Horn

"sound_Horn": "train.rtm_wh_001",
警笛(Pキー)を押した際にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_Horn": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_DoorOpen

"sound_DoorOpen": "train.door",
ドアが開く際にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_DoorOpen": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_DoorClose

"sound_DoorClose": "train.door",
ドアが閉じる際にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_DoorClose": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_Announcement

"sound_Announcement": [["hokurikuroman", "sound_hoge:train.hokurikuroman"], ["KankuRapid", "rtm:train.rtm_223_kankuRapid"]],
車内放送の音声を指定します。
音声を持っていない場合はキーごと省略してください。
情報
省略可否 はい
動作 はい
記述方法 配列、文字列

soundScriptPath

"soundScriptPath": "scripts/sound_yo8000.js"
音声を制御するスクリプトのパスを設定します。
soundScriptPathで指定したJavaScriptファイルで音声を制御する場合は、sound_Accelerationなどを省略することができます。
情報
省略可否 はい
動作 はい
記述方法 文字列

smoke

"smoke": [[-1.0, 3.0, 9.0, "explode", 1, 2]]
パーティクルを表示させます。
x,y,z,パーティクル名,min,max,speedで指定します。(min,max,speedとはなんぞや..?)
情報
省略可否 はい
動作 はい
記述方法 配列、数値、文字列

headLights

"headLights": [
{
"type": 0,
"color": 16773328,
"pos": [0.0, 1.0, 7.5],
"r": 0.75
},{
"type": 0,
"color": 16773328,
"pos": [0.0, 1.0, -7.5],
"r": 0.75
}
]
前照灯の指定を行います。
typeは0がフレア、1がボリュームライトです。
colorは他キーの色指定と同様に、Hexではなく、Decで表記する必要があります。Hex->Decの変換方法はコチラ
posは前照灯の光源発生源の中心位置です。㍍で指定します。
rは半径を設定します。㍍で指定します。
情報
省略可否 はい
動作 はい
記述方法 配列、オブジェクト、文字列、数値

tailLights

"tailLights": [
{
"type": 0,
"color": 16711760,
"pos": [0.0, 1.0, 7.5],
"r": 0.75
},{
"type": 0,
"color": 16711760,
"pos": [0.0, 1.0, -7.5],
"r": 0.75
}
]
尾灯の指定を行います。
typeは0がフレア、1がボリュームライトです。
colorは他キーの色指定と同様に、Hexではなく、Decで表記する必要があります。Hex->Decの変換方法はコチラ
posは尾灯の光源発生源の中心位置です。㍍で指定します。
rは半径を設定します。㍍で指定します。
情報
省略可否 はい
動作 はい
記述方法 配列、オブジェクト、文字列、数値

interiorLights

"interiorLights": [
{"pos": [0.0, 2.5, 9.0]},
{"pos": [0.0, 2.5, -9.0]}
]
車内照明の位置を指定します。
posを使用して位置を設定します。
情報
省略可否 はい
動作 はい
記述方法 配列、オブジェクト、数値

slotPos

"slotPos":[
[-2.0, 3.0, 1.0, 2], [2.0, 3.0, 1.0, 2]
]
座席の位置を指定します。
x,y,z,タイプの形式で指定をし、タイプが 0:床のみ,1:デフォルト座席(リクライニングシートもどき),2:モデル表示なし です。
床に当たり判定が存在し、座席が床にめり込んでる場合は着席不可の可能性があるため、+10cm~+25cmをyに追加してください。
情報
省略可否 はい
動作 はい
記述方法 配列、数値

playerPos

"playerPos": [ [1.0, 2.75, -0.1],[-1.0, 2.75, -0.1] ]
台車をクリックした後にテレポートする、運転席の位置を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

notDisplayCab

"notDisplayCab": false
運転台(速度計や圧力計,時間などが表示される画面下部のGUI)を表示させるかどうかを指定します。
真の場合は非表示にします。 省略時は偽として扱われます。
情報
省略可否 はい
動作 はい
記述方法 真偽

wheelRotationSpeed

"wheelRotationSpeed": 0.8
車輪の回転速度を指定します。
情報
省略可否 はい
動作 はい
記述方法 数値

3Dモデル設定

列車やレール等のmodelキー設定について。

model/trainModel2/bogieModel2

"model" {
"modelFile": "ModelRail_hoge.mqo",
"textures": [
["mat1", "textures/rail/hoge1.png", ""],
["mat2", "textures/rail/hoge2.png", ""]
],
"rendererPath": "scripts/hoge.js"
}
キー名について: 列車の場合は車体:"trainModel2",ボギー:"bogieModel2"です。bogieModel3は列車の項目で説明しています。それ以外の場合は"model"です。
列車やレール等の3Dモデルを設定します。

modelFile

モデルファイル名を入力します。 ファイル名単体です。(これは、3Dモデルがassets/minecraft/models/に存在する必要がある為です。)

textures

全ての材質に対するテクスチャを設定します。
これに例外はありません。 必ずすべてに設定してください。
構文は["材質名", "テクスチャパス", "オプション"]です。
オプションは以下の通りです。:

"AlphaBlend"
"Light"
"AlphaBlend,Light"
"AlphaBlend,Light,OneTex"

OneTexオプションは特殊なオプションであるため、AlphaBlendとLightを併用する必要があります。 また、必ず材質数を1にしてください。

rendererPath

レンダリングスクリプトのパスです。
必須ではありません。

おまけ

RtmJsonCreatorにはAMSというとても素晴らしい機能が存在します。
JavaScriptに移植したのでここで使うことができます。 ただし、"rendererPath"については対応をさぼってます。
また、キー名は全てmodelとして出力されるため、列車Jsonで使用する場合はtrainModel2に変換する必要があります。





        

列車

列車の設定項目です。
共通(乗り物)も参照するようにして下さい。

trainName

"trainName": "hogehoge",
車両名を決定します。 ここで設定された車両名は、"アイテム電車"の説明文(選択された車両の名前が表示される)や、車両選択画面の並び順等に利用されます。
100%ユニークであると保証できる名前を付与してください。 同時に同一名の車両が読み込まれると、競合が発生します。
但し、Base64で形式名を表したものなど、名前から車両を推測できないものはユーザ体験を大幅に下げます。
後方互換性の為に、小文字アルファベット,アンダーバー,数字のみで記述するようにして下さい。
日本語を使用しないでください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

trainType

"trainType": "DC",
列車のタイプを設定します。 "EC","DC","CC","TC"のいずれかを使用してください。 それぞれ、電車,気動車,貨車,タンク車です。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

trainModel2

3Dモデル設定を参照してください。

情報
省略可否 いいえ
動作 はい

bogieModel2

3Dモデル設定を参照してください。
オプションは省略可能です。

情報
省略可否 いいえ、bogieModel3を指定する場合ははい
動作 はい

bogieModel3

"bogieModel3": [
{
"modelFile": "bogie_mae.mqo",
"textures": [
["mat1", "textures/train/bogie_mae_1.png"],
["mat2", "textures/train/bogie_mae_2.png"]
]
},{
"modelFile": "bogie_usiro.mqo",
"textures": [
["mat1", "textures/train/bogie_usiro_1.png"],
["mat2", "textures/train/bogie_usiro_2.png"]
]
}
],
ボギーモデルを設定します。
bogieModel2とbogieModel3の違いは"前後でボギーのモデルを変えるかどうか"です。
ちょっと記述方法が違うだけで殆どの部分はbogieModel2と同じです。
情報
省略可否 いいえ、bogieModel2を指定する場合ははい
動作 はい
記述方法 配列、オブジェクト、文字列

sound_BrakeRelease

"sound_BrakeRelease": "train.o220_release",
B1からNにした時にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_BrakeRelease": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

sound_BrakeRelease2

"sound_BrakeRelease2": "train.brakeR_w",
ブレーキを1段階緩めた時にプレイする音声です。
設定していない場合は無音になるので、音声を持っていない場合はRtmに元から入ってる音声を指定することが推奨されます。
絶対に値を決めない状態("sound_BrakeRelease2": "",)にしないでください。
この音声キーがトリガーされた瞬間、エラーを吐いてMinecraftのすべての音声が再生されなくなるか、Minecraftがクラッシュします。
情報
省略可否 はい
動作 はい
記述方法 文字列

muteJointSound

"muteJointSound": false,
ジョイント音を黙らせるかどうかを指定します。
真の場合はジョイント音を再生しません。
情報
省略可否 はい
動作 はい
記述方法 真偽

bogiePos

"bogiePos": [[0.0, 0.0, 6.93], [0.0, 0.0, -6.93]],
台車の位置を指定します。
座標を前後の順で入力します。
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

trainDistance

"trainDistance": 9.5,
列車の連結間隔を指定します。
Minecraft内で連結間隔を確認しながら設定することを推奨しますが、面倒な場合は車体長の半分くらいを指定しておきましょう。
情報
省略可否 いいえ
動作 はい
記述方法 数値

accelerateion

"accelerateion": 0.0017,
加速度を指定します。
5 km/h/s = 5*0.0006944 = 0.003472
情報
省略可否 いいえ
動作 はい
記述方法 数値

maxSpeed

"maxSpeed": [0.2, 0.4, 0.6, 0.8, 1.0]
1ノッチごとの速度限界です。
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

rolling

"rolling": 0.5,
カーブ時の車体傾斜を指定します。
0.0~1.0の範囲で指定してください。
情報
省略可否 はい
動作 はい
記述方法 数値

rollSpeedCoefficient

"rollSpeedCoefficient": 0.125,
何のためのキーかわからんけど車両が左右に揺れる速度?を指定するんだと思う
情報
省略可否 はい
動作 はい、おそらく
記述方法 数値

rollVariationCoefficient

"rollVariationCoefficient": 0.51,
マジでよくわからんけど、rollSpeedCoefficientと一緒に使わないといけないことだけわかってる
情報
省略可否 はい、但しrollSpeedCoefficientが設定されている場合は必須
動作 はい、おそらく
記述方法 数値

rollWidthCoefficient

"rollWidthCoefficient": 1.0,
たしか車体が左右に揺れる幅を指定するやつだった気がする..
情報
省略可否 はい、但しrollSpeedCoefficientが設定されている場合は必須
動作 はい、おそらく
記述方法 数値

乗り物(自動車,航空機,船舶)

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
乗り物の名前を指定します。
trainNameの乗り物(自動車,航空機,船舶)版です。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

vehicleType

"vehicleType": "Car",
乗り物のタイプを指定します。
Car,Ship,Planeで指定してください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

friction

"friction": [0.9, 0.9],
乗り物のすべりやすさを指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

acceleration

"acceleration": [0.0125, 0.0125],
加速度を指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

maxSpeed

"maxSpeed": [0.8, 0.8],
最大速度を指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

maxYaw

"maxYaw": [15.0, 15.0],
Yaw係数を指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

pitchCoefficient

"pitchCoefficient": [4.5, 4.5],
Pitch係数を指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

rollCoefficient

"rollCoefficient": [45.0, 45.0],
Roll係数を指定します。
それぞれ、地面にいる場合と空中にいる場合です。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、数値

changeYawOnStopping

"changeYawOnStopping": true,
停車中に旋回が可能かどうかを指定します。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 真偽

乗り物(リフト)

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
乗り物の名前を指定します。
trainNameの乗り物(自動車,航空機,船舶)版です。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

vehicleType

"vehicleType": "Lift",
乗り物のタイプを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列(Lift)

vibration

"vibration": [0.0, 0.0],
これが何をするかよくわかってません! とりあえず上記のJsonにしとけ!
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

gripPos

"gripPos": [0.0, 3.5, 0.0]
リフトの3Dモデルと、ワイヤーが接触する部分を指定します。
それぞれ、x,y,zです。
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

collisionParts

"collisionParts": ["seat1", "seat2"],
当たり判定を有効化にする材質(もしくはオブジェクト名?)を指定します。
情報
省略可否 いいえ、おそらく
動作 はい
記述方法 配列、文字列

レール

"共通"で省略が不可とされているものもJson内に記述する必要があります。

railName

"railName": "hoge",
レールの名前を指定します。
絶対に競合しない名前にしてください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

polygonType

"polygonType": 4,
モデルファイルに三角で構成される面がある場合は3を指定し、全てが四角の場合は4を指定してください。
情報
省略可否 いいえ
動作 はい
記述方法 数値

ballastWidth

"ballastWidth": 3,
バラストの幅を指定します。 1/3/5のどれかを強く推奨します。 単位はメートルです。
情報
省略可否 いいえ
動作 はい
記述方法 数値

allowCrossing

"allowCrossing": true,
Mobの通り抜けを許可するかどうかです。
falseだとバニラのレールみたいになります。
情報
省略可否 いいえ
動作 不明
記述方法 真偽

defaultBallast

"defaultBallast": [{
"blockName": "gravel",
"blockMetadata": 0,
"height": 0.0625
},{
"blockName": "snow",
"blockMetadata": 0,
"height": 0.0625
}]
クリエイティブタブにレールを追加する場合の初期設定です。
blockNameはブロック名(minecraft:stoneなどの"stone"の部分?)、blockMetadataはメタデータ(0001:2の2の部分?)、heightはバラストの高さを指定する。
情報
省略可否 はい
動作 はい
記述方法 オブジェクト、配列、文字列、数値

コンテナ

"共通"で省略が不可とされているものもJson内に記述する必要があります。

containerName

"containerName": "hoge",
コンテナの名前を指定します。
絶対に競合しない名前にしてください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

containerModel

"containerModel": "ModelContainer_hogehoge.mqo",
コンテナ用のモデル設定キーです。
"model"キーは必要ありません。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

containerTexture

"containerTexture": "textures/container/hogehoge.png",
モデルに適用するテクスチャを指定します。
1つのみの指定です。(つまり、コンテナのモデルは1材質で作成する必要があります!)
情報
省略可否 いいえ
動作 はい
記述方法 文字列

containerWidth

"containerWidth": 3.0,
当たり判定の計算のために幅を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

containerHeight

"containerHeight": 2.5,
当たり判定の計算のために高さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

containerLength

"containerLength": 3.71,
コンテナの長さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

火器

"共通"で省略が不可とされているものもJson内に記述する必要があります。

firearmName

"firearmName": "hoge",
火器の名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

firearmModel

"firearmModel": "Modelfirearm_hogehoge.mqo",
火器用のモデル設定キーです。
"model"キーは必要ありません。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

firearmTexture

"firearmTexture": "textures/firearm/hogehoge.png",
モデルに適用するテクスチャを指定します。
1つのみの指定です。(つまり、火器のモデルは1材質で作成する必要があります!)
情報
省略可否 いいえ
動作 はい
記述方法 文字列

modelPartsY

"modelPartsY": {
"objects": ["base"],
"pos": [0.0, 0.0, 0.0]
},
火器のパーツを指定します。(Y軸回転)
情報
省略可否 不明
動作 不明
記述方法 オブジェクト、配列、文字列、数値

modelPartsX

"modelPartsX": {
"objects": ["body"],
"pos": [0.0, 0.5, 0.0]
},
火器のパーツを指定します。(X軸回転)
情報
省略可否 不明
動作 不明
記述方法 オブジェクト、配列、文字列、数値

modelPartsBarrel

"modelPartsBarrel": {
"objects": ["barrel"],
"pos": [0.0, 3.0, -0.25]
},
火器のパーツを指定します。(バレル)
情報
省略可否 不明
動作 不明
記述方法 オブジェクト、配列、文字列、数値

muzzlePos

"muzzlePos": [0.0, 3.0, 7.0],
砲口の位置を指定します。
情報
省略可否 不明
動作 不明
記述方法 配列、数値

playerPos

"playerPos": [0.0, 0.5, 0.0],
砲手の位置を指定します。
情報
省略可否 不明
動作 不明
記述方法 配列、数値

yaw

"yaw": [180.0, -180.0],
旋回角度の最大値と最小値を指定します。
情報
省略可否 不明
動作 不明
記述方法 配列、数値

pitch

"pitch": [80.0, -5.0],
仰俯角の最大値と最小値を指定します。
情報
省略可否 不明
動作 不明
記述方法 配列、数値

rotationSpeedY

"rotationSpeedY": 1.0,
Y軸回転の速度を指定します。
情報
省略可否 不明
動作 不明
記述方法 数値

rotationSpeedX

"rotationSpeedX": 1.0,
X軸回転の速度を指定します。
情報
省略可否 不明
動作 不明
記述方法 数値

recoil

"recoil": 0.8,
リコイルの大きさを指定します。
情報
省略可否 不明
動作 不明
記述方法 数値

fpvMode

"fpvMode": true,
1人称視点の時に火器モデルを描画しないかどうかです。
情報
省略可否 不明
動作 不明
記述方法 真偽

信号機

"共通"で省略が不可とされているものもJson内に記述する必要があります。

signalName

"signalName": "hoge",
信号機の名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

signalModel

"signalModel": "Modelsignal_hogehoge.mqo",
信号機用のモデル設定キーです。
"model"キーは必要ありません。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

signalTexture

"signalTexture": "textures/signal/hogehoge.png",
モデルに適用するテクスチャを指定します。
1つのみの指定です。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

lightTexture

"lightTexture": "textures/signal/hoge.png"
ライト用(発光部)のテクスチャを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

modelPartsFixture

"modelPartsFixture": {
"objects": ["pole", "body2"],
"pos": [0.0, 0.0, 0.0]
},
固定具パーツを指定します。
objectsにはパーツに使うオブジェクトの名称を指定し、posは回転の中心位置を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 オブジェクト、配列、文字列、数値

modelPartsBody

"modelPartsBody": {
"objects": ["body", "light1", "light2", "light3"],
"pos": [0.0, 0.0, 0.425]
},
本体パーツを指定します。
objectsとposは"modelPartsFixture"と同じ設定方法です。
情報
省略可否 いいえ
動作 はい
記述方法 オブジェクト、配列、文字列、数値

lights

"lights": [
"S(1) I(0) P(light1, light4)",
"S(3) I(0) P(light2)",
"S(5) I(0) P(light3)"
],
ライトの発光設定です。
"S([信号強度]) I([点滅の間隔をtick単位で入力.0は通常発光]) P([光らせるオブジェクト名])" で指定してください。
情報
省略可否 いいえ
動作 はい
記述方法 配列、文字列

rotateBody

"rotateBody": true
設置時の向きで回転させるかどうかです。
情報
省略可否 不明
動作 はい
記述方法 真偽

NPC

"共通"で省略が不可とされているものもJson内に記述する必要があります。

model

3Dモデル設定を参照してください。
キー名はmodelです。

name

"name": "hoge",
NPCの名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

role

"role": "passenger",
NPCのロールを指定します。
attendant,guard,mannequin,passengerから選択してください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

看板

texture

"texture": "hoge",
テクスチャのファイル名(拡張子、パスなし)を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

backTexture

"backTexture": 1,
裏側テクスチャの扱いを指定します。
0:裏表同じテクスチャにします。,1:テクスチャの内、右半分を裏側テクスチャとして扱います。,2:裏側は側面色に合わせます。
情報
省略可否 いいえ
動作 はい
記述方法 数値

height

"height": 0.75,
看板の高さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

width

"width": 2.25,
看板の幅を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

depth

"depth": 0.375,
看板の奥行を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

frame

"frame": 1,
看板のフレーム数を指定します。
例えば、5フレームの場合は看板に表示されるのがテクスチャの縦px数/5になります。
情報
省略可否 いいえ
動作 はい
記述方法 数値

animationCycle

"animationCycle": 1,
アニメーション(フレームが切り替わる)間隔を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

color

"color": 000000,
側面の色をDecで指定します。
HexからDecにする方法はコチラ
情報
省略可否 いいえ
動作 はい
記述方法 数値

lightValue

"lightValue": 0,
発光強度を指定します。
-16:ランダムに発光(非推奨),-15~-1:RS信号が入っているときのみ発光,0~15:常時発光します。
情報
省略可否 いいえ
動作 いいえ
記述方法 数値

機能あり設置物

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
機能あり設置物の名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

machineType

"machineType": "Gate",
機能あり設置物のタイプを指定します。
遮断機,転轍機,改札機,券売機,照明R,車止め,ATC,列車検出器,照明 はそれぞれ、
Gate,Point,Turnstile,Vendor,Light,BumpingPost,Antenna_Send,Antenna_Receive,Light として入力してください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

sound_OnActivate

"sound_OnActivate": "train.rtm_wh_001",
右クリック時に再生するサウンドを指定します。
情報
省略可否 はい、おそらく
動作 はい
記述方法 文字列

sound_Running

"sound_Running": "rtm:block.rtm_crossingGate0",
RS入力がされている場合にプレイする音声です。(リピート)
情報
省略可否 はい、おそらく
動作 はい
記述方法 文字列

機能なし設置物

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
機能なし設置物の名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

ornamentType

"ornamentType": "Lamp",
機能なし設置物のタイプを指定します。
照明,階段,足場,架線柱,パイプ,植物 はそれぞれ、
Lamp,Stair,Scaffold,Pole,Pipe,Plant として入力してください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

"共通"で省略が不可とされているものもJson内に記述する必要があります。

texture

"texture": "textures/flag/flag_hoge.png",
テクスチャのファイルパスを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

height

"height": 0.75,
旗の高さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

width

"width": 2.25,
旗の幅を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

resolutionU

"resolutionU": 32,
何のキーかわからないランキング堂々の1位! まじでわからん!
情報
省略可否 不明
動作 不明
記述方法 数値

resolutionV

"resolutionV": 48,
何のキーかわからないランキング堂々の2位! まじでわからん!
情報
省略可否 不明
動作 不明
記述方法 数値

poleLength

"poleLength": 2.0,
旗のポールの長さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

コネクタ

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
コネクタの名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

connectorType

"connectorType": "Relay"
コネクタのタイプを指定します。
Relay,Input,Outputから選択してください。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

wirePos

"wirePos": [0.0, 1.0, -0.25],
ワイヤを接続した際の接続位置を指定します。
ブロックの中心が原点となります。
情報
省略可否 いいえ
動作 はい
記述方法 配列、数値

ワイヤ

"共通"で省略が不可とされているものもJson内に記述する必要があります。

name

"name": "hoge",
ワイヤの名前を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 文字列

model

3Dモデル設定を参照してください。
キー名はmodelです。

deflectionCoefficient

"deflectionCoefficient": 0.125,
カテナリー曲線の係数を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

lengthCoefficient

"lengthCoefficient": 0.0625,
カテナリー曲線の係数を指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

sectionLength

"sectionLength": 0.25,
曲線の1分割の長さを指定します。
情報
省略可否 いいえ
動作 はい
記述方法 数値

sounds.json

{
"train.hoge1": {
"category": "neutral",
"sounds": ["train/hoge1"]
},
"train.hoge2": {
"category": "neutral",
"sounds": ["train/hoge2"]
}
}
キー名は"フォルダ名.ファイル名(.oggを省略)"に指定してください。
categoryはneutral固定です。
soundsにはキー名と同じ内容を指定します。(.は/に置き換え)
詳細なsounds.jsonの作成方法はコチラをご覧ください。

pack.json

{
"name":"hoge",
"homepage":"https://example.org/",
"updateURL":"https://example.org/updatetext.txt",
"version":"1.0.0"
}
nameにはアドオン名を指定します。 競合を避けなさい。
homepageは省略することも可能です。
updateURLにはアップデート確認用のテキストファイルURLを指定します。
versionには現時点の最新バージョンを指定してください。

pack.json - アップデート確認用テキストファイル

addon1:1.0.0
addon2:0.1
アドオン名:バージョン の形式で記述します。
複数アドオンを管理する場合は改行して続けてください。

参考文献

ngt5479 [RTMモデルパック作成マニュアル_2.4.8_1] 2019