Links Reference
Module defined in `lua/common/jbeam/links.lua`. Resolves cross-references between JBeam sections (e.g. node name strings → CID integers), handling the `key:section` link syntax.
Module defined in lua/common/jbeam/links.lua. Resolves cross-references between JBeam sections (e.g. node name strings → CID integers), handling the key:section link syntax.
Exports
Functions
M.prepareLinksDestructive(vehicle, sectionRenames)
Walks all vehicle sections looking for link patterns (key:section syntax). For each link, looks up the target in the referenced section and records the resolution in a flat array. Destructively modifies the vehicle data: renames linked keys (e.g. "torqueArm:" → "torqueArm_nodes"), removes unresolvable entries (unless optional flag set).
- Parameters:
vehicle- table - Assembled vehicle datasectionRenames- table - Map of renamed sections (e.g.{triggers2 = "triggers"})
- Returns: table - Flat array of link triples
[targetTable, key, resolvedNode, ...]for later CID resolution
M.resolveLinks(vehicle, links)
After CIDs are assigned, resolves all prepared links by setting the target key to the node's CID. Also re-keys all valid table sections from string keys to CID-based integer keys.
- Parameters:
vehicle- table - Assembled vehicle data (with CIDs assigned)links- table - Link triples fromprepareLinksDestructive
- Returns: boolean -
trueon success
M.resolveGroupLinks(vehicle)
Resolves [groupName]:section syntax links. Finds all nodes/entries matching group membership and collects their CIDs into an array, stored as _groupName_section on the referencing row.
- Parameters:
vehicle- table - Assembled vehicle data (with CIDs assigned)
- Returns: boolean -
trueon success
Internal Notes
- Optional links (
torqueArm:,torqueArm2:,torqueCoupling:, etc.) are silently discarded when targets are missing. - Link syntax:
"nodeRef:"defaults tonodessection;"nodeRef:beams"targets thebeamssection. - The three-phase link process: (1)
prepareLinksDestructivefinds and records links, (2)assignCIDsnumbers everything, (3)resolveLinksapplies CIDs. - Group links use
[groupName]:sectionsyntax in cell keys, matching entries whosegroupNamefield contains any of the specified values.
IO Reference
Module defined in `lua/common/jbeam/io.lua`. Handles reading, parsing, and caching of `.jbeam` files. Provides part lookup by name and slot type.
Loader Reference
Module defined in `lua/common/jbeam/loader.lua`. Main orchestrator for the JBeam vehicle loading pipeline. Coordinates all processing stages from file loading to 3D mesh attachment.