Difference between revisions of "JCM:PIDS Preset"
Views
Actions
Namespaces
Variants
Tools
(Created page with "Joban PIDS refers to a series of '''Passenger Information Display System''' Blocks that extends the class '''JobanPIDSBase.''' This class has support for '''PIDS Variable''' and '''PIDS Preset. The following block supports these features:''' Old Tsueng Kwan O Line PIDS Railway Vision PIDS Railway Vision PIDS (SIL 1) JCM:Railway Vision PIDS (SIL 2)|Railway Vision PID...") |
|||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
A PIDS Preset is a set of configuration/customization for how a JCM PIDS (Passenger Information Display System) Block should display it's content. | |||
'''The following block supports these features:''' | |||
* [[JCM:Old Tsueng Kwan O Line PIDS|Old Tsueng Kwan O Line (LCD) PIDS]] | |||
[[JCM: | * [[JCM:Railway Vision PIDS|Railway Vision PIDS]] | ||
[[JCM:Railway Vision PIDS|Railway Vision PIDS]] | * [[JCM:Railway Vision PIDS (SIL 1)|Railway Vision PIDS (SIL 1)]] | ||
[[JCM:Railway Vision PIDS (SIL | * [[JCM:Railway Vision PIDS (SIL 2)|Railway Vision PIDS (SIL 2)]] | ||
*[[JCM:PIDS Projector|PIDS Projector]] | |||
*[[JCM:PIDS 1A|PIDS 1A]] | |||
There are 2 types of PIDS Preset, presented as follows: | |||
=== JSON PIDS Preset === | |||
A JSON PIDS Preset is a RV PIDS-alike preset, using JSON property to modify the ''basic'' appearance of the PIDS. | |||
Things you can change: | |||
* Visibility of Weather/Time | * Visibility of Weather/Time | ||
* Font used | * Font used | ||
* Font Color | * Font Color | ||
Line 20: | Line 24: | ||
* Hide arrival override (Since [[JCM:1.1.5|v1.1.5]]) | * Hide arrival override (Since [[JCM:1.1.5|v1.1.5]]) | ||
* Push arrival down even without hiding the arrivals (Since [[JCM:1.1.5|v1.1.5]]) | * Push arrival down even without hiding the arrivals (Since [[JCM:1.1.5|v1.1.5]]) | ||
*Colors for different cars (Since [[JCM:1.2.2|v1.2.2]]) | |||
For more detail of the implementation, you may download the [https://www.joban.org/JCM/1.1.5/Joban_Custom_Resources.zip Example Pack] to learn more. | |||
=== PIDS Variable === | ==== PIDS Variable ==== | ||
A variable is like a placeholder, you can put a text formatted in a specific way, and that text will be replaced with something else (e.g. a dynamic value). | A variable is like a placeholder, you can put a text formatted in a specific way, and that text will be replaced with something else (e.g. a dynamic value). | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 57: | Line 63: | ||
|} | |} | ||
Simply put the '''Variable Name''' mentioned above in your PIDS as custom text, and it will work. | Simply put the '''Variable Name''' mentioned above in your PIDS as custom text, and it will work. | ||
=== Scripted PIDS Preset === | |||
Scripted PIDS Preset, as the name implies, uses a scripting language (Javascript in this case) to create the appearance of PIDS. | |||
As custom logic can be expressed, this method is much more flexible than JSON PIDS Preset, but has a higher learning curve due to the need to learn programming. | |||
For more details, please check [[JCM:Scripted PIDS Preset|Scripted PIDS Preset]] | |||
=== List of Supported JSON Property for PIDS Preset === | |||
{| class="wikitable" | |||
|+ | |||
!Property Name | |||
!Description | |||
!Possible values | |||
!Default | |||
!Version Added | |||
!Preset Type | |||
|- | |||
|<code>id</code> | |||
|The unique ID for the preset | |||
|Any string | |||
|No default, must be filled | |||
|v1.1.4+ | |||
|All | |||
|- | |||
|<code>name</code> | |||
|The displayed name for the preset | |||
|Any string | |||
|The <code>id</code> property | |||
|v2.0.0+ | |||
|All | |||
|- | |||
|<code>thumbnail</code> | |||
|The thumbnail image for the preset, shown in UI | |||
|Any string pointing to the texture | |||
| | |||
* JSON: <code>background</code> property | |||
* Scripted: <code>"textures/gui/pids_preview_js.png"</code> | |||
|v2.0.0+ | |||
|All | |||
|- | |||
|<code>blacklist</code> | |||
|The type of PIDS that are blacklisted from selecting this preset | |||
|String JSON Array of any of the following: | |||
* <code>"rv_pids"</code> | |||
* <code>"rv_pids_sil_1"</code> | |||
* <code>"rv_pids_sil_2"</code> | |||
* <code>"lcd_pids"</code> | |||
* <code>"pids_projector"</code> | |||
*<code>"pids_1a"</code> | |||
|<code>[]</code> | |||
|v2.0.0+ | |||
|All | |||
|- | |||
|<code>background</code> | |||
|The background image of the preset | |||
|Any string pointing to the texture | |||
|No default, must be filled | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>color</code> | |||
|The color of the text | |||
|Color hex code string, i.e. | |||
<code>"FFFFFF"</code> | |||
|<code>"000000"</code> | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>fonts</code> | |||
|The font used for text | |||
|Any string pointing to the font | |||
|<code>"mtr:mtr"</code> | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>showWeather</code> | |||
|Whether to show the weather icon | |||
|<code>true</code> / <code>false</code> | |||
|<code>false</code> | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>showClock</code> | |||
|Whether to show clock text | |||
|<code>true</code> / <code>false</code> | |||
|<code>false</code> | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>hidePlatform</code> | |||
|Whether platform number should | |||
be hidden (Override Hide Platform in per-block PIDS Config) | |||
|<code>true</code> / <code>false</code> | |||
|<code>false</code> | |||
|v1.1.4+ | |||
|JSON | |||
|- | |||
|<code>hideRow</code> | |||
|Which row should | |||
be hidden (Override Hide Arrivals in per-block PIDS Config) | |||
|Boolean JSON Array | |||
(Length: 4) | |||
|<code>[false, false, false, false]</code> | |||
|v1.1.5+ | |||
|JSON | |||
|- | |||
|<code>carLengthColor</code> | |||
|The text color when the car number is shown in the PIDS. (Per car length) | |||
|String JSON Array containing the hex code string, i.e. | |||
<code>["FF0000", "00FFFF"]</code> | |||
|<code>[]</code> | |||
|'''v1.2.2 only''' | |||
|JSON | |||
|- | |||
|<code>topPadding</code> | |||
|Whether arrival should be | |||
pushed downwards for RV PIDS's top bar. | |||
|<code>true</code> / <code>false</code> | |||
|<code>true</code> | |||
|v2.0.0+ | |||
|JSON | |||
|- | |||
|<code>textOverflowMode</code> | |||
|Display mode when text | |||
exceeds its boundary | |||
|<code>STRETCH</code> - Scale in the overflowing Axis | |||
<code>SCALE</code> - Scale in both axis | |||
|<code>"STRETCH"</code> | |||
|v2.0.0+ | |||
|JSON | |||
|- | |||
|<code>scriptFiles</code> | |||
|The script files to load | |||
|String JSON Array, pointing to the scripts to load. | |||
|No default, must be filled to be considered Scripted PIDS Preset. | |||
|v2.0.0+ | |||
|Scripted | |||
|} |
Latest revision as of 17:02, 9 December 2024
A PIDS Preset is a set of configuration/customization for how a JCM PIDS (Passenger Information Display System) Block should display it's content.
The following block supports these features:
There are 2 types of PIDS Preset, presented as follows:
JSON PIDS Preset
A JSON PIDS Preset is a RV PIDS-alike preset, using JSON property to modify the basic appearance of the PIDS.
Things you can change:
- Visibility of Weather/Time
- Font used
- Font Color
- Background Images
- Hide arrival override (Since v1.1.5)
- Push arrival down even without hiding the arrivals (Since v1.1.5)
- Colors for different cars (Since v1.2.2)
For more detail of the implementation, you may download the Example Pack to learn more.
PIDS Variable
A variable is like a placeholder, you can put a text formatted in a specific way, and that text will be replaced with something else (e.g. a dynamic value).
Variable Name | Description | Version Added |
---|---|---|
{weather}
|
The weather of the current world, possible values are:
"Sunny", "Raining", "Thundering" |
v1.1.2 |
{time}
|
The current world time, returns "HH:MM" | v1.1.2 |
{time_period}
|
The current time period, possible values are:
"Morning", "Afternoon", "Night" |
v1.1.2 |
{weatherChin}
|
The weather of the current world in chinese.
Possible values are: "晴天", "下雨", "雷暴" |
v1.1.4 |
{worldPlayer}
|
Current amount of player on the current world | v1.1.4 |
{day}
|
The day elapsed (Same as the one shown in F3 Screen) | v1.1.5 |
Simply put the Variable Name mentioned above in your PIDS as custom text, and it will work.
Scripted PIDS Preset
Scripted PIDS Preset, as the name implies, uses a scripting language (Javascript in this case) to create the appearance of PIDS.
As custom logic can be expressed, this method is much more flexible than JSON PIDS Preset, but has a higher learning curve due to the need to learn programming.
For more details, please check Scripted PIDS Preset
List of Supported JSON Property for PIDS Preset
Property Name | Description | Possible values | Default | Version Added | Preset Type |
---|---|---|---|---|---|
id
|
The unique ID for the preset | Any string | No default, must be filled | v1.1.4+ | All |
name
|
The displayed name for the preset | Any string | The id property
|
v2.0.0+ | All |
thumbnail
|
The thumbnail image for the preset, shown in UI | Any string pointing to the texture |
|
v2.0.0+ | All |
blacklist
|
The type of PIDS that are blacklisted from selecting this preset | String JSON Array of any of the following:
|
[]
|
v2.0.0+ | All |
background
|
The background image of the preset | Any string pointing to the texture | No default, must be filled | v1.1.4+ | JSON |
color
|
The color of the text | Color hex code string, i.e.
|
"000000"
|
v1.1.4+ | JSON |
fonts
|
The font used for text | Any string pointing to the font | "mtr:mtr"
|
v1.1.4+ | JSON |
showWeather
|
Whether to show the weather icon | true / false
|
false
|
v1.1.4+ | JSON |
showClock
|
Whether to show clock text | true / false
|
false
|
v1.1.4+ | JSON |
hidePlatform
|
Whether platform number should
be hidden (Override Hide Platform in per-block PIDS Config) |
true / false
|
false
|
v1.1.4+ | JSON |
hideRow
|
Which row should
be hidden (Override Hide Arrivals in per-block PIDS Config) |
Boolean JSON Array
(Length: 4) |
[false, false, false, false]
|
v1.1.5+ | JSON |
carLengthColor
|
The text color when the car number is shown in the PIDS. (Per car length) | String JSON Array containing the hex code string, i.e.
|
[]
|
v1.2.2 only | JSON |
topPadding
|
Whether arrival should be
pushed downwards for RV PIDS's top bar. |
true / false
|
true
|
v2.0.0+ | JSON |
textOverflowMode
|
Display mode when text
exceeds its boundary |
STRETCH - Scale in the overflowing Axis
|
"STRETCH"
|
v2.0.0+ | JSON |
scriptFiles
|
The script files to load | String JSON Array, pointing to the scripts to load. | No default, must be filled to be considered Scripted PIDS Preset. | v2.0.0+ | Scripted |