Exotic Industries


Progress through 6 ages of technology, starting with steam and tame exotic matter in the end. Adds various game mechanics, a variety of new resources and big machines. Compatible with Krastorio2.

Overhaul
5 days ago
1.1
19.3K
Transportation Logistics Trains Environment Mining Manufacturing Power

b crash (with warptorio2)

4 months ago

Hi,
i ran into this crash when playing with other mods:

20271.573 Error MainLoop.cpp:1391: Exception at tick 1127880: Die Mod Exotic Industries (0.4.2) hat einen Fehler verursacht, der nicht behoben werden kann.
Bitte informiere den Autor der Mod über diesen Fehler.

Error while running event exotic-industries::on_tick (ID 0)
invalid key to 'next'
stack traceback:
[C]: in function 'next'
exotic-industries/scripts/control/powered_beacon.lua:75: in function 'update_fluid_storages'
exotic-industries/control.lua:231: in function 'updater'
exotic-industries/control.lua:87: in function <exotic-industries/control.lua:86>

i have the following mods and versions:
ei-warptorio-compat 1.0.0
exotic-industries_0.4.2
exotic-industries-containers_0.0.5
exotic-industries-fueler_0.1.2
exotic-industries-graphics_0.4.0
exotic-industries-loaders_0.0.3
exotic-industries-robots_0.1.0
exotic-industries-tanks_0.1.0
informatron_0.3.4
planetorio_0.1.5
RealisticFusionPower_1.8.17
warptorio2_1.3.10

the crash happened when warptorio teleported my base to a new surface. generally this was working fine for ~10 hours so i assume its either me placing a new entity for teleport, or that new surface being somehow different. i recall placing my first fluid tank (the standard factorio one) down before the teleport, maybe its that one now causing it. i do not have beacons yet.

4 months ago

tried replicating it a few times but no luck, so not sure what conditions need to happen to run trigger it - teleportation with tank usually works fine too.

4 months ago

I have this same exact bug! It happens to me every time when I jump.

4 months ago
(updated 4 months ago)

Hi PreLeyZero, I did my small investigation on this crash. Looks like there is an issue when you warp, warptorio 2 copy evety entity to surface and delete old surface with every entity. So global.ei.fluid_entity became empty and global.ei.copper_beacon.fluid_script_break_point is nil. So compatibilty with warptorio will require few things: re-register entities in global.ei.fluid_entity after warp, and stop EI updater while you warping. For last one there is a remote api to check warp status. So I can do this in compatibility mod if some how I'll able to stop updater with remote api. With first thing I don't know exactly what will be the best solution, because events.on_entity_cloned not work as I thought. So may be better right before updater start re-register all entities on current surface to prevent any issues with not receive events.on_entity_cloned. What is your vision on this?

3 months ago

Hi PreLeyZero, I did my small investigation on this crash. Looks like there is an issue when you warp, warptorio 2 copy evety entity to surface and delete old surface with every entity. So global.ei.fluid_entity became empty and global.ei.copper_beacon.fluid_script_break_point is nil. So compatibilty with warptorio will require few things: re-register entities in global.ei.fluid_entity after warp, and stop EI updater while you warping. For last one there is a remote api to check warp status. So I can do this in compatibility mod if some how I'll able to stop updater with remote api. With first thing I don't know exactly what will be the best solution, because events.on_entity_cloned not work as I thought. So may be better right before updater start re-register all entities on current surface to prevent any issues with not receive events.on_entity_cloned. What is your vision on this?

Well thats kinda i bigger problem with the break point approach in general, if you want you can make a PR out of your fix so include it in EI itself.
However compat with warptorio is not one of my prios.

New response