FRAX Cargo Class Scheme

FRAX Routes all Xenon etc

Guide for Industry Authors


Heads up! Cargo classes are matched individually, so cargos with multiple classes refit into any vehicle matching one of the classes, not all.

Guide

There are three categories of cargo: passenger, mail, and freight.

Passenger Cargo

1 Simply Passengers

Set CC_PASSENGERS. No other classes needed. Done.

Mail Cargo

1 Just Mail

Set CC_MAIL. No other classes needed. Done.

Freight Cargo

1 Potable Status

Set potable status
  • CC_POTABLE
  • CC_NON_POTABLE

This is a boolean flag (true / false), and one of these classes should be set appropriately for all freight cargos.

Do not set both of these classes on a cargo. They are mutually exclusive.

2 Basic Handling

Set any basic handling classes that apply.
  • CC_PIECE_GOODS
  • CC_OPEN_BULK
  • CC_COVERED_BULK
  • CC_POWDER_BULK
  • CC_LIQUID_BULK
  • CC_GAS_BULK

Most cargos should include at least one basic handling class.

You can assign multiple basic handling classes if the cargo is transported in different forms. Be sure to include all applicable classes.

For better compatibility with vehicle GRFs, consider adding CC_PIECE_GOODS, as many cargos can be transported this way. Refer to the CC_PIECE_GOODS section for detailed guidance.

Some unique or non-standard cargos may not use any basic handling classes and instead rely solely on special handling classes.

3 Special Handling

Set any special handling classes that apply.
  • CC_FLATBED
  • CC_EXPRESS
  • CC_ARMOURED
  • CC_REFRIGERATED
  • CC_WEIRD

These classes are designed for less common, specialized vehicles and highlight which cargos are best suited to them. They represent a recommendation—'should use' rather than 'can use.' For example, while steel could technically be transported in a refrigerated vehicle, it doesn’t need refrigeration. Similarly, diamonds should be marked as armoured because they require secure transport. However, marking diamonds as flatbed cargo would be inappropriate and unhelpful.

Assign as many special handling classes as genuinely necessary for the cargo.


Example Cargos - Table

Example Cargo Recommended Classes
Ammonia CC_NON_POTABLE CC_PIECE_GOODS CC_GAS_BULK
Beans CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK
Cement CC_NON_POTABLE CC_PIECE_GOODS CC_POWDER_BULK
Chlorine CC_NON_POTABLE CC_PIECE_GOODS CC_GAS_BULK
Coal CC_NON_POTABLE CC_OPEN_BULK
Diamonds CC_ARMOURED
Explosives CC_NON_POTABLE CC_PIECE_GOODS CC_EXPRESS CC_ARMOURED
Fish CC_POTABLE CC_EXPRESS CC_REFRIGERATED
Flour CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_POWDER_BULK
Food CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_LIQUID_BULK CC_EXPRESS CC_REFRIGERATED
Goods CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Grain CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK
Iron Ore CC_NON_POTABLE CC_OPEN_BULK
Livestock CC_NON_POTABLE CC_WEIRD
Mail CC_MAIL
Milk CC_POTABLE CC_PIECE_GOODS CC_LIQUID_BULK CC_EXPRESS CC_REFRIGERATED
Nuclear fuel CC_ARMOURED CC_WEIRD
Oil CC_NON_POTABLE CC_LIQUID_BULK
Oxygen CC_GAS_BULK
Paper CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Passengers CC_PASSENGERS
Pipe CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Quicklime CC_NON_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_POWDER_BULK
Sand CC_NON_POTABLE CC_OPEN_BULK CC_COVERED_BULK CC_POWDER_BULK
Scrap Metal CC_NON_POTABLE CC_OPEN_BULK
Sodium Hydroxide CC_NON_POTABLE CC_PIECE_GOODS CC_LIQUID_BULK
Steel CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Sulphur CC_NON_POTABLE CC_OPEN_BULK CC_COVERED_BULK
Timber CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED

Example Cargos - Details

Ammonia Example

Cargo description Ammonia is transported using pressurised tankers, of similar type to those used for gas, so CC_GAS_BULK is set. Although ammonia is transported as a pressurized liquid, it is not suitable for standard liquids tankers, so CC_LIQUID is not set. CC_PIECE_GOODS is set as some vehicle grfs may not provide pressurised tankers, so a fallback is needed (representing ammonia in portable tanks).
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_GAS_BULK
Example vehicles

Beans Example

Cargo description Beans are transported using covered bulk vehicles, and packaged in crates, sacks, boxes etc. Beans require food-grade transport, so CC_POTABLE is set.
Cargo classes CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK
Example vehicles

Cement Example

Cargo description Cement is transported by bulk powder vehicles, and packaged in bags, sacks etc.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_POWDER_BULK
Example vehicles

Chlorine Example

Cargo description Chlorine is transported using pressurised tankers, using CC_GAS_BULK. CC_PIECE_GOODS is set as some vehicle grfs may not provide pressurised tankers, so a fallback is needed (representing chlorine in portable tanks).
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_GAS_BULK
Example vehicles

Coal Example

Cargo description Coal is transported as open bulk. Coal is generally weather resistant, and more specialised bulk vehicles are generally not used for coal.
Cargo classes CC_NON_POTABLE CC_OPEN_BULK
Example vehicles

Diamonds Example

Cargo description Diamonds are armoured, and that's probably all that's needed. CC_NON_POTABLE could be set, but is probably not necessary for Diamonds.
Cargo classes CC_ARMOURED
Example vehicles

Explosives Example

