
local pureDrills = {}

local recipeCategory = "convert-pure-fluid"
data:extend{{
    type = "recipe-category",
    name = recipeCategory
}}





local function makePureOre(ore, quality)
    local name = "pure-"..ore.."-"..quality
    local fluid = {
        type = "fluid",
        name = name,
        icon = data.raw["quality"][quality].icon,
        default_temperature = 451.0,
        base_color = {},
        flow_color = {},
    }

    local recipe = {
        type = "recipe",
        name = name,
        categories = {recipeCategory},
        energy_required = 0.002,
        ingredients = {{type = "fluid", name = name, amount = 1}},
        results = {{type = "item", name = ore, amount = 1, quality_min=quality}},
        auto_recycle = false
    }


    local pure = table.deepcopy(data.raw["resource"][ore])
    local results = pure.minable.results or {{
        type = "item",
        name = pure.minable.result,
        amount = 1
    }}
    table.insert(results, {
        type = "fluid",
        name = name,
        amount = 1
    })
    pure.name = name
    pure.minable.results = results
    pure.minable.mining_time = 5
    data:extend{pure, fluid, recipe}
end





local function makePumpjack(drill)
    local box = {volume = 10, production_type = "input", pipe_connections = {{connection_type = "linked", linked_connection_id = 0}}}

    local pump = table.deepcopy(data.raw["mining-drill"][drill])
    local furnace = {
        type = "furnace",
        name = "pure-furnace-"..drill,
        fluid_boxes = {box},
        crafting_categories = {recipeCategory},
        vector_to_place_result = pump.vector_to_place_result,

        
        crafting_speed = 18446744073709551615,
        result_inventory_size = 1,
        source_inventory_size = 0,
        energy_source = {type = "void"},
        energy_usage = "0.0001W",
    }

    pump.name = "pure-pump-"..drill
    pump.output_fluid_box = box
    pump.vector_to_place_result = {0, 0}
    data:extend{pump, furnace}

    pureDrills[drill] = true
end

makePureOre("iron-ore", "rare")
makePureOre("iron-ore", "legendary")
makePumpjack("electric-mining-drill")
makePumpjack("big-mining-drill")

data:extend{{type = "mod-data", name = "pure-drills", data = pureDrills}}
