The District of Joban JCM:PIDS Preset

JCM:PIDS Preset

From The District of Joban
(Redirected from JCM:Joban PIDS)

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).

List of variables
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
  • JSON: background property
  • Scripted: "textures/gui/pids_preview_js.png"
v2.0.0+ All
blacklist The type of PIDS that are blacklisted from selecting this preset String JSON Array of any of the following:
  • "rv_pids"
  • "rv_pids_sil_1"
  • "rv_pids_sil_2"
  • "lcd_pids"
  • "pids_projector"
  • "pids_1a"
[] 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.

"FFFFFF"

"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.

["FF0000", "00FFFF"]

[] 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

SCALE - Scale in both 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