Example: Krastorio generators that use fuel. Currently fuel inside them is not copied to airborne entities.
Here is my quick fix:
-- Transfer over equipment grid
if oldPlane.grid then
for index,item in pairs(oldPlane.grid.equipment) do
local addedEquipment = newPlane.grid.put{name=item.name, position=item.position}
-- Transfer over charge and shield capacity
if item.energy ~= 0 then addedEquipment.energy = item.energy end
if item.shield ~= 0 then addedEquipment.shield = item.shield end
if item.burner ~= nil then
inv_to_transfer = item.burner.inventory.get_contents()
for name, count in pairs(inv_to_transfer) do
addedEquipment.burner.inventory.insert({name=name, count=count})
end
addedEquipment.burner.heat = item.burner.heat
addedEquipment.burner.remaining_burning_fuel = item.burner.remaining_burning_fuel
addedEquipment.burner.currently_burning = item.burner.currently_burning
end
end
end