Skip to content
Katy Fox edited this page May 2, 2022 · 6 revisions

This page applies to v1.5+

Rolling Stock Cargo Models

The simplest case for job-enabled rolling stock is to set the Cargo Class to one of the built-in classes. However, using this method, you won't be able to change the default cargo models that are placed on the car when loaded, or change the types of cargo that can be carried. The solution to this is to set Cargo Class to Custom and to add one or more Cargo Model Setup scripts to the car root.

Cargo Model Setup Scripts

On the car pictured above, we've added support for two cargo types for this car. The top cargo references a custom cargo type named "TestCargo" - see below for how to create custom cargo types. It is set up to spawn a custom model for this load, in this case the object "cans_load" from the scene. Cargo models are spawned at the position of the car's [interior] child or at the origin if no interior is set. The lower cargo setup uses the base game cargo Chickens with the base game cargo prefab C_FlatcarSteelRolls. If you set up a cargo type with no Model and no Base Model, then when that cargo is loaded onto the car, there will be no additional visual effect (other than the info plates). This is similar to how the default boxcars work.

Available Base Game Cargo Models

(Click to expand)
  • Hopper
    • C_HopperCoal
    • C_HopperIronOre
    • C_HopperWheat
    • C_HopperCorn
  • GondolaC_GondolaScrapMetal
  • Flatcar
    • C_FlatcarWoodBoards02
    • C_FlatcarWoodPlywood
    • C_FlatcarSteelRolls
    • C_FlatcarSteelBillets01
    • C_FlatcarSteelSheets
    • C_FlatcarSteelBentPlates
    • C_FlatcarSteelRails
    • C_FlatcarFarmTractor
    • C_FlatcarExcavatorNew
    • C_FlatcarISOTankYellow2_Explosive
    • C_FlatcarISOTankYellow2_Oxydizing
    • C_FlatcarISOTankYellow2_Asphyxiating
    • C_FlatcarISOTankYellow2_Asphyxiating
    • C_FlatcarStakesLogs
    • C_FlatcarPipes01
    • C_FlatcarPipes02
    • C_FlatcarPipes03
    • C_FlatcarPipes04
    • C_FlatcarPipes05
    • Flatcar shipping containers
      • C_FlatcarContainerIskar
      • C_FlatcarContainerKrugmann
      • C_FlatcarContainerAAG
      • C_FlatcarContainerWhite
      • C_FlatcarContainerNovae
      • C_FlatcarContainerNovaeOld
      • C_FlatcarContainerTraeg
      • C_FlatcarContainerRed
      • C_FlatcarContainerIskar
      • C_FlatcarContainerBrohm
      • C_FlatcarContainerRed
      • C_FlatcarContainerAAG
      • C_FlatcarContainerWhite
      • C_FlatcarContainerNovae
      • C_FlatcarContainerNovaeOld
      • C_FlatcarContainerTraeg
      • C_FlatcarContainerRed
      • C_FlatcarContainerIskar
      • C_FlatcarContainerSperex
      • C_FlatcarContainerGoorsk
      • C_FlatcarContainerObco
      • C_FlatcarContainerNeoGamma
      • C_FlatcarContainerNovae
      • C_FlatcarContainerNovaeOld
      • C_FlatcarContainerTraeg
      • C_FlatcarContainerRed
      • C_FlatcarContainerSunOmni
      • C_FlatcarContainerWhite
      • C_FlatcarContainerSunOmniAC
      • C_FlatcarContainerWhiteAC
      • C_FlatcarContainerSunOmniAC
      • C_FlatcarContainerWhiteAC
      • C_FlatcarContainerSunOmni
      • C_FlatcarContainerWhite
      • C_FlatcarContainerSunOmni
      • C_FlatcarContainerWhite
      • C_FlatcarContainerChemlekAC
      • C_FlatcarContainerWhiteAC
      • C_FlatcarContainerOrange3a2
      • C_FlatcarContainerSunOmni
      • C_FlatcarContainerSunOmniAC
      • C_FlatcarContainerWhite
      • C_FlatcarContainerWhiteAC
      • C_FlatcarContainerIskar
      • C_FlatcarContainerKrugmann
      • C_FlatcarContainerBrohm
      • C_FlatcarContainerRed
      • C_FlatcarContainerAAG
      • C_FlatcarContainerWhite
      • C_FlatcarContainerSperex
      • C_FlatcarContainerNovae
      • C_FlatcarContainerNovaeOld
      • C_FlatcarContainerTraeg
      • C_FlatcarContainerRed
      • C_FlatcarContainerGoorsk
      • C_FlatcarContainerObco
      • C_FlatcarContainerNeoGamma
      • C_FlatcarContainerChemlekAC
  • Autorack
    • C_AutorackCarsLocal1
    • C_AutorackCarsLocal2
    • C_AutorackCarsLocal3
    • C_AutorackCarsLocal4
    • C_AutorackCarsLocal1
    • C_AutorackCarsLocal2
    • C_AutorackCarsLocal3
    • C_AutorackCarsLocal4
  • Nuclear FlaskC_NuclearFlaskContainer
  • Tanker Placards
    • C_CarTank_Flammable
    • C_CarTank_Flammable
    • C_CarTank_Explosive
    • C_CarTank_Toxic_Corrosive
    • C_CarTank_Corrosive
    • C_CarTank_Explosive
    • C_CarTank_Explosive
  • Miltary BoxcarC_CarBoxcarMilitary_Explosive
  • Military Flatcar
    • C_FlatcarContainerMilitary4_1
    • C_FlatcarTankMilitary
    • C_FlatcarTruckMilitary
    • C_FlatcarContainerMilitary1
    • C_FlatcarContainerMilitary2
    • C_FlatcarContainerMilitary3
    • C_FlatcarContainerMilitary3_2
    • C_FlatcarContainerMilitary3a
    • C_FlatcarContainerMilitary3a_2

Custom Cargo Types

Creating a pack of custom cargo is similar to creating a train car. However, custom cargo definitions are purely code based and thus don't appear in scenes, only in your project assets. To create a new pack, right click in the project assets panel and select Create -> CCL -> Custom Cargo Pack. This will create a cargo asset in the current folder which you can rename as you wish. Select the new asset to bring it up in the Inspector window.

Custom Cargo Pack Inspector

Once all the parameters are set as you wish, click the Export button to bring up the folder selection window. Navigate to the DVCustomCarLoader mod folder, open the Cargo folder, and create or select a folder to hold your cargo pack. The exporter will write a cargo.json file to the selected folder, and the cargo will then be usable in game with custom cars (currently not available for base game cars).

Clone this wiki locally