0 B2 Q( \) x! B4 @9 |
{
" K. v/ _; X! _& ~" A "custom_trains":{
1 T% L7 c2 ]7 F) ?3 v; l "mlrfc_4":{
& @6 H; |. R- K4 l "base_train_type":"mlr",9 J9 {8 c1 w9 y( S- `1 [: }
"name":"MLR with First Class (4-car)",
! Q# B3 q* @& Z0 {, l3 O "description":"This train can only run at 4 cars",+ k3 Y C5 x0 R3 [4 A6 J/ v
"wikipedia_article":"",2 g$ I5 s2 `0 S6 d8 @% _
"color":"5DB7E8",) J% X% _! A3 |, S% p" V# b0 @
"gangway_connection_id":"mtr:textures/entity/m_train",
_$ J, w2 ]; e2 T% M4 W6 B "train_barrier_id":"mtr:textures/entity/mlr",; }; U* A+ f( J( D2 E' [8 y' A, _
"door_animation_type":"MLR",( n3 N1 X1 {& R; E! X- }" f. {4 s
"render_door_overlay":false,
% B7 t: E9 M" _; b/ s( k! @7 q "rider_offset":0.0,
; }& J4 F" d. p9 k8 `! o "texture_id":"mtr:custom_directory/mlrfc",
6 ~) u q5 G: D, J4 O; t* g# U [+ d "model":"mtr:custom_directory/mlrfc.bbmodel",6 w& `. ]! ^8 K
"model_properties":"mtr:custom_directory/4/mlrfc_4.json"
- K( g4 f( L. c# y },
. v( \* ~4 x. S" o "mlrfc_6_8":{
* [0 }, O; D% j: {! l8 ]/ W "base_train_type":"mlr",
5 k7 W. C, E, G7 r: x "name":"MLR with First Class (6-car and 8-car)",; d) g$ y% Q9 ]/ m) w/ F
"description":"This train can only run at 6 cars and 8 cars",
5 d8 X( l, s# I1 L "wikipedia_article":"",# ^/ a8 ?, V- d& C& y6 B
"color":"5DB7E8",
# g( k# K- K8 N* i. K "gangway_connection_id":"mtr:textures/entity/m_train",
- ]( j0 |! o5 Y$ s8 w "train_barrier_id":"mtr:textures/entity/mlr",, d9 [; q* u4 \& p: R/ R
"door_animation_type":"MLR",
, f- V6 ~2 p' x) B0 N H "render_door_overlay":false,
6 i9 S6 N, O& q/ S "rider_offset":0.0,
4 ~6 P- ?$ U2 ?, _; N "texture_id":"mtr:custom_directory/mlrfc",
. C" V7 s& z* i% G "model":"mtr:custom_directory/mlrfc.bbmodel",
. @3 L6 v6 C1 j7 Z* p( q [ "model_properties":"mtr:custom_directory/6_8/mlrfc_6_8.json"% ]7 o/ I) J! R4 a b' h
},6 j: v) C6 `8 A) u/ H
"mlrfc_9":{4 V* ~* p1 M* ?5 n
"base_train_type":"mlr",
# C8 J! h: g- {% r "name":"MLR with First Class (9-car)",2 C) w3 m- Q# ?% X
"description":"This train can only run at 9 cars",
2 L5 ~) o7 K, Y9 ^+ b ?5 R! ~ "wikipedia_article":"",+ t" u/ _9 N7 t+ Q$ E$ R3 O
"color":"5DB7E8",
: u7 `. H' Y; ]; ?- a "gangway_connection_id":"mtr:textures/entity/m_train",
M4 O& ?4 t; h8 ~: M7 k "train_barrier_id":"mtr:textures/entity/mlr",. S c) ~. \( M- j% x" v+ H* n
"door_animation_type":"MLR",5 A) [+ Y6 K# M: P9 A% V
"render_door_overlay":false,
) t4 u" D3 `6 @# L! D# _: d2 Y "rider_offset":0.0,; |5 i8 |1 \5 _ F1 ?% s
"texture_id":"mtr:custom_directory/mlrfc",
3 a- x3 a) B& f1 t0 D) C "model":"mtr:custom_directory/mlrfc.bbmodel",& c! h7 l" w" }5 k6 `
"model_properties":"mtr:custom_directory/9/mlrfc_9.json"
. U A. T% n% ?7 }; K },) D$ J7 Y1 o7 ?" k" B0 I+ ^
"mlrfc_12":{/ H: c1 G+ n- D( ]( Y& z |# x
"base_train_type":"mlr",
9 y4 `4 d2 n9 n I; t! @ "name":"MLR with First Class (12-car)",5 W$ E$ D6 i. \: E: r
"description":"This train can only run at 12 cars",3 j+ k* _; [! r+ q0 Q
"wikipedia_article":"",
% t6 M! p8 L1 {, ~: }% D" G2 I9 D; S "color":"5DB7E8",) I$ N7 ^. ]& V* T' r; g
"gangway_connection_id":"mtr:textures/entity/m_train",; d8 M9 u. H1 S# t; D
"train_barrier_id":"mtr:textures/entity/mlr",, K2 R7 V6 `* H( ~: J
"door_animation_type":"MLR",
8 _' b- x2 d# m* W, ~ "render_door_overlay":false,/ E* I- h i; A+ _7 q+ x
"rider_offset":0.0,% P/ Y {" s3 B+ u( R
"texture_id":"mtr:custom_directory/mlrfc",3 X& o; J ~& I2 p
"model":"mtr:custom_directory/mlrfc.bbmodel",
( P0 v# _3 |' \& V$ K. e9 }, d "model_properties":"mtr:custom_directory/12/mlrfc_12.json"! K* a0 b* g, a
},$ y7 X0 @3 v; P
"mlrfc_4_map":{
1 `# m$ @2 J" i- H7 u "base_train_type":"mlr",4 R0 h! T) d% Q, H( D3 m
"name":"MLR with First Class and HD Map (4-car)",
: C6 C& D0 y- ~8 s: e "description":"This train can only run at 4 cars",- e: T* Y/ c7 v! g! O
"wikipedia_article":"",
" w. r0 P6 ?1 x' s "color":"5DB7E8",
' X6 }1 l. C! B$ s, ^ "gangway_connection_id":"mtr:textures/entity/m_train",7 E# r( p2 Q: N( N* F
"train_barrier_id":"mtr:textures/entity/mlr",
+ ]( p( I: ^; \* g1 q9 W0 s# i# G "door_animation_type":"MLR"," s Q0 a* N6 A- ~! O/ M h/ w: m
"render_door_overlay":false,# _' k- |9 J2 ~2 y1 e- R' O
"rider_offset":0.0,3 n( E. |, F5 G$ P7 O4 y: ?6 r
"texture_id":"mtr:custom_directory/mlrfc",9 o# F' h, w2 C& x- V/ C1 @: z, T
"model":"mtr:custom_directory/mlrfc.bbmodel",
/ K' [, L- F# T v. Y9 [ "model_properties":"mtr:custom_directory/4/mlrfc_4.json",
; ]9 S7 X: d: H4 F4 P2 Q9 `+ \ "script_texts":[
7 R+ M1 j4 M) g. I6 s, l "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",5 l1 A- M4 f% z5 o. n+ B; t; n
"var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
5 T9 X5 O# Z) G, e# b7 O3 z% @ "var dhBase = new DisplayHelper(slotCfg);"
" _/ r, B) G3 y6 B) y: T ],) `" S5 u8 {! c0 }6 u
"script_files":[: H6 u) R. s; ]0 u
"mtr:map/main.js"
5 p+ k! e s* o ]
, D; Z: Q" M r y. ?4 Q E" V },+ q( a" H3 F C" c U3 q
"mlrfc_6_8_map":{" |3 Z0 m" @) Z) D7 w- u+ |
"base_train_type":"mlr",) P3 i+ @5 {+ X! Q1 Z. O
"name":"MLR with First Class and HD Map (6-car and 8-car)",
) R8 X9 {' Y+ n' }& L# ~* C" S "description":"This train can only run at 6 cars and 8-cars"," b9 a& Q* p# _- t# q H4 ^5 t. ~
"wikipedia_article":"",
; {+ n" c6 ~6 p' _/ }/ K "color":"5DB7E8",
% l9 z' |7 M6 ^* A3 [: a "gangway_connection_id":"mtr:textures/entity/m_train",
9 q y% J" u/ v: q% I* u "train_barrier_id":"mtr:textures/entity/mlr",
8 L4 ^" C+ b7 f4 ~6 t "door_animation_type":"MLR",
% h( Y0 b$ e* |; ]+ d "render_door_overlay":false,: R+ q4 r9 f& G
"rider_offset":0.0,8 ^2 j% r* H7 y7 U6 @6 x1 ]7 m
"texture_id":"mtr:custom_directory/mlrfc",
) U1 r- g* o9 M% X# y0 C P/ T "model":"mtr:custom_directory/mlrfc.bbmodel",
9 V( K6 W! `8 s8 _8 p4 O5 t- A "model_properties":"mtr:custom_directory/6_8/mlrfc_6_8.json",
/ s, T5 h: T2 ?& u |0 e; n/ Z "script_texts":[
6 W. E3 I, O; H2 E2 E& ^ "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",
0 j9 m, L3 ?2 m- h* g4 U "var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",% v7 R: D5 [6 m6 O U
"var dhBase = new DisplayHelper(slotCfg);"
& T" Z8 u; A! u ],! E3 F6 v9 V% v3 G: H
"script_files":[
" k% c4 o1 e6 [6 ^" j- ]. ? "mtr:map/main.js"
: E% Y% w' T3 s ]
7 z3 a* T! J$ D },
6 ?0 P4 ]" F2 L! O "mlrfc_9_map":{
9 }. A) X9 u7 L& ~0 ~8 O; K "base_train_type":"mlr",
3 l7 a4 S8 R$ T2 M% {; X$ g "name":"MLR with First Class and HD Map (9-car)",
& J" M W- z, v, g, o$ a1 l5 h% p "description":"This train can only run at 9 cars",& R. D- U: ~' e6 M8 r! f
"wikipedia_article":"",3 I2 g' m! y; {3 u' a
"color":"5DB7E8",+ ^5 U& X$ |& ?
"gangway_connection_id":"mtr:textures/entity/m_train",! B* n( @7 g% i/ ~
"train_barrier_id":"mtr:textures/entity/mlr",7 _% R" f, x* v6 d; a: |
"door_animation_type":"MLR",6 _' u$ g& r* e. ]: M6 z% u
"render_door_overlay":false,
' ?- P8 o) O7 ^ "rider_offset":0.0,
" I! T. L) o- i6 g3 f "texture_id":"mtr:custom_directory/mlrfc",$ s0 n% q' `$ k$ q5 j3 d% w; v. k* b
"model":"mtr:custom_directory/mlrfc.bbmodel",
) h7 W9 U& h+ T; w8 H8 M "model_properties":"mtr:custom_directory/9/mlrfc_9.json",5 k7 L2 o5 b# n. g" K
"script_texts":[) n) V0 x3 V4 _; V
"include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",8 R( Y) v' y/ |& n! x6 R8 Y- `
"var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
: z/ G" @/ k8 i5 d5 q9 s ^+ j "var dhBase = new DisplayHelper(slotCfg);"
1 r* P* j: v3 K) D2 W' z( p ],
u6 R' K9 T+ A! O4 H% m "script_files":[
3 T' _% u5 C5 }+ q& t "mtr:map/main.js"
% i3 F; C+ B; s& ]# p6 [ ]* I3 V8 u9 I' @7 y# P/ b* I
},
6 y4 j$ g0 s' ?+ z D# M$ }' K3 J "mlrfc_12_map":{2 K* q: ?6 {; J2 r" s5 B) q" V
"base_train_type":"mlr",
, J3 f' v7 b+ I0 x9 G# ^2 k5 v "name":"MLR with First Class and HD Map (12-car)",' j6 Z8 a2 E# C* E$ f$ ?/ E. i
"description":"This train can only run at 12 cars",+ X5 h+ C, I: ^! N6 ?
"wikipedia_article":"",
5 y* h; R+ H* N2 t2 c. ^ "color":"5DB7E8", a6 W2 b, a4 `' @% e% b: Y& r
"gangway_connection_id":"mtr:textures/entity/m_train",9 l! l2 u1 D$ `( w4 R8 A
"train_barrier_id":"mtr:textures/entity/mlr",
. ~( q3 @7 u" Q; L" B "door_animation_type":"MLR",% [- \6 }0 O X8 [) Q N
"render_door_overlay":false,
; Q5 |7 ^1 X2 X3 _3 l "rider_offset":0.0,
/ h5 }3 n+ N* l3 D "texture_id":"mtr:custom_directory/mlrfc",* Q1 B, O( e" W2 u9 i6 p: ~! O
"model":"mtr:custom_directory/mlrfc.bbmodel",- @4 A3 i' R3 B$ z+ u1 s6 j
"model_properties":"mtr:custom_directory/12/mlrfc_12.json",
9 D# ~, V% Q K0 w; G "script_texts":[
! T9 C3 S1 C7 t' y* Q; c& i "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",
4 `# L9 X& [4 t) E7 ^: Z "var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
) |5 r2 M! L' X7 { "var dhBase = new DisplayHelper(slotCfg);"7 `" R0 U5 {, C, b
]," A: U) o [& `* ~7 W' e
"script_files":[" {- o5 }, }0 f0 z
"mtr:map/main.js": P* u5 N: f; `! S8 p/ G0 k* e
]$ o& x' c) C8 a; c, ^* f
},
4 J2 r4 L% G- \1 C6 v "sp1900fc_4":{
* M% C/ ^6 T6 E! I- c: o# S "base_train_type":"sp1900",
E9 k+ \6 U* j% X+ U( a "name":"SP1900 with First Class (4-car)",
: ]- d2 {& R1 Y "description":"This train can only run at 4 cars",
5 E0 C& y+ t! f3 u "wikipedia_article":"",: c; L! e- _" {: x @9 E& h
"color":"5DB7E8",
/ q0 r# t$ C0 M& v. g* ] "gangway_connection_id":"mtr:textures/entity/sp1900",7 `2 E& J8 H( ~2 l
"train_barrier_id":"",
7 Z4 Q# D8 n$ O: p" l "door_animation_type":"STANDARD",' x1 q8 T% f% E8 p1 \1 N B- F
"render_door_overlay":false,
: }8 g5 s0 j: T* v( g' K2 D "rider_offset":0.0,; J j: E" v0 D1 N$ W
"texture_id":"mtr:custom_directory/sp1900fc",- Y! `# H' S# ^- j4 z
"model":"mtr:custom_directory/sp1900fc.bbmodel",
# F4 H0 c6 f* s( g! |" O "model_properties":"mtr:custom_directory/4/sp1900fc_4.json". K1 X% X$ o4 K
},& B. y0 E; S" Q' E$ {2 Z7 _- _
"sp1900fc_6_8":{
& Z2 B" s7 M i% D' y "base_train_type":"sp1900",. _0 X: Z# c5 V
"name":"SP1900 with First Class (6-car and 8-car)",$ l0 X9 |) ^' p
"description":"This train can only run at 6 cars and 8 cars",
% j% j) G# a2 Z7 l "wikipedia_article":"",/ v$ A& n3 L0 k7 s
"color":"5DB7E8",
0 j1 C% E; i- n+ w: K "gangway_connection_id":"mtr:textures/entity/sp1900",
& O) q0 q# N- V( H* @ Z) X1 B4 U "train_barrier_id":"",
" V& C) n: G) O( H. z! o9 p) v "door_animation_type":"STANDARD",
- b0 N+ p$ \) c) [7 u( e) U/ O "render_door_overlay":false,+ J1 ~4 m7 o1 K' O. L( t2 d) W
"rider_offset":0.0,
6 E6 q( Z3 k4 _: F2 ~8 M) C "texture_id":"mtr:custom_directory/sp1900fc",
& w: m D% i: S. B) O( x, T5 R "model":"mtr:custom_directory/sp1900fc.bbmodel"," m0 z5 p! B/ E; M! R) R2 M7 i
"model_properties":"mtr:custom_directory/6_8/sp1900fc_6_8.json"
7 _, N! S9 k1 r; M8 T8 Y },' g1 E9 P" U+ [1 S) H* {
"sp1900fc_9_12":{ p' s6 x9 r, E
"base_train_type":"sp1900",
; t- Y( B- ^4 ~; i* D+ S% b "name":"SP1900 with First Class (9-car and 12-car)",( T3 B+ h) b: `# S, H, T1 l$ o; f
"description":"This train can only run at 9 cars and 12 cars",
6 o# t& m& U) _8 L "wikipedia_article":"",
& J, S6 H+ W+ }4 ] "color":"5DB7E8",
; r7 T. k' {& M, g2 d9 r "gangway_connection_id":"mtr:textures/entity/sp1900", t4 H0 b. f+ n7 i$ ?" d% e1 |
"train_barrier_id":"",3 p+ A* E' e8 x S& N
"door_animation_type":"STANDARD",9 Z$ d7 c% N! ~. Q3 A
"render_door_overlay":false,
" F4 Y* @8 O- m+ k1 z "rider_offset":0.0,( c' Z2 }- M: E0 [3 ?. h) B
"texture_id":"mtr:custom_directory/sp1900fc",
: e6 k; z$ W. z# o2 X* T "model":"mtr:custom_directory/sp1900fc.bbmodel",
% [+ N. s+ @0 @9 \: J2 z "model_properties":"mtr:custom_directory/9_12/sp1900fc_9_12.json"
- N* L- S4 c6 j4 z },
8 t; O9 S" s2 I+ T0 Z: Y% d* O "r_trainfc_4":{
" h- b9 A4 i) X p' x "base_train_type":"r_train",
3 J1 [; q2 G& Y) K0 k "name":"R-Train with First Class (4-car)",
0 q+ v2 c2 w1 u( v% | "description":"This train can only run at 4 cars",* d3 v% h p& U2 E L3 L
"wikipedia_article":"",2 h3 j$ M) F9 w8 D! X
"color":"5DB7E8",. j- \4 i8 J- k# x
"gangway_connection_id":"mtr:textures/entity/sp1900",
8 |9 ?3 f6 S3 c' w: w' L6 a+ I6 V "train_barrier_id":"mtr:textures/entity/mlr",7 K% k* O0 e) b, q! K
"door_animation_type":"STANDARD",
( `& @' P3 w5 q7 h: l. f "render_door_overlay":false,$ E0 }* O8 {( T( s; Y4 A0 E
"rider_offset":0.0,/ r' E# m8 I: ?/ L
"texture_id":"mtr:custom_directory/r_trainfc",6 b4 s* o1 U- y4 Y" ^
"model":"mtr:custom_directory/r_trainfc.bbmodel",+ `$ r6 t7 ^$ z& w' ]" \$ K0 l
"model_properties":"mtr:custom_directory/4/r_trainfc_4.json"; z: Z I$ P& k* l- L( |
},0 X) }5 v- ~1 c4 G; D! t( K% ~
"r_trainfc_6_8":{
+ i" b- }0 b* A7 p "base_train_type":"r_train",
0 _" Z7 \! `1 o "name":"R-Train with First Class (6-car and 8-car)",
/ |0 k6 `5 i! b* h% W% x& N "description":"This train can only run at 6 cars and 8 cars",3 a$ B; f# N7 E3 u7 ^8 ]+ c
"wikipedia_article":"",
! N4 j3 A5 t1 I+ [- v. Z" w. B- E5 { "color":"5DB7E8",! G9 ~/ P3 r7 S* p
"gangway_connection_id":"mtr:textures/entity/sp1900",
9 y, s; I% `- M( a5 _! c "train_barrier_id":"mtr:textures/entity/mlr",
3 @4 A2 `9 X( F9 ~" y% c "door_animation_type":"STANDARD",
" g. C; p5 ?0 P. ?. p4 E$ D "render_door_overlay":false,
. n ]* F, }4 s; e "rider_offset":0.0,
% a+ s' y, W& ^ "texture_id":"mtr:custom_directory/r_trainfc",
3 z; S L9 @# S0 h "model":"mtr:custom_directory/r_trainfc.bbmodel",9 \9 h. u' {5 c4 d5 |( F
"model_properties":"mtr:custom_directory/6_8/r_trainfc_6_8.json"2 d6 E+ X. L9 H5 L( y* d
},- I w4 f+ z4 A2 K, L* j
"r_trainfc_9_12":{
) [- d1 f+ c9 [$ o! n4 T "base_train_type":"r_train",! |6 Q! \4 r% ^ Y5 C k2 r2 f- S+ Q
"name":"R-Train with First Class (9-car and 12-car)",
" p" f& j3 \' `$ J- O "description":"This train can only run at 9 cars and 12 cars",% S/ h2 r5 N# Y8 }/ F
"wikipedia_article":"",
2 e% Y6 Z! g' ^" u9 w "color":"5DB7E8",
# h, M3 d: I k# v$ j! u "gangway_connection_id":"mtr:textures/entity/sp1900",
! W3 n4 ]* M% A8 v "train_barrier_id":"mtr:textures/entity/mlr",
% O7 _" {. P! W8 ?9 Y& w "door_animation_type":"STANDARD",* ?0 B( h7 a g
"render_door_overlay":false,
4 Q& c. _5 }% v4 v7 j- P$ P3 Y "rider_offset":0.0,# e+ P3 a4 v- S0 Y9 w
"texture_id":"mtr:custom_directory/r_trainfc",
* j1 a9 V% S5 ] "model":"mtr:custom_directory/r_trainfc.bbmodel",
0 g( [$ A3 a% `9 [! e8 ?9 U "model_properties":"mtr:custom_directory/9_12/r_trainfc_9_12.json"* ?# p3 H6 E# z$ w. N x0 {
}
m- u$ r4 ~/ `$ Y }" J: w6 x! }4 N1 }& E! F5 W U
}
! H1 f2 r* k- l, W) o0 B, h( `3 c! x2 i
8 t8 O- J; Z E0 \7 S8 \8 J( S( Z
哪里? |