Struct FactorioExporter

Source
pub struct FactorioExporter<'a> { /* private fields */ }
Expand description

Main class for orchestrating the export.

Implementations§

Source§

impl FactorioExporter<'_>

Source

pub fn new<'a>( factorio_binary: &'a Path, api: &'a Api, locale: &'a str, export_icons: bool, ) -> Result<FactorioExporter<'a>>

Creates and configures a new FactorioExporter instance.

§Arguments
  • factorio_binary - File system path of a Factorio binary. This can be any variant of the binary, full, headless, or demo.
  • api - The definition of the Factorio API, as loaded by load_api.
  • locale - Locale code to use for translated strings.
  • export_icons - Whether icon paths should be collected in the data phase and patched into the prototype definitions using a heuristic.
Source§

impl FactorioExporter<'_>

Source

pub fn export(&self) -> Result<Value>

Export the prototype definitions from Factorio and partially deserialize them into a serde_yaml::Value object, which can easily deserialized of serialized into other data types further.

This function executes Factorio twice, once to create a save file, and a second time to execute an exporter mod that does the heavy-lifting. The process uses a temporary directory, so that the main Factorio installation is not touched. Any existing Factorio configuration, including installed mods are therefore ignored.

Source

pub fn install_mods<I, P>(&self, mods: I) -> Result<()>
where I: IntoIterator<Item = P>, P: AsRef<Path>,

Install mods into the temporary execution directory before exporting. This allows exporting additional items, recipes, and all other changes that the mods make to be part of the export.

No particular checks are made that the dependencies of the specified mods can be resolved. This is the responsibility of the caller. Otherwise Factorio will probably not start.

§Arguments
  • mods - A list of file system paths that point to Factorio mods in .zip format.

Auto Trait Implementations§

§

impl<'a> Freeze for FactorioExporter<'a>

§

impl<'a> RefUnwindSafe for FactorioExporter<'a>

§

impl<'a> Send for FactorioExporter<'a>

§

impl<'a> Sync for FactorioExporter<'a>

§

impl<'a> Unpin for FactorioExporter<'a>

§

impl<'a> UnwindSafe for FactorioExporter<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more