Made a quick fix, replace the file control.lua with this:
This does stress out the game thinking the entity was destroyed every time you put it down though heh
-- replace the air pump with the correct variant.
return function(event)
local source = event.source_entity
local surface = source.surface
local planet = surface.name
local target_name = planet .. "-planetary-air-pump"
if prototypes.entity[target_name] ~= nil then
-- 1. Store all necessary information from the source entity first.
local pos = source.position
local dir = source.direction
local a_force = source.force
local qual = source.quality
-- 2. NOW it is safe to destroy the source entity.
source.die()
-- 3. Create the new entity using the stored information.
surface.create_entity{
name = target_name,
position = pos,
direction = dir,
force = a_force,
quality = qual
}
end
end