Realistic Reactors


Add realistic nuclear reactors including a breeder reactor type and cooling tower. The reactors must be controlled through integrated circuit interface signals. The thermal energy output is dynamic and depends on reactor core temperature. The reactors require sophisticated designs of their cooling system and heat-pipe network. If the operational conditions aren't met then a reactor core meltdown with dangerous consequences occurs

Content
20 days ago
0.16 - 1.1
21.2K
Power

b Crash on entity placement (v.3.1.4)

1 year, 9 months ago
(updated 1 year, 9 months ago)

Heya,

There's either a conflict with the mod Thermal Solar Power 1.1.2 or another mod (Extended Descriptions ?).

Above: Image for illustration of a bug...
(Note: Happens with any heat-pipe entity, placed anywhere whether it is from that mod or vanilla, regardless)

Realistic Reactors also causes a crash when building any heat-pipe, anywhere. In addition to that...


  • Crash when building a heat-pipe anywhere although this used to work, earlier in the game session.
  • Crash when removing a heat-pipe anywhere but erratic (depends on some state) as I was able to remove a few pipes.

Public notes to myself, and if it might help... things to check...

  • Entity removal crash caused by entities not associating correct data when built by bots? (Destroyed by meteor?)
  • Entity creation crash caused by iteration over invalid data in the global table or string-packed runtime data.
  • Entity removal crash caused by iteration over invalid data in the global table or string-packed runtime data.

Error while running event RealisticReactors::on_built_entity (ID 6)
__RealisticReactors__/scripts/heat/buffer.lua:64: attempt to perform arithmetic on field 'y' (a nil value)
stack traceback:
    __RealisticReactors__/scripts/heat/buffer.lua:64: in function 'vecadd'
    __RealisticReactors__/scripts/heat/buffer.lua:69: in function 'for iterator'
    __RealisticReactors__/scripts/heat/network.lua:488: in function 'add_entity_to_network_cell'
    __RealisticReactors__/scripts/heat/network.lua:618: in function 'add_heat_pipe'
    __RealisticReactors__/scripts/events/construct.lua:35: in function 'on_heatpipe_added'
    __RealisticReactors__/scripts/events/construct.lua:104: in function 'entity'
    __RealisticReactors__/control.lua:51: in function <__RealisticReactors__/control.lua:50>

Error while running event RealisticReactors::on_pre_player_mined_item (ID 11)
__RealisticReactors__/scripts/heat/buffer.lua:64: attempt to perform arithmetic on field 'y' (a nil value)
stack traceback:
    __RealisticReactors__/scripts/heat/buffer.lua:64: in function 'vecadd'
    __RealisticReactors__/scripts/heat/buffer.lua:69: in function 'for iterator'
    __RealisticReactors__/scripts/heat/math.lua:325: in function 'get_entity_neighbour_cells'
    __RealisticReactors__/scripts/heat/network.lua:301: in function 'split_heat_network_cell'
    __RealisticReactors__/scripts/heat/network.lua:526: in function 'remove_entity_from_network_cell'
    __RealisticReactors__/scripts/heat/network.lua:627: in function 'remove_heat_pipe'
    __RealisticReactors__/scripts/events/destruct.lua:56: in function 'on_heatpipe_removed'
    __RealisticReactors__/scripts/events/destruct.lua:119: in function 'entity'
    __RealisticReactors__/control.lua:61: in function <__RealisticReactors__/control.lua:59>

I'd like to keep the pre-nuclear heat-pipes & exchanger (hellworld marathon with mods) even tho the simplest solution is to disable entities, or as it may turn out, by removing an entire mod due to string-packaging incompatibilities.

Perhaps Realistic Reactors should avoid touching specific entities (whitelist or blacklist) or perhaps there's a better solution...


Removing mod Extended Descriptions fixes it for now.

I suspect that the bug is still alive... Removing that mod alters data that this mod fails to negotiate with, it seems.
I noticed that this bug has been seen in the past, so it may turn out that this is not an entirely new bug, however.

Since I hadn't dealt with heat-pipe stuff much yet in this playthrough, I hadn't seen the bug rear its ugly head until just now.

It may possibly be a problem between big-data-string and extended-descriptions use of locale strings...
Possibly notnotmelon missed something in the extended-descriptions compatibility update for big-data-string.

Anyhow... hopefully it remains functional... I'd add some data interrogation, perhaps a debug mode if UPS is an issue there.
Perhaps add an integrity check to the data, to check that it survives transport, as it is packaged in part expecting it intact.

Best spot for data integrity checking may be in big-data-string.
But an extra layer of checking and warnings wouldn't hurt if it isn't in a UPS sensitive area anyway.


Best Regards,

New response