local mod_tint = { [2] = {r=140, g=142, b=200}, [3] = {r=242, g=161, b=26}, [4] = {r=255, g=254, b=42}, [5] = {r=54, g=228, b=255}, [6] = {r=253, g=0, b=97}, [7] = {r=0, g=209, b=102}, [8] = {r=233, g=63, b=233} } if not settings.startup['PHI-CT'].value then return end -- CT U 3 BASE ITEM -- CT A 3 BASE RECIPE for _, v in pairs({'infinity-chest', 'infinity-cargo-wagon', 'infinity-pipe'}) do data.raw['item'][v].hidden = false data.raw['item'][v].hidden_in_factoriopedia = false data:extend({{ type = 'recipe', name = data.raw['item'][v].name, energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {}, results = {{type = 'item', name = data.raw['item'][v].name, amount = 1}}, main_product = data.raw['item'][v].name }}) end -- CT C 1 BASE ENTITY,ITEM -- CT A 1 BASE RECIPE if data.raw['linked-container'] and data.raw['linked-container']['linked-chest'] then data.raw['item']['linked-chest'].subgroup = 'storage' data.raw['item']['linked-chest'].order = 'a[items]-d[linked-chest]' data.raw['item']['linked-chest'].stack_size = 50 data.raw['linked-container']['linked-chest'].circuit_connector = table.deepcopy(data.raw['container']['steel-chest'].circuit_connector) data.raw['linked-container']['linked-chest'].circuit_wire_max_distance = data.raw['container']['steel-chest'].circuit_wire_max_distance data.raw['linked-container']['linked-chest'].inventory_type = 'with_filters_and_bar' data.raw['linked-container']['linked-chest'].inventory_size = data.raw['container']['steel-chest'].inventory_size data.raw['linked-container']['linked-chest'].gui_mode = 'all' data.raw['linked-container']['linked-chest'].surface_conditions = nil data:extend({{ type = 'recipe', name = 'linked-chest', energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {{type = 'item', name = 'steel-chest', amount = 1}}, results = {{type = 'item', name = 'linked-chest', amount = 1}}, main_product = 'linked-chest' }}) end -- CT A 1 BASE ENTITY,ITEM,RECIPE if data.raw['radar'] and data.raw['radar']['radar'] then local item = table.deepcopy(data.raw['item']['radar']) item.name = 'super-radar' item.place_result = item.name item.order = 'd[radar]-b[radar]' item.icons = {{icon = item.icon or '__base__/graphics/icons/radar.png', tint = mod_tint[8], icon_size = item.icon_size or 64, icon_mipmaps = item.icon_mipmaps or 4}} item.icon = nil item.icon_size = nil item.icon_mipmaps = nil item.localised_name = {'', {'name.super-entity'}, {'entity-name.radar'}} data:extend({item}) local entity = table.deepcopy(data.raw['radar']['radar']) entity.name = item.name entity.minable.result = item.name entity.max_distance_of_sector_revealed = 35 entity.max_distance_of_nearby_sector_revealed = 35 entity.pictures.layers[1].tint = mod_tint[8] entity.localised_name = {'', {'name.super-entity'}, {'entity-name.radar'}} data:extend({entity}) data:extend({{ type = 'recipe', name = item.name, energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {{type = 'item', name = 'electronic-circuit', amount = 5}, {type = 'item', name = 'iron-gear-wheel', amount = 5}, {type = 'item', name = 'iron-plate', amount = 10}}, results = {{type = 'item', name = item.name, amount = 1}}, main_product = item.name, localised_name = {'', {'name.super-entity'}, {'entity-name.radar'}} }}) end -- CT A 2 BASE ENTITY,ITEM,RECIPE if data.raw['electric-energy-interface'] and data.raw['electric-energy-interface']['electric-energy-interface'] then for _, v in pairs({'active', 'passive'}) do local item = table.deepcopy(data.raw['item']['electric-energy-interface']) item.name = v .. '-energy-void' item.place_result = item.name item.subgroup = 'energy' item.localised_name = {'name.' .. item.name} data:extend({item}) local entity = table.deepcopy(data.raw['electric-energy-interface']['electric-energy-interface']) entity.name = item.name entity.minable.result = item.name entity.energy_source.usage_priority = (v == 'passive' and 'tertiary') or 'primary-input' entity.energy_source.emissions_per_minute = {pollution = 0} entity.energy_source.input_flow_limit = '1PW' entity.energy_source.output_flow_limit = '0W' entity.energy_source.buffer_capacity = '1PJ' entity.energy_production = '0W' entity.energy_usage = '1PW' entity.gui_mode = 'none' entity.localised_name = {'name.' .. item.name} data:extend({entity}) data:extend({{ type = 'recipe', name = item.name, energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {{type = 'item', name = 'accumulator', amount = 1}}, results = {{type = 'item', name = item.name, amount = 1}}, main_product = item.name, localised_name = {'name.' .. item.name} }}) end end -- CT C 1 BASE ARMOR_EQUIPMENT if data.raw['electric-energy-interface-equipment'] and data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'] then data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'].energy_source.usage_priority = 'primary-output' data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'].energy_source.input_flow_limit = '0W' data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'].energy_source.output_flow_limit = '1PW' data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'].energy_source.buffer_capacity = '1PJ' data.raw['electric-energy-interface-equipment']['electric-energy-interface-equipment'].gui_mode = 'none' end -- CT A 1 BASE ENTITY,ITEM,RECIPE if data.raw['infinity-container'] and data.raw['infinity-container']['infinity-chest'] then local item = table.deepcopy(data.raw['item']['infinity-chest']) item.name = 'super-infinity-chest' item.place_result = item.name item.icons = {{icon = item.icon or '__base__/graphics/icons/infinity-chest.png', tint = mod_tint[8], icon_size = item.icon_size or 64, icon_mipmaps = item.icon_mipmaps or 4}} item.icon = nil item.icon_size = nil item.icon_mipmaps = nil item.localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-chest'}} data:extend({item}) local entity = table.deepcopy(data.raw['infinity-container']['infinity-chest']) entity.name = item.name entity.minable.result = item.name entity.gui_mode = 'none' entity.picture.layers[1].tint = mod_tint[8] entity.localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-chest'}} data:extend({entity}) data:extend({{ type = 'recipe', name = item.name, energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {{type = 'item', name = 'steel-chest', amount = 1}}, results = {{type = 'item', name = item.name, amount = 1}}, main_product = item.name, localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-chest'}} }}) end -- CT A 1 BASE ENTITY,ITEM,RECIPE if data.raw['infinity-cargo-wagon'] and data.raw['infinity-cargo-wagon']['infinity-cargo-wagon'] then local item = table.deepcopy(data.raw['item']['infinity-cargo-wagon']) item.name = 'super-infinity-cargo-wagon' item.place_result = item.name item.icons = {{icon = item.icon or '__base__/graphics/icons/cargo-wagon.png', tint = mod_tint[8], icon_size = item.icon_size or 64, icon_mipmaps = item.icon_mipmaps or 4}} item.icon = nil item.icon_size = nil item.icon_mipmaps = nil item.localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-cargo-wagon'}} data:extend({item}) local entity = table.deepcopy(data.raw['infinity-cargo-wagon']['infinity-cargo-wagon']) entity.name = item.name entity.minable.result = item.name entity.gui_mode = 'none' if entity.pictures then for _, d in pairs({'rotated', 'sloped'}) do if entity.pictures[d] and entity.pictures[d].layers then for _, l in pairs(entity.pictures[d].layers) do if not l.draw_as_shadow then l.apply_runtime_tint = true l.tint = mod_tint[8] end end end end end entity.localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-cargo-wagon'}} data:extend({entity}) data:extend({{ type = 'recipe', name = item.name, energy_required = 2, enabled = true, categories = {'crafting'}, hidden = true, hidden_in_factoriopedia = true, ingredients = {{type = 'item', name = 'cargo-wagon', amount = 1}}, results = {{type = 'item', name = item.name, amount = 1}}, main_product = item.name, localised_name = {'', {'name.super-entity'}, {'entity-name.infinity-cargo-wagon'}} }}) end -- CT A 1 BASE SHORTCUT if data.raw['blueprint-book'] and data.raw['blueprint-book']['blueprint-book'] then data:extend({{ type = 'shortcut', name = 'phi-cl-toggle-editor', action = 'lua', toggleable = true, icon = data.raw['blueprint-book']['blueprint-book'].icon, icon_size = data.raw['blueprint-book']['blueprint-book'].icon_size, small_icon = data.raw['blueprint-book']['blueprint-book'].icon, small_icon_size = data.raw['blueprint-book']['blueprint-book'].icon_size, localised_name = {'', {'gui-permissions-names.ToggleMapEditor'}} }}) end