local items = require('ct-c') if items['hide'] and (data.raw['infinity-container']['super-infinity-chest'] or data.raw['infinity-cargo-wagon']['super-infinity-cargo-wagon']) then local sc = 1 for c, _ in pairs(defines.prototypes.item) do if data.raw[c] then for _, i in pairs(data.raw[c]) do if not (i.hidden or (i.subgroup and items['hide'][i.subgroup])) then sc = sc + 1 end end end end if data.raw['infinity-container']['super-infinity-chest'] then data.raw['infinity-container']['super-infinity-chest'].inventory_size = sc end if data.raw['infinity-cargo-wagon']['super-infinity-cargo-wagon'] then data.raw['infinity-cargo-wagon']['super-infinity-cargo-wagon'].inventory_size = sc end end -- MIG C 11 BASE ENTITY -- MIG C 1 RECYCLER ENTITY -- MIG C 7 SPACE_AGE ENTITY if settings.startup['PHI-CT-STATUS'].value and items['status'] and items['status_ignore'] then function main_entity_number_position(entity) local box = entity.selection_box or entity.collision_box if not box then return end if not box.left_top and not box.right_bottom and type(box[1]) == 'table' and type(box[2]) == 'table' then box = { left_top = {x = box[1][1], y = box[1][2]}, right_bottom = {x = box[2][1], y = box[2][2]} } end local w = box.right_bottom.x - box.left_top.x local h = box.right_bottom.y - box.left_top.y local cx = (box.left_top.x + box.right_bottom.x) / 2 local cy = (box.left_top.y + box.right_bottom.y) / 2 local positions = { [1] = { x = cx - 0.2 * w, y = cy + h / 2 - 0.25 }, [2] = { x = cx - 0.2 * h, y = cy + w / 2 - 0.25 } } return positions end for _, c in pairs({'assembling-machine', 'furnace', 'mining-drill'}) do for _, v in pairs(data.raw[c]) do if not v.bottleneck_ignore and not items['status_ignore'][v.name] then for _, a in pairs({'graphics_set', 'wet_mining_graphics_set', 'graphics_set_flipped'}) do if v[a] then v[a].status_colors = items['status'] if not v[a].working_visualisations then v[a].working_visualisations = {} end local positions = main_entity_number_position(v) if positions then v[a].working_visualisations[#v[a].working_visualisations + 1] = { always_draw = true, apply_tint = 'status', render_layer = 'light-effect', animation = { filename = '__base__/graphics/icons/signal/signal_white.png', flags = {'icon'}, size = 64, scale = 0.15, line_length = 1, frame_count = 1, animation_speed = 1, draw_as_glow = true }, north_position = positions[1], east_position = positions[2], south_position = positions[1], west_position = positions[2], } end end end end end end end -- CT A 1 BASE MAP_GEN_PRESET if settings.startup['PHI-CT-TILE'].value then local autoplace_setting_decorative = {} local autoplace_setting_entity = {} local autoplace_setting_tile = {} for k, _ in pairs(data.raw.tile) do autoplace_setting_tile[k] = { frequency = 0, size = 0, richness = 0 } end autoplace_setting_tile[settings.startup['PHI-CT-TILE-CHOICE'].value] = { frequency = 1, size = 1, richness = 1 } for c, _ in pairs(defines.prototypes.entity) do if data.raw[c] then for k, _ in pairs(data.raw[c]) do autoplace_setting_entity[k] = { frequency = 0, size = 0, richness = 0 } end end end for k, _ in pairs(data.raw['optimized-decorative']) do autoplace_setting_decorative[k] = { frequency = 0, size = 0, richness = 0 } end data.raw['map-gen-presets']['default']['empty-world'] = { order = 'zz', basic_settings = { default_enable_all_autoplace_controls = false, autoplace_controls = {}, autoplace_settings = { tile = { treat_missing_as_default = false, settings = autoplace_setting_tile }, entity = { treat_missing_as_default = false, settings = autoplace_setting_entity }, decorative = { treat_missing_as_default = false, settings = autoplace_setting_decorative } }, no_enemies_mode = true }, advanced_settings = { pollution = { enabled = false }, enemy_evolution = { enabled = false }, enemy_expansion = { enabled = false } } } end