User Tools

Site Tools


mtr:4.0.x:content_developer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mtr:4.0.x:content_developer [2024/11/24 16:39] – removed - external edit (Unknown date) 127.0.0.1mtr:4.0.x:content_developer [2026/04/14 16:09] (current) – Add remark on scripting AmberFrost
Line 1: Line 1:
 +====== MTR 4 for Custom Content/Trains Creator ======
 +
 +This page documents some of the migration steps needed when loading MTR 3 custom content in MTR 4.
 +
 +===== JS Scripting =====
 +
 +JS Scripting from the [[mtr_addon:nte:start|Nemo Transit Expansion]] is not implemented in the main mod, however there are 3rd party efforts such as [[mtr_addon:jcm:start|Joban Client Mod]] which aims to re-implement the JS scripting feature from NTE.
 +
 +You can also explore with the new Resource Pack Creator in MTR 4 and see whether similar effects can be achieved.
 +
 +===== Train (Concept) =====
 +
 +In MTR 3, a train refers to a single type of train, which can be dynamically fitted with any amount of carriage length depending on the siding length.
 +
 +In MTR 4, the concept of a **Train** no longer exists. Instead we now have carriage (Vehicle car), where player can mixes different carriage together to form a **train (consist)**. (Which, to the surprise of some, is actually how a train is made up in real life!)
 +
 +  * For MTR 4 loading legacy trains made for MTR 3, the MTR mod will try to detect and split your "Train" into several parts (e.g. Cab Forward, Trailer, Cab Backward)
 +  * For the new MTR 4 format, you are suppose to define everything per-carriage instead of a single train.
 +
 +To reflect the different transport types supported in the MTR mod, **train** are now referred as **vehicle.**
 +
 +===== Custom Resources =====
 +
 +==== mtr_custom_resources.json (MTR 3 format) ====
 +
 +  * Train which uses a ''base_train_type'' but without providing ''texture_id'' no longer has base train's texture applied (Only transparent train with bogie & gangway)
 +  * Train which does not specify a valid ''gangway_connection_id'' (Or does not have it) can no longer walk between gangways like they can in MTR 3
 +  * When specifying built-in MTR barrier/gangway/vehicle texture, replace ''textures/entity/*'' to ''textures/barrier'', ''textures/gangway'' and ''textures/vehicle'' respectively, as they are now separated.
 +
 +==== Dual-versioned resources (MTR 3 Custom Resource + MTR 4 Custom Resource) ====
 +
 +MTR 4 supports reading **mtr_custom_resources.json** in both MTR 3 and MTR 4 format.
 +
 +However during migration period, you may run into a situation where some content are migrated to MTR 4, while others are not, but you want to fit them in to the same resource pack.
 +
 +To that, MTR 4 supports an alias called **mtr_custom_resources_pending_migration.json**, which works effectively the same as the regular **mtr_custom_resources.json**.
 +
 +This allows you to put MTR 3's custom resources into **mtr_custom_resources_pending_migration.json**, while using **mtr_custom_resources.json** for MTR 4 content.
 +
 +==== Custom Model Changes ====
 +
 +  * **Custom Destination's CJK Ratio has been changed in MTR 4**
 +    * Previously, **-2.0** means English is bigger than Chinese, **0.0** for equal weight, **2.0** means Chinese is bigger than english
 +    * In MTR 4, this is changed to represent the scale CJK characters are rendered at:
 +      * Non-CJK characters always takes up a weight of **1.0**
 +      * For example, assume we have the text ''English1|中文|English2''.
 +        * If CJK Ratio is **2.5**, this would mean ''English''1 has a weight of **100%**, ''中文'' has a weight of **250%**, and ''English2'' has a weight of **100%**
 +        * If CJK Ratio is **0.1**, this would mean ''English1'' has a weight of **100%**, ''中文'' has a weight of **10%**, and ''English2'' has a weight of **100%**
 +