Factorio Data Standards Library


A handful of helpful functions for mods to change prototypes during the data stage.

Internal
2 months ago
2.0
22.3K

Changelog

Version: 0.2.2
Date: 2025-06-19
  Bugfixes:
    - replace_ingredient and replace_result didn't actually remove the old element when the new ingredient already exists
Version: 0.2.1
Date: 2025-06-08
  Changes:
    - Add fds_recipe.add_category function, requires engine version >=2.0.49 which is now stable, will otherwise do nothing
Version: 0.2.0
Date: 2025-05-11
  Changes:
    - get_ingredient and get_result now return index first
  Minor Features:
    - Add new fds_technology functions: find, find_by_unlock, find_by_prereq
    - Add new fds_technology functions: has_prereq, has_prereq_recursive
    - Add fds_recipe.reorder_result
    - Add fds_general.hide_all_prototypes
    - Add new fds_assert functions
Version: 0.1.9
  Changes:
    - Set dependencies to empty
Version: 0.1.8
  Changes:
    - Add replace_prereq function
  Bugfixes:
    - Fix crash if prerequisites isn't valid
Version: 0.1.7
  Changes:
    - Remove assert if original ingredient/result in a replace function doesn't exist
Version: 0.1.6
  Changes:
    - Invert allow_combine argument for replace_X() functions into no_combine
  Bugfixes:
    - Fix wrong assert
Version: 0.1.5
  Minor Features:
    - Add functions for finding recipes
  Changes:
    - Recipe functions that modify an ingredient or result now return it after modifying
Version: 0.1.4
  Changes:
    - Fix assert formatting
Version: 0.1.3
  Changes:
    - Add helper functions for editing surface conditions (if you don't own SA, the functions will no-op)
    - Add helper functions for editing resistances
Version: 0.1.2
  Changes:
    - Remove dependency on the base mod
Version: 0.1.1
  Minor Features:
    - Add fds_recipe.change_time
    - Fix formatting for assert messages
Version: 0.1.0
  Major Features:
    - Functions for modifying Recipe prototypes
    - Functions for modifying Technology prototypes
    - Fancy mutator functions that are sometimes handy