8 j. M1 B; u* t* m
{6 w9 `9 `& x' U% j& O- P) s
"custom_trains":{
, l) u: b/ w7 T' S# I1 _& U% ? "mlrfc_4":{
' w5 r; i6 G6 K' U n$ G5 Y4 ? "base_train_type":"mlr",
: G8 O! K7 J$ o4 W& s "name":"MLR with First Class (4-car)",
a6 ^1 k8 N' }& g8 w* h "description":"This train can only run at 4 cars",
6 v2 A6 b0 q' |# H' K4 c ? "wikipedia_article":"",
. j* |9 K3 h! O( {) S! O- a "color":"5DB7E8",
: ?1 ^/ [! n2 D7 P! W3 o# G8 T "gangway_connection_id":"mtr:textures/entity/m_train",2 d5 C4 O0 V% h' Y2 w1 N/ u: A- Q7 ^
"train_barrier_id":"mtr:textures/entity/mlr",
) w8 l! v3 f: A2 x# a% `8 c "door_animation_type":"MLR",
5 A( z, d& M- t8 Y( V "render_door_overlay":false,
) Z f6 k' w0 v) X2 Z; o' j( X "rider_offset":0.0,7 ~6 {* C' R' V4 @. Q
"texture_id":"mtr:custom_directory/mlrfc",
+ {+ ~" ?8 @2 Z( g g, W* x, i. k* [ "model":"mtr:custom_directory/mlrfc.bbmodel",8 v+ f" F+ w- j, ~
"model_properties":"mtr:custom_directory/4/mlrfc_4.json"
$ N. X4 {2 `1 J' T& L },5 M. q1 H& J; @' }/ c$ O9 ~: M3 Z
"mlrfc_6_8":{6 u% O( d4 r1 |& s9 e( L1 C
"base_train_type":"mlr",, k9 b, n* e. G0 {5 r. e
"name":"MLR with First Class (6-car and 8-car)", v) x! M f) g9 e) N% }
"description":"This train can only run at 6 cars and 8 cars",( ^( ]7 e% A+ \& `+ Y
"wikipedia_article":"", F9 f0 x' o; j: i0 _
"color":"5DB7E8",) t6 A: u0 N9 N
"gangway_connection_id":"mtr:textures/entity/m_train",
3 P2 p* j- @6 u0 ]8 O, a "train_barrier_id":"mtr:textures/entity/mlr",
3 z' @ \; ]* Z& l. p0 o. g+ U "door_animation_type":"MLR",+ B& z& s% u- W! k/ y
"render_door_overlay":false,4 H! ?' A. a8 _- ]
"rider_offset":0.0,
1 s; M) s0 Y/ o ] "texture_id":"mtr:custom_directory/mlrfc",4 x7 i( Z. B6 G; H! X2 s
"model":"mtr:custom_directory/mlrfc.bbmodel",
7 }9 \$ I/ D. M' I) _ "model_properties":"mtr:custom_directory/6_8/mlrfc_6_8.json"# p( A* q6 B! @/ r
},6 N* Y) I; \4 ]! q- A8 ?
"mlrfc_9":{6 E& p2 S" W# s% z3 i
"base_train_type":"mlr",% P* I: B3 g% {& D
"name":"MLR with First Class (9-car)",
- l: }% u1 O9 P' M "description":"This train can only run at 9 cars",2 Q% y# I2 V6 Q) W! i/ R2 {' o- e
"wikipedia_article":"",
; S2 A+ k6 _: T/ r) {$ r "color":"5DB7E8",: L% F$ T) f+ O7 V* W4 d: ]
"gangway_connection_id":"mtr:textures/entity/m_train",5 B, \. @" K# j
"train_barrier_id":"mtr:textures/entity/mlr",
+ p8 c% m, s5 W) ] "door_animation_type":"MLR",( v7 K3 B/ I9 j- T
"render_door_overlay":false,
7 Y$ @. [8 J) s "rider_offset":0.0,& P; n# ^& O1 G+ q9 M+ Q1 v3 V
"texture_id":"mtr:custom_directory/mlrfc",
$ Q8 {6 g) K# Q0 f "model":"mtr:custom_directory/mlrfc.bbmodel",. E! h% U0 M3 M) _ a, @
"model_properties":"mtr:custom_directory/9/mlrfc_9.json"
& o6 E# }1 S6 f4 x$ V },2 f2 _* `& O" J8 f
"mlrfc_12":{
, I! Z! p" t! U S6 A "base_train_type":"mlr",
9 `% M0 p p" c$ V9 O( W; w "name":"MLR with First Class (12-car)",; T! M) @2 h h5 A) g
"description":"This train can only run at 12 cars",) @* v" l" o! T. \5 |
"wikipedia_article":"",
- K' P# f2 }" S# ~" l+ w "color":"5DB7E8",8 O3 N# ?+ \& b! m' U& z
"gangway_connection_id":"mtr:textures/entity/m_train",
3 P( [3 @8 [5 t% h; r4 I$ r9 j "train_barrier_id":"mtr:textures/entity/mlr",2 X5 \$ e' d$ i4 W3 I: Y v* N
"door_animation_type":"MLR",
1 x/ }: s2 L! R- o "render_door_overlay":false,5 m, t8 G7 |# h- Z) B. h# r
"rider_offset":0.0,
, ?4 d7 r2 L# c, }6 b* |4 r f% u "texture_id":"mtr:custom_directory/mlrfc",) D, k# W. b7 N5 o/ g
"model":"mtr:custom_directory/mlrfc.bbmodel",. ^$ F4 J, G4 ?. c. ^
"model_properties":"mtr:custom_directory/12/mlrfc_12.json"
/ G5 i! G4 P* D, \! A },! i2 R! o4 q9 S& [8 X
"mlrfc_4_map":{) o, S7 v* s5 p
"base_train_type":"mlr",8 E. k4 ^, m* w+ b- V. ?
"name":"MLR with First Class and HD Map (4-car)",- Y9 u& H+ W3 `, j7 j4 B: Z
"description":"This train can only run at 4 cars",
+ Q3 C8 E- T5 }( T. _: E( Z# | "wikipedia_article":"",2 l: d+ ?. Y5 Y! P
"color":"5DB7E8",/ K5 R G# r" n, D1 G$ v5 b
"gangway_connection_id":"mtr:textures/entity/m_train",
& E4 m& B0 I% q. Z- b "train_barrier_id":"mtr:textures/entity/mlr",
9 k7 o( g- }* v1 R$ f "door_animation_type":"MLR",- F( [* r! [$ W/ T2 J' b
"render_door_overlay":false," Z; [. |) Q* T- l [, q
"rider_offset":0.0,. }. u) b5 D K, e. w$ g3 x3 P
"texture_id":"mtr:custom_directory/mlrfc",
/ U7 \3 g% J7 G+ M0 o5 M8 y "model":"mtr:custom_directory/mlrfc.bbmodel",% t! o. [7 |2 L& _' b$ n
"model_properties":"mtr:custom_directory/4/mlrfc_4.json",
9 |4 c! [, ]% R; [/ P "script_texts":[
- W8 ^! ]) j' e! k4 u) N- L "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",
' I% X7 _ [, y# t2 X9 B0 h "var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
) \6 _* |5 G1 I. I A7 n "var dhBase = new DisplayHelper(slotCfg);"
* K* `/ C! ?) b; p+ f1 D% U ],
7 z |% x1 y/ c& j' t0 y7 r "script_files":[% \6 t# H8 Q3 j' h2 t" N
"mtr:map/main.js" D* c8 |4 n5 x* E
]
0 A+ _( S* R# Z7 y8 R },
8 i8 J$ q" l: D- @2 x9 d5 W) d/ Y "mlrfc_6_8_map":{
0 m2 q Z) _! \$ L* E8 M# A+ X# a "base_train_type":"mlr",! D2 K. s1 w6 b8 K( [ i
"name":"MLR with First Class and HD Map (6-car and 8-car)",
. u9 g; C% v. `$ s, z "description":"This train can only run at 6 cars and 8-cars",
! q, o9 i; c/ H# } q "wikipedia_article":"",
% X: m% u1 b! n+ j "color":"5DB7E8",% j* a1 }1 `1 j5 {, y5 D/ r, b8 T
"gangway_connection_id":"mtr:textures/entity/m_train",
, f: \! t, w- \* S5 S, p" ` "train_barrier_id":"mtr:textures/entity/mlr",7 T) Q& f6 t0 l7 G5 W- z' |
"door_animation_type":"MLR",
4 t* g6 I: U/ P, W "render_door_overlay":false,2 \# A3 t* f } `9 G
"rider_offset":0.0,; ]+ v0 I" d& N6 w( k
"texture_id":"mtr:custom_directory/mlrfc",
) S, \1 ^/ I# u; R: N6 V "model":"mtr:custom_directory/mlrfc.bbmodel",
) w; y; V) I( k4 ` "model_properties":"mtr:custom_directory/6_8/mlrfc_6_8.json",) G+ l! p0 {" u+ g- K
"script_texts":[
+ f c. f0 ~! j, D+ E6 l1 }; v @( o "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",
! ~6 p5 M5 z8 c! F "var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
( E% q6 d) L' |# c" W "var dhBase = new DisplayHelper(slotCfg);"7 N2 M! E+ x9 {1 n: ~0 e
],
' Q- f8 t$ i6 d* }) G: k "script_files":[0 a8 M% F& j! d& Z* ]4 i
"mtr:map/main.js"" [( }0 ~* T% ~8 x" b6 P
]" Q! j" t: r6 m9 y
},
& z& ?, U: o0 p; B "mlrfc_9_map":{
7 H. j* l# x- H7 F1 D "base_train_type":"mlr",
# c' `# z* D8 x/ B( V2 ~% x "name":"MLR with First Class and HD Map (9-car)",
( ~7 {9 E, G& {; v "description":"This train can only run at 9 cars",& R) X7 o0 s; H" X1 H( O* O
"wikipedia_article":"",
+ H! B1 B5 @8 E' y1 t "color":"5DB7E8",' o* w- R0 L; M: h9 u; V
"gangway_connection_id":"mtr:textures/entity/m_train",0 d# A. Y1 v& U' D2 ]
"train_barrier_id":"mtr:textures/entity/mlr",7 w* I# n+ \; ^+ @
"door_animation_type":"MLR", S& g- F5 b ?, V
"render_door_overlay":false,
, t4 z3 E5 ?/ I& M, E6 M1 H. ? "rider_offset":0.0,
& } o9 {7 T- X( K9 r Q- E- D# U6 n: x "texture_id":"mtr:custom_directory/mlrfc",
' ^, a! [. a" ^" g "model":"mtr:custom_directory/mlrfc.bbmodel",
9 q; n: N8 Y- u" O6 Z0 v "model_properties":"mtr:custom_directory/9/mlrfc_9.json",5 h. C, W8 ?( e+ H3 g
"script_texts":[' h9 B% v# G1 ~/ X
"include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));"," E) |' R& v l; |6 O, f6 b
"var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
& z- h! [( h* P d "var dhBase = new DisplayHelper(slotCfg);"
( I% \0 h9 o" ^% ?3 x% a ],+ p2 E0 u7 p. a, t3 J
"script_files":[
2 E( D0 y$ j, I% b x) ]- E "mtr:map/main.js"
% b! L* ]1 C3 O4 g ]
' g! I6 n0 ~: K2 C! s+ c* |, z },
- y6 U( q9 g2 Q+ Y3 q3 D "mlrfc_12_map":{
3 S8 |) c0 N* C# w "base_train_type":"mlr",6 g" H8 [- p% V c
"name":"MLR with First Class and HD Map (12-car)",1 X8 L1 X' k' Z0 i& l" B) N9 j) U
"description":"This train can only run at 12 cars",
# Y. `; D0 Q R" F( | "wikipedia_article":"",# K9 u- a6 D2 T6 S4 i
"color":"5DB7E8",& @: Z3 W% b- E ~3 \
"gangway_connection_id":"mtr:textures/entity/m_train",
% k! Q+ Y! d/ H+ D' Z7 H "train_barrier_id":"mtr:textures/entity/mlr",
# K; D; a; l. V: C' M "door_animation_type":"MLR",9 @ w( I+ f6 W
"render_door_overlay":false,5 m. n; Y$ `9 g
"rider_offset":0.0,
7 Q* Y. T' n/ ]4 ]0 M "texture_id":"mtr:custom_directory/mlrfc",
! e6 q w) Z2 N "model":"mtr:custom_directory/mlrfc.bbmodel",
" g8 w: p8 V* i3 s4 u, z9 \( w1 J% P "model_properties":"mtr:custom_directory/12/mlrfc_12.json",4 ^6 f5 Y N$ d# _2 | ]
"script_texts":[
( h1 `: L a0 Q U% L( f( ^ "include(Resources.id(\"mtrsteamloco:scripts/display_helper.js\"));",3 R; T& V1 U4 x# H7 [& H6 h
"var slotCfg = JSON.parse(Resources.readString(Resources.id(\"mtr:map/slots.json\")));",
+ t0 H: W6 v; t. L "var dhBase = new DisplayHelper(slotCfg);"
" D) }# m1 i4 C! K3 L* s6 J ],6 \; m# e) [& |! B/ V: T& Q2 v( S- A
"script_files":[! B2 e6 q" U9 J" {' a' k
"mtr:map/main.js"2 O/ X- D% f8 G# S( _8 S
]
$ n7 Z" t7 c: n8 p5 Z8 q; R },
6 j8 c* u) c! J& B* N( W "sp1900fc_4":{+ u& d/ S, a/ D$ b2 [
"base_train_type":"sp1900",: G- d4 B; z- y
"name":"SP1900 with First Class (4-car)",/ M/ \8 {, {+ V& z
"description":"This train can only run at 4 cars",% s+ B, ~9 n- ^/ u; P* V
"wikipedia_article":"",7 R8 v* \( s) P8 h; C
"color":"5DB7E8",$ n6 O- Q L' b
"gangway_connection_id":"mtr:textures/entity/sp1900",& K9 u0 E5 R7 G+ u* J i4 M+ ]
"train_barrier_id":"",
) y; m, J/ `& p: J9 v' s# Q- z) N2 C' \ "door_animation_type":"STANDARD",
+ Z5 Z# j# q- s! @5 h "render_door_overlay":false,
0 F" N! j4 d) R1 N0 U% v "rider_offset":0.0,7 E/ w# |% s4 E; a1 k
"texture_id":"mtr:custom_directory/sp1900fc",: w: ]/ B; O; h( }" k
"model":"mtr:custom_directory/sp1900fc.bbmodel",: [8 G3 O; ?) Q; i
"model_properties":"mtr:custom_directory/4/sp1900fc_4.json"
& R' ~( Q# q( F- c$ w0 X4 y },% Z! `6 e! t; S' m9 g; J
"sp1900fc_6_8":{
& r; E5 X+ c5 I) N1 l# Z" p8 ~ "base_train_type":"sp1900",
* L) l6 e8 R. {& X8 T' r "name":"SP1900 with First Class (6-car and 8-car)",$ v% |" K! C0 d$ p1 B* H9 g+ V
"description":"This train can only run at 6 cars and 8 cars",7 z/ e1 i/ ]6 V$ \- }9 ]$ |/ v; a
"wikipedia_article":"",1 Y7 b% l# e! M1 c
"color":"5DB7E8",: Z a1 D0 q- X. x) v; ]
"gangway_connection_id":"mtr:textures/entity/sp1900",: \) U8 y% a( ~
"train_barrier_id":"",
: C, ]0 q/ i4 [- s "door_animation_type":"STANDARD",& E, O8 m: J: u9 X; d3 \8 ]
"render_door_overlay":false,
0 m+ i6 @& L- w+ N "rider_offset":0.0,
+ F1 V" W0 k+ M! P "texture_id":"mtr:custom_directory/sp1900fc",' ]) t; V$ U3 D, ^3 T" E! z
"model":"mtr:custom_directory/sp1900fc.bbmodel",; d/ x5 y0 R" x/ i
"model_properties":"mtr:custom_directory/6_8/sp1900fc_6_8.json"/ b2 u! I" |* z9 B
},
) K! N3 l$ R; A3 g/ O6 I- Z "sp1900fc_9_12":{
& r# g e- h! k% `, i/ { "base_train_type":"sp1900",
* s, \# M3 e- _1 }. J" m, K "name":"SP1900 with First Class (9-car and 12-car)",# A1 W) n+ @1 u! j- ~3 q9 t
"description":"This train can only run at 9 cars and 12 cars",' H/ Z! m* v4 V
"wikipedia_article":"",6 |4 J% t6 |3 a3 j
"color":"5DB7E8",! \4 ?0 ^! E+ I+ L. a8 X
"gangway_connection_id":"mtr:textures/entity/sp1900",9 G6 q7 V- d8 i0 s$ G& I G
"train_barrier_id":"",
' p" O7 o$ I* a$ l7 w; K! O; z W "door_animation_type":"STANDARD",$ v* \: Q. o; S1 l. h G/ w+ v" A+ N
"render_door_overlay":false,
( l4 q( a2 n9 f "rider_offset":0.0,
1 A/ a7 p( S/ t& V. \ "texture_id":"mtr:custom_directory/sp1900fc",% h1 W% e2 K, a
"model":"mtr:custom_directory/sp1900fc.bbmodel",
, m2 P2 z' ~' ^8 e* ~: L) d "model_properties":"mtr:custom_directory/9_12/sp1900fc_9_12.json"
) \. ~7 D" H* _+ R% { },# i: [$ K& M; \% h
"r_trainfc_4":{
# c7 j. q: N+ S "base_train_type":"r_train",
) S3 D; X- @8 |. E "name":"R-Train with First Class (4-car)",6 [0 s2 @- z5 S" q; E! N$ M
"description":"This train can only run at 4 cars",* b6 C0 I( U- s4 ^; {- q8 d( x
"wikipedia_article":"",
# {, ]& c& q2 z; Y "color":"5DB7E8",1 C7 C1 |& w, z: \, O
"gangway_connection_id":"mtr:textures/entity/sp1900",
5 U0 |3 Q# y# q+ e$ J+ t P8 M "train_barrier_id":"mtr:textures/entity/mlr",
) K7 i7 T- J, G r& I1 ?& N "door_animation_type":"STANDARD",! n |2 ^. M E4 Q* q
"render_door_overlay":false,
. q4 j6 w4 A1 A. G4 q0 Y& e X. |6 h "rider_offset":0.0,8 l- B* B/ l1 x; s2 |# Z# A
"texture_id":"mtr:custom_directory/r_trainfc",
- u' \, z# C* Y3 J "model":"mtr:custom_directory/r_trainfc.bbmodel",% W: W+ C! S2 u& }7 t" i
"model_properties":"mtr:custom_directory/4/r_trainfc_4.json": Z1 u4 _0 Y3 g: [' Y( C
},
( v* [8 ^7 s7 ` "r_trainfc_6_8":{
" ~, K& K( j' t/ v" b, P- N5 [ "base_train_type":"r_train",
6 Q f0 w9 I1 ]& W; o, ~ "name":"R-Train with First Class (6-car and 8-car)",
4 P" K! O2 x7 [# w "description":"This train can only run at 6 cars and 8 cars",
+ l {7 I* t# }* _7 V7 ~( _ "wikipedia_article":"",
0 w2 Q9 N+ w! B7 ` "color":"5DB7E8"," `: r( `4 w. L! E6 Q7 ?2 Q1 `
"gangway_connection_id":"mtr:textures/entity/sp1900",0 u; k1 c2 l2 }" b& k7 J
"train_barrier_id":"mtr:textures/entity/mlr",! W/ }( w- x% I9 G1 g/ H
"door_animation_type":"STANDARD",+ i# b4 c% y2 R$ B: c3 s
"render_door_overlay":false,. D+ [$ b7 W" T
"rider_offset":0.0,, I. J h: W% `$ G( m4 D$ I1 Z
"texture_id":"mtr:custom_directory/r_trainfc", i8 b1 _! F( N r5 d
"model":"mtr:custom_directory/r_trainfc.bbmodel",
) Y2 R3 h; A- z, C; e7 I "model_properties":"mtr:custom_directory/6_8/r_trainfc_6_8.json"
% F" ]1 M/ y# |' \8 H0 I },
0 ]$ t! a3 Z8 d' T' l' L: z "r_trainfc_9_12":{
, l1 d* t- q3 I/ Y3 f "base_train_type":"r_train",
: [9 H; a1 f v( ]0 s- H) S( m "name":"R-Train with First Class (9-car and 12-car)",
+ y( ^) A; `% L% x3 Q "description":"This train can only run at 9 cars and 12 cars",0 C9 T, u$ M1 Y; q4 g/ q$ K
"wikipedia_article":"",- ^) V0 f4 u0 Z% Q
"color":"5DB7E8",* L! p! v- u) i9 M! @. v
"gangway_connection_id":"mtr:textures/entity/sp1900",+ r3 d, `7 i% i2 \/ Q
"train_barrier_id":"mtr:textures/entity/mlr",
: D6 S% }! `0 k: W% _ "door_animation_type":"STANDARD",& X0 \& t* K1 v
"render_door_overlay":false,
) V+ n$ U' T0 H1 a& \2 `/ _9 z8 b "rider_offset":0.0,/ U; }) q* k7 g3 H( E
"texture_id":"mtr:custom_directory/r_trainfc",
. o/ [( I( I9 j' _, V "model":"mtr:custom_directory/r_trainfc.bbmodel",1 B. W' v/ U4 r$ y" m( f% `7 d2 W6 |
"model_properties":"mtr:custom_directory/9_12/r_trainfc_9_12.json"+ j7 E4 y# I8 P/ G% V& f' [2 T9 {% K8 G8 f
}; @9 c( D& B% J( ~2 t
}; V2 _% ?5 P1 M/ }, e6 C8 }) d
}- ` [; `4 k/ U9 h& S) v! t
, {& S) K$ R2 K, g. X1 {2 ?9 ]3 |0 j
哪里? |