Mod compatibility crash - Fire Place
Hi, when using the Fire Place mod (https://mods.factorio.com/mod/fire-place) in conjunction with Rampant (3.3.4), placing a fire place and loading it with fuel and an input item to burn causes a crash. The error message lists both mods, so reporting to both, but I haven't invested any time to figure out where the fault actually lies.
The mod Fire Place (2.1.0) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event fire-place::on_nth_tick(60)
The mod Rampant (3.3.4) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event Rampant::script_raised_built (ID 79)
__Rampant__/libs/ChunkPropertyUtils.lua:134: table index is nil
stack traceback:
__Rampant__/libs/ChunkPropertyUtils.lua:134: in function <__Rampant__/libs/ChunkPropertyUtils.lua:121>
(...tail calls...)
__Rampant__/libs/ChunkUtils.lua:508: in function 'registerEnemyBaseStructure'
__Rampant__/control.lua:371: in function 'onEnemyBaseBuild'
__Rampant__/control.lua:393: in function <__Rampant__/control.lua:388>
stack traceback:
[C]: in function 'create_entity'
__fire-place__/control.lua:27: in function 'update'
__fire-place__/control.lua:79: in function <__fire-place__/control.lua:78>
Ok, so I went ahead and looked into it.
The Fire Place mod uses create_entity{} to spawn a fire, but it doesn't define a force, so the game is defaulting to force "enemy". Rampant in turn is picking this up and thinking a new biter spawner was just created, and is attempting the work with a fire entity as if it were a spawner. Obviously that's not going to work out well. XD Specifically, I think it's crashing at a point where it's trying to use an entity ID off from the fire entity, which it doesn't appear to have.
Now, Fire Place probably should update this to define a force (probably "neutral"), but also I think Rampant should maybe do a bit of a sanity check of whatever it's picking up as recently added to force "enemy" as something valid for it to work with.