The Ruins Mod 2.0


This mod is based on 1.1.6 (abondoned mod?) and contains many fixes for Factorio 2.0. The Ruins Mod adds randomly spawns ruins in the world. These ruins are destroyed fragments of bases, forts, small oases, and more. Explore them for loot, adventure, or entertainment, but beware, some still have running defenses from the last player that landed on the planet, with more successful colonies having better defenses.

Content
12 days ago
2.0
1.54K
Environment

b LuaPrototypes doesn't contain key splitter.

a month ago
(updated a month ago)

Factorio:SA 2.0.32
Modded Game.

Crash with your mod at different situations:

The mod The Ruins Mod 2.0 (1.1.10) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event AbandonedRuins20::on_tick (ID 0)
LuaPrototypes doesn't contain key splitter.
stack traceback:
[C]: in function 'index'
__AbandonedRuins20
/lua/expression_parsing.lua:49: in function '?'
AbandonedRuins20/lua/expression_parsing.lua:77: in function 'entity'
AbandonedRuins20/lua/spawning.lua:134: in function 'parse_variables'
AbandonedRuins20/lua/spawning.lua:171: in function 'spawn_ruin'
AbandonedRuins20/lua/spawning.lua:184: in function 'spawn_random_ruin'
AbandonedRuins20/control.lua:58: in function <AbandonedRuins20/control.lua:53>

a month ago

There is a recipe or an item with name (not type) splitter, but no type="splitter" exists. You can look this up for yourself, if you wish to check it out by search for "splitter". So I need to look on how to fix this, maybe reduce the searched prototypes only on type="item"? But the code here says entity_type.

a month ago

I was just troubleshooting a similar crash caused by mods.factorio.com/mod/AbandonedRuins-ruinsnova not having proper dependencies causing mods.factorio.com/mod/AbandonedRuins_updated_fork to crash. items inside containers don't have error protection from bad ruins blueprints.
to fix this, in spawning.lua , change

if extra_options.items then
local items = {}
for name, count_expression in pairs(extra_options.items) do
local count = expressions.number(count_expression, vars)
if count > 0 then
items[name] = count
end
end
util.safe_insert(e, items)
end
end

to

if extra_options.items then
local items = {}
for name, count_expression in pairs(extra_options.items) do
if not prototypes[name] then
util.debugprint("item " .. name .. " does not exist")
return
end
local count = expressions.number(count_expression, vars)
if count > 0 then
items[name] = count
end
end
util.safe_insert(e, items)
end
end

a month ago
(updated a month ago)

I have updated the mod, does this fix for you? Still this more feels like a workaround and it does crash (1.1.10 and prior) here even with a new game.

This thread has been locked.