Class: Factorix::SaveFile

Inherits:
Data
  • Object
show all
Defined in:
lib/factorix/save_file.rb,
lib/factorix/save_file.rb,
sig/factorix/save_file.rbs

Overview

Data structure for Factorio save file information

SaveFile provides functionality to extract MOD information and startup settings from Factorio save files (.zip format containing level.dat0 or level-init.dat).

Constant Summary collapse

LEVEL_FILE_NAMES =

Level file names to search for, in priority order

Returns:

  • (Array[String])
%w[level.dat0 level-init.dat].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ SaveFile

Returns a new instance of SaveFile.

Parameters:



7
# File 'sig/factorix/save_file.rbs', line 7

def initialize: (version: GameVersion, mods: Hash[String, MODState], startup_settings: MODSettings::Section) -> void

Instance Attribute Details

#mods ⇒ Hash<String, Factorix::MODState> (readonly)

Returns Hash of MOD name to MODState.

Returns:



14
15
16
# File 'lib/factorix/save_file.rb', line 14

def mods
  @mods
end

#startup_settings ⇒ Factorix::MODSettings::Section (readonly)

Returns Startup settings section.

Returns:



14
15
16
# File 'lib/factorix/save_file.rb', line 14

def startup_settings
  @startup_settings
end

#version ⇒ Factorix::GameVersion (readonly)

Returns Game version from the save file.

Returns:



14
15
16
# File 'lib/factorix/save_file.rb', line 14

def version
  @version
end

Class Method Details

.load(path) ⇒ SaveFile

Load a save file and extract MOD information and settings

Parameters:

  • path (Pathname) —

    Path to the save file (.zip)

Returns:

  • (SaveFile) —

    Extracted save file data

Raises:



31
# File 'lib/factorix/save_file.rb', line 31

def self.load(path) = Parser.new(path).parse