Skip to content

provider / consumer

Minimal walkthrough of sharing an API between mods. Short recipe: Share an API. Full detail: Sharing code between mods.

Path Role
examples/provider Library mod (#[factorio_rs::export] + Cargo metadata)
examples/consumer provider = { path = "../provider" }
Terminal window
factorio-rs build --manifest-path examples/provider
factorio-rs add examples/provider --manifest-path examples/consumer # or cargo add --path
factorio-rs build --manifest-path examples/consumer

In the consumer:

provider::greet("consumer"); // -> remote.call
provider::shared::api::greet("consumer"); // -> require