Cargo description Explosives are valuable, high priority cargo, suitable for armoured or express vehicles. CC_PIECE_GOODS is set as explosives can also be transported in ordinary goods vehicles.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_EXPRESS CC_ARMOURED
Example vehicles

Fish Example

Cargo description Fish is suitable for high priority express transport, or refrigerated transport. Fish requires food-grade transport, so CC_POTABLE is set.
Cargo classes CC_POTABLE CC_EXPRESS CC_REFRIGERATED
Example vehicles

Flour Example

Cargo description Flour is transported using bulk powder vehicles, covered bulk vehicles, and packaged in sacks, bags etc. Flour requires food-grade transport, so CC_POTABLE is set.
Cargo classes CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_POWDER_BULK
Example vehicles

Food Example

Cargo description Food is a generic cargo, and can be transported in many forms, including high priority express vehicles, ordinary goods vehicles, rerigerated vehicles, food tankers, and covered bulk food vehicles. Food requires food-grade transport, so CC_POTABLE is set.
Cargo classes CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_LIQUID_BULK CC_EXPRESS CC_REFRIGERATED
Example vehicles

Goods Example

Cargo description Goods CABBAGE
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Example vehicles

Grain Example

Cargo description Grain CABBAGE - different classes to base game grain, have to handle with label
Cargo classes CC_POTABLE CC_PIECE_GOODS CC_COVERED_BULK
Example vehicles

Iron Ore Example

Cargo description Iron Ore is transported as open bulk. Iron ore is generally weather resistant, and more specialised bulk vehicles are generally not used for iron ore.
Cargo classes CC_NON_POTABLE CC_OPEN_BULK
Example vehicles

Livestock Example

Cargo description Livestock is a unique cargo, and vehicles should handle it using the cargo label LVST. CC_WEIRD also set to flag that this cargo is non-standard and should be handled using a label. The base game sets livestock to CC_PIECE_GOODS, but this is not considered helpful for grfs.
Cargo classes CC_NON_POTABLE CC_WEIRD
Example vehicles

Mail Example

Cargo description Mail is simple.
Cargo classes CC_MAIL
Example vehicles

Milk Example

Cargo description Milk is transported as high priority freight in express vehicles, as temperature controlled cargo in refrigerated vehicles, and in food tankers. Milk requires food-grade transport, so CC_POTABLE is set.
Cargo classes CC_POTABLE CC_PIECE_GOODS CC_LIQUID_BULK CC_EXPRESS CC_REFRIGERATED
Example vehicles

Nuclear fuel Example

Cargo description Nuclear fuel, typically transported as high-risk cargo in suitable shielded containers. CC_WEIRD is set to indicate that the cargo should be handled directly by label. CC_ARMOURED is set because nuclear fuel is valuable and should be protected from theft. This provides a fallback, but means vehicle grfs may need to exclude nuclear fuel from armoured vehicles.
Cargo classes CC_ARMOURED CC_WEIRD
Example vehicles

Oil Example

Cargo description Oil is transported in tanker vehicles.
Cargo classes CC_NON_POTABLE CC_LIQUID_BULK
Example vehicles

Oxygen Example

Cargo description Oxygen is transported as a gas under pressure. CC_PIECE_GOODS is set as some vehicle grfs may not provide pressurised tankers, so a fallback is needed (representing ammonia in portable tanks).
Cargo classes CC_GAS_BULK
Example vehicles

Paper Example

Cargo description Paper is transported using general cargo vehicles or flatbed vehicles. Although paper is sensitive to weather, it can be assumed that it is suitably protected by packaging for transport.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Example vehicles

Passengers Example

Cargo description Passengers is simple.
Cargo classes CC_PASSENGERS
Example vehicles

Pipe Example

Cargo description Pipe is transported using flatbed vehicles or general cargo vehicles.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Example vehicles

Quicklime Example

Cargo description Quicklime is transported using covered bulk vehicles, or bulk powder vehicles. Quicklime can also be transported as general cargo in barrels etc, so CC_PIECE_GOODS is set as a fallback.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_COVERED_BULK CC_POWDER_BULK
Example vehicles

Sand Example

Cargo description Sand is transported using open bulk vehicles, covered bulk vehicles, or using bulk powder vehicles. Although CC_PIECE_GOODS could be set for sand in bags, that isn't necessary as CC_BULK_OPEN is widely supported by vehicle grfs.
Cargo classes CC_NON_POTABLE CC_OPEN_BULK CC_COVERED_BULK CC_POWDER_BULK
Example vehicles

Scrap Metal Example

Cargo description Scrap Metal is transported using open bulk vehicles. Although CC_PIECE_GOODS could be set, representing scrap metal in bales or cubes, that isn't necessary as CC_BULK_OPEN is widely supported by vehicle grfs.
Cargo classes CC_NON_POTABLE CC_OPEN_BULK
Example vehicles

Sodium Hydroxide Example

Cargo description Sodium Hydroxide is transported using tanker vehicles, or as piece goods in barrels etc.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_LIQUID_BULK
Example vehicles

Steel Example

Cargo description Steel is transported as pieces, coils, etc, using general cargo vehicles or flatbed vehicles.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Example vehicles

Sulphur Example

Cargo description Sulphur is transported using covered bulk and open bulk vehicles.
Cargo classes CC_NON_POTABLE CC_OPEN_BULK CC_COVERED_BULK
Example vehicles

Timber Example

Cargo description Timber is transported using general cargo vehicles or flatbed vehicles.
Cargo classes CC_NON_POTABLE CC_PIECE_GOODS CC_FLATBED
Example vehicles
With thanks to all who helped