Shchierbin


Shchierbin - intermediate world with Vanadium.

Content
2 months ago
2.0 - 2.1
19.0K
Planets Logistics Environment Mining Fluids Manufacturing

g crush

9 days ago

│ Title: Unconditional fluid re-registration overwrites other mods' gases (breaks selene)

│ Version: shchierbin 0.3.19, Factorio 2.1.23, with selene 1.0.2 and maraxsis 1.40.24 (237 mods total)

│ Problem: prototypes/fluid.lua registers nitrogen, hydrogen, oxygen and carbon-dioxide with data:extend without
checking whether another mod already provides them. When selene is installed it already defines oxygen (with
auto_barrel = true); shchierbin's version replaces it and drops auto_barrel to false. Because base only generates
<fluid>-barrel items for fluids with auto_barrel ~= false, oxygen-barrel never exists, and selene crashes at load:

│ selene/data-updates.lua:63: attempt to index field 'oxygen-barrel' (a nil value)

│ Repro: enable shchierbin + selene (+ space-age), start the game → error above. Disabling shchierbin loads fine.

│ Suggested fix: only register those gases when they don't exist yet, e.g.

│ if not data.raw["fluid"]["oxygen"] then
│ data:extend(...)
│ end

│ (or, if overriding is intentional, at least keep auto_barrel = true). Since the mod already declares itself
"temporarily incompatible with Muluna" for the same kind of conflict, a global existence check for all fluids in that
data:extend would probably be worth it.

New response