1134 lines
37 KiB
Lua

local table = require("__flib__.table")
local constants = {}
constants.burner_classes = {
"entity",
"equipment",
}
constants.category_all_match = {
science_pack = true,
}
constants.category_classes = {
"entity_type",
"equipment_category",
"fuel_category",
"group",
"item_type",
"recipe_category",
"resource_category",
"science_pack",
}
constants.category_class_plurals = {
entity_type = "entity_types",
equipment_category = "equipment_categories",
fuel_category = "fuel_categories",
group = "groups",
item_type = "item_types",
recipe_category = "recipe_categories",
resource_category = "resource_categories",
science_pack = "science_packs",
}
constants.classes = {
"entity",
"entity_type",
"equipment",
"equipment_category",
"fluid",
"fuel_category",
"group",
"item",
"item_type",
"recipe",
"recipe_category",
"resource",
"resource_category",
"science_pack",
"technology",
}
constants.class_to_font_glyph = {
entity = "E",
entity_type = "G",
equipment_category = "G",
equipment = "H",
fluid = "B",
fuel_category = "G",
group = "G",
item = "C",
item_type = "G",
recipe_category = "G",
recipe = "D",
resource_category = "G",
resource = "F",
science_pack = "G",
technology = "A",
}
constants.class_to_type = {
entity = "entity",
entity_type = false,
equipment_category = false,
equipment = "equipment",
fluid = "fluid",
fuel_category = false,
group = "item-group",
item = "item",
item_type = false,
recipe_category = false,
recipe = "recipe",
resource_category = false,
resource = "entity",
science_pack = "item",
technology = "technology",
}
constants.component_states = {
"normal",
"collapsed",
"hidden",
}
constants.colors = {
error = {
str = "255, 90, 90",
tbl = { 255, 90, 90 },
},
green = {
str = "210, 253, 145",
tbl = { 210, 253, 145 },
},
heading = {
str = "255, 230, 192",
tbl = { 255, 230, 192 },
},
info = {
str = "128, 206, 240",
tbl = { 128, 206, 240 },
},
invisible = {
str = "0, 0, 0, 0",
tbl = { 0, 0, 0, 0 },
},
yellow = {
str = "255, 240, 69",
tbl = { 255, 240, 69 },
},
unresearched = {
str = "255, 142, 142",
tbl = { 255, 142, 142 },
},
}
constants.default_max_rows = 8
constants.type_to_class = {
["entity"] = "entity",
["equipment-category"] = "equipment_category",
["equipment"] = "equipment",
["fluid"] = "fluid",
["fuel-category"] = "fuel_category",
["item-group"] = "group",
["item"] = "item",
["recipe-catgory"] = "recipe_category",
["recipe"] = "recipe",
["resource-catgory"] = "resource_category",
["resource"] = "resource",
["rocket-silo"] = "entity",
["spider-vehicle"] = "entity",
["technology"] = "technology",
}
constants.disabled_categories = {
entity_type = {},
equipment_category = {},
fuel_category = {},
group = {
-- Editor extensions
["ee-tools"] = true,
},
item_type = {
["blueprint"] = true,
["blueprint-book"] = true,
["copy-paste-tool"] = true,
["deconstruction-item"] = true,
["selection-tool"] = true,
["upgrade-item"] = true,
},
-- Dictionary category -> modifier
-- `0` - Disabled by default, does not affect object availability
-- `1` - Disabled by default
recipe_category = {
-- Creative mod
["creative-mod_free-fluids"] = 1,
["creative-mod_energy-absorption"] = 1,
-- Editor extensions
["ee-testing-tool"] = 1,
-- Deep storage unit
["deep-storage-item"] = 0,
["deep-storage-fluid"] = 0,
["deep-storage-item-big"] = 0,
["deep-storage-fluid-big"] = 0,
["deep-storage-item-mk2/3"] = 0,
["deep-storage-fluid-mk2/3"] = 0,
-- Krastorio 2
["void-crushing"] = 0, -- This doesn't actually exist yet, but will soon!
-- Mining drones
["mining-depot"] = 0,
-- Pyanodon's
["py-incineration"] = 1,
["py-runoff"] = 1,
["py-venting"] = 1,
-- Reverse factory
["recycle-intermediates"] = 0,
["recycle-productivity"] = 0,
["recycle-products"] = 0,
["recycle-with-fluids"] = 0,
-- Transport drones
["fuel-depot"] = 0,
["transport-drone-request"] = 0,
["transport-fluid-request"] = 0,
},
resource_category = {},
science_pack = {},
}
constants.fake_fluid_fuel_category = "burnable-fluid"
constants.general_settings = {
content = {
show_disabled = {
type = "bool",
has_tooltip = true,
default_value = false,
},
show_hidden = {
type = "bool",
has_tooltip = true,
default_value = false,
},
show_unresearched = {
type = "bool",
has_tooltip = false,
default_value = true,
},
show_made_in_in_quick_ref = {
type = "bool",
has_tooltip = false,
default_value = false,
},
},
captions = {
show_internal_names = {
type = "bool",
has_tooltip = true,
default_value = false,
},
show_glyphs = {
type = "bool",
has_tooltip = false,
default_value = true,
},
},
tooltips = {
show_alternate_name = {
type = "bool",
has_tooltip = true,
default_value = false,
},
show_descriptions = {
type = "bool",
has_tooltip = false,
default_value = true,
},
show_detailed_tooltips = {
type = "bool",
has_tooltip = true,
default_value = true,
},
show_interaction_helps = {
type = "bool",
has_tooltip = false,
default_value = true,
},
},
search = {
default_gui_type = {
type = "enum",
options = {
"textual",
"visual",
},
has_tooltip = true,
default_value = "textual",
},
fuzzy_search = {
type = "bool",
has_tooltip = true,
default_value = false,
},
show_fluid_temperatures = {
type = "enum",
options = {
"off",
"absolute_only",
"all",
},
has_tooltip = true,
default_value = "all",
},
search_type = {
type = "enum",
options = {
"localised",
"internal",
"both",
},
has_tooltip = true,
default_value = "localised",
},
},
interface = {
open_info_relative_to_gui = {
type = "bool",
has_tooltip = true,
default_value = true,
},
attach_search_results = {
type = "bool",
has_tooltip = true,
default_value = true,
},
close_search_gui_after_selection = {
type = "bool",
has_tooltip = false,
default_value = false,
dependencies = {
{ category = "interface", name = "attach_search_results", value = false },
},
},
search_gui_location = {
type = "enum",
options = {
"top_left",
"center",
},
has_tooltip = true,
default_value = "top_left",
},
},
}
constants.global_history_size = 30
constants.gui_strings = {
accepted_equipment = { "gui.rb-accepted-equipment" },
accepted_modules = { "gui.rb-accepted-modules" },
affects_recipes = { "gui.rb-affects-recipes" },
alt_click = { "gui.rb-alt-click" },
attach_search_results = { "gui.rb-attach-search-results" },
base_pollution_desc = { "gui.rb-base-pollution-desc" },
base_pollution = { "gui.rb-base-pollution" },
beacon = { "gui.rb-beacon" },
buffer_capacity = { "gui.rb-buffer-capacity" },
burned_in = { "gui.rb-burned-in" },
burnt_result = { "gui.rb-burnt-result" },
burnt_result_of = { "gui.rb-burnt-result-of" },
can_burn = { "gui.rb-can-burn" },
can_craft = { "gui.rb-can-craft" },
can_mine = { "gui.rb-can-mine" },
captions = { "gui.rb-captions" },
catalyst_abbrev = { "gui.rb-catalyst-abbrev" },
catalyst_amount = { "gui.rb-catalyst-amount" },
category = { "gui.rb-category" },
charging_energy = { "gui.rb-charging-energy" },
click = { "gui.rb-click" },
close_search_gui_after_selection = { "gui.rb-close-search-gui-after-selection" },
close_search_when_moving_info_pages = { "gui.rb-close-search-when-moving-info-pages" },
construction_radius = { "gui.rb-construction-radius" },
consumption_bonus = { "description.consumption-bonus" },
content = { "gui.rb-content" },
control_click = { "gui.rb-control-click" },
crafter = { "gui.rb-crafter" },
crafting_speed = { "description.crafting-speed" },
crafting_time_desc = { "gui.rb-crafting-time-desc" },
crafting_time = { "gui.rb-crafting-time" },
default_gui_type = { "gui.rb-default-gui-type" },
default_state = { "gui.rb-default-state" },
default_temperature = { "gui.rb-default-temperature" },
disabled_abbrev = { "gui.rb-disabled-abbrev" },
disabled = { "entity-status.disabled" },
distribution_effectivity = { "gui.rb-distribution-effectivity" },
effect_area = { "gui.rb-effect-area" },
energy_consumption = { "gui.rb-energy-consumption" },
energy_per_shield_point = { "gui.rb-energy-per-shield-point" },
energy_production = { "gui.rb-energy-production" },
entities = { "gui.rb-entities" },
entity = { "gui.rb-entity" },
entity_type = { "gui.rb-entity-type" },
equipment_categories = { "gui.rb-equipment-categories" },
equipment_category = { "gui.rb-equipment-category" },
equipment = { "gui.rb-equipment" },
equipment_properties = { "gui.rb-equipment-properties" },
expected_resources = { "gui.rb-expected-resources" },
fixed_recipe = { "gui.rb-fixed-recipe" },
fluid_consumption = { "gui.rb-fluid-consumption" },
fluid = { "gui.rb-fluid" },
fluids = { "gui.rb-fluids" },
format_amount = { "gui.rb-format-amount" },
format_area = { "gui.rb-format-area" },
format_degrees = { "format-degrees-c-compact" },
format_percent = { "format-percent" },
format_seconds_parenthesis = { "gui.rb-format-seconds-parenthesis" },
format_seconds = { "time-symbol-seconds" },
fuel_categories = { "gui.rb-fuel-categories" },
fuel_category = { "gui.rb-fuel-category" },
fuel_pollution = { "description.fuel-pollution" },
fuel_value = { "description.fuel-value" },
fuzzy_search = { "gui.rb-fuzzy-search" },
gathered_from = { "gui.rb-gathered-from" },
general = { "gui.rb-general" },
generator = { "gui.rb-generator" },
get_blueprint = { "gui.rb-get-blueprint" },
go_backward = { "gui.rb-go-backward" },
go_forward = { "gui.rb-go-forward" },
go_to_the_back = { "gui.rb-go-to-the-back" },
go_to_the_front = { "gui.rb-go-to-the-front" },
group = { "gui.rb-group" },
hidden_abbrev = { "gui.rb-hidden-abbrev" },
hidden = { "gui.rb-hidden" },
ingredient_in = { "gui.rb-ingredient-in" },
ingredient_limit = { "gui.rb-ingredient-limit" },
ingredients = { "gui.rb-ingredients" },
inputs = { "gui.rb-inputs" },
interface = { "gui.rb-interface" },
item = { "gui.rb-item" },
items = { "gui.rb-items" },
item_type = { "gui.rb-item-type" },
lab = { "gui.rb-lab" },
list_box_label = { "gui.rb-list-box-label" },
logistic_radius = { "gui.rb-logistic-radius" },
made_in = { "gui.rb-made-in" },
max_energy_production = { "gui.rb-max-energy-production" },
maximum_temperature = { "gui.rb-maximum-temperature" },
max_rows = { "gui.rb-max-rows" },
middle_click = { "gui.rb-middle-click" },
mined_by = { "gui.rb-mined-by" },
mined_from = { "gui.rb-mined-from" },
minimum_temperature = { "gui.rb-minimum-temperature" },
mining_area = { "gui.rb-mining-area" },
mining_drill = { "gui.rb-mining-drill" },
mining_drills = { "gui.rb-mining-drills" },
mining_speed = { "gui.rb-mining-speed" },
mining_time = { "gui.rb-mining-time" },
module_effects = { "gui.rb-module-effects" },
modules = { "gui.rb-modules" },
module_slots = { "gui.rb-module-slots" },
movement_bonus = { "description.movement-speed-bonus" },
offshore_pump = { "gui.rb-offshore-pump" },
open_info_relative_to_gui = { "gui.rb-open-info-relative-to-gui" },
open_in_technology_window = { "gui.rb-open-in-technology-window" },
per_second_suffix = { "gui.rb-per-second-suffix" },
place_as_equipment_result = { "gui.rb-place-as-equipment-result" },
placed_by = { "gui.rb-placed-by" },
placed_in = { "gui.rb-placed-in" },
place_result = { "gui.rb-place-result" },
pollution_bonus = { "description.pollution-bonus" },
pollution_multiplier = { "gui.rb-pollution-multiplier" },
prerequisite_of = { "gui.rb-prerequisite-of" },
prerequisites = { "gui.rb-prerequisites" },
preserve_search_query = { "gui.rb-preserve-search-query" },
productivity_bonus = { "description.productivity-bonus" },
product_of = { "gui.rb-product-of" },
products = { "gui.rb-products" },
pumped_by = { "gui.rb-pumped-by" },
pumping_speed = { "description.pumping-speed" },
recipe_categories = { "gui.rb-recipe-categories" },
recipe_category = { "gui.rb-recipe-category" },
recipe = { "gui.rb-recipe" },
recipes = { "gui.rb-recipes" },
required_fluid = { "gui.rb-required-fluid" },
required_units = { "gui.rb-required-units" },
researched_in = { "gui.rb-researched-in" },
research_ingredients_per_unit = { "gui.rb-research-ingredients-per-unit" },
research_speed_desc = { "gui.rb-research-speed-desc" },
research_speed = { "description.research-speed" },
resource_categories = { "gui.rb-resource-categories" },
resource_category = { "gui.rb-resource-category" },
resource = { "gui.rb-resource" },
resources = { "gui.rb-resources" },
right_click = { "gui.rb-right-click" },
robot_limit = { "gui.rb-robot-limit" },
rocket_launch_product_of = { "gui.rb-rocket-launch-product-of" },
rocket_launch_products = { "gui.rb-rocket-launch-products" },
rocket_parts_required = { "gui.rb-rocket-parts-required" },
science_pack = { "gui.rb-science-pack" },
search_gui_location = { "gui.rb-search-gui-location" },
search = { "gui.rb-search" },
search_type = { "gui.rb-search-type" },
session_history = { "gui.rb-session-history" },
shield_points = { "gui.rb-shield-points" },
shift_click = { "gui.rb-shift-click" },
show_alternate_name = { "gui.rb-show-alternate-name" },
show_descriptions = { "gui.rb-show-descriptions" },
show_detailed_tooltips = { "gui.rb-show-detailed-tooltips" },
show_disabled = { "gui.rb-show-disabled" },
show_fluid_temperatures = { "gui.rb-show-fluid-temperatures" },
show_glyphs = { "gui.rb-show-glyphs" },
show_hidden = { "gui.rb-show-hidden" },
show_interaction_helps = { "gui.rb-show-interaction-helps" },
show_internal_names = { "gui.rb-show-internal-names" },
show_made_in_in_quick_ref = { "gui.rb-show-made-in-in-quick-ref" },
show_unresearched = { "gui.rb-show-unresearched" },
si_joule = { "si-unit-symbol-joule" },
si_watt = { "si-unit-symbol-watt" },
size = { "gui.rb-size" },
speed_bonus = { "description.speed-bonus" },
stack_size = { "gui.rb-stack-size" },
take_result = { "gui.rb-take-result" },
tech_level_desc = { "gui.rb-tech-level-desc" },
tech_level = { "gui.rb-tech-level" },
technology = { "gui.rb-technology" },
temperatures = { "gui.rb-temperatures" },
time_per_unit_desc = { "gui.rb-time-per-unit-desc" },
time_per_unit = { "gui.rb-time-per-unit" },
toggle_completed = { "gui.rb-toggle-completed" },
tooltips = { "gui.rb-tooltips" },
unlocked_by = { "gui.rb-unlocked-by" },
unlocks_entities = { "gui.rb-unlocks-entities" },
unlocks_equipment = { "gui.rb-unlocks-equipment" },
unlocks_fluids = { "gui.rb-unlocks-fluids" },
unlocks_items = { "gui.rb-unlocks-items" },
unlocks_recipes = { "gui.rb-unlocks-recipes" },
unresearched = { "gui.rb-unresearched" },
vehicle_acceleration = { "description.fuel-acceleration" },
vehicle_top_speed = { "description.fuel-top-speed" },
view_base_fluid = { "gui.rb-view-base-fluid" },
view_details = { "gui.rb-view-details" },
view_details_in_new_window = { "gui.rb-view-details-in-new-window" },
view_fixed_recipe = { "gui.rb-view-fixed-recipe" },
view_fluid = { "gui.rb-view-fluid" },
view_ingredient_in = { "gui.rb-view-ingredient-in" },
view_product_details = { "gui.rb-view-product-details" },
view_product_of = { "gui.rb-view-product-of" },
view_required_fluid = { "gui.rb-view-required-fluid" },
view_technology = { "gui.rb-view-technology" },
}
constants.header_button_tooltips = {
quick_ref_button = {
selected = { "gui.rb-close-quick-ref-window" },
unselected = { "gui.rb-open-quick-ref-window" },
},
favorite_button = {
selected = { "gui.rb-remove-from-favorites" },
unselected = { "gui.rb-add-to-favorites" },
},
}
constants.ignored_info_ids = table.invert({
"_active_id",
"_next_id",
"_relative_id",
"_sticky_id", -- For legacy reasons
})
constants.ignored_cursor_inspection_types = {
["blueprint"] = true,
["blueprint-book"] = true,
["copy-paste-tool"] = true,
["deconstruction-item"] = true,
["selection-tool"] = true,
["upgrade-item"] = true,
}
-- NOTE: Modifiers must be in the order of "control", "shift" for those that are present
constants.interactions = {
entity = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
entity_type = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
},
equipment_category = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
equipment = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
fluid = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
{
modifiers = { "control" },
action = "view_source",
label = "view_base_fluid",
source = "base_fluid",
},
},
fuel_category = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
group = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
item = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
item_type = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
recipe_category = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
recipe = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
{
modifiers = { "control" },
action = "view_product_details",
test = function(obj_data, _)
return #obj_data.products == 1
end,
},
},
resource_category = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
},
resource = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
{
modifiers = { "control" },
action = "view_source",
label = "view_required_fluid",
source = "required_fluid",
},
},
technology = {
{ modifiers = {}, action = "view_details" },
{ button = "middle", modifiers = {}, action = "view_details_in_new_window" },
{
modifiers = { "shift" },
action = "get_blueprint",
test = function(_, options)
return options.blueprint_result
end,
},
{ modifiers = { "control" }, action = "open_in_technology_window" },
},
}
constants.input_sanitizers = {
["%%"] = "%%%%",
["%("] = "%%(",
["%)"] = "%%)",
["%.^[%*]"] = "%%.",
["%+"] = "%%+",
["%-"] = "%%-",
["^[%.]%*"] = "%%*",
["%?"] = "%%?",
["%["] = "%%[",
["%]"] = "%%]",
["%^"] = "%%^",
["%$"] = "%%$",
}
constants.interface_version = 4
constants.nav_event_properties = {
["rb-jump-to-front"] = { delta = 1, shift = true },
["rb-navigate-backward"] = { delta = -1 },
["rb-navigate-forward"] = { delta = 1 },
["rb-return-to-home"] = { delta = -1, shift = true },
}
constants.pages = {
entity = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "goto", source = "entity_type", options = { hide_glyph = true } },
{ type = "plain", source = "effect_area", formatter = "area" },
{ type = "plain", source = "distribution_effectivity", formatter = "percent" },
{ type = "plain", source = "module_slots", formatter = "number" },
{ type = "plain", source = "crafting_speed", formatter = "number" },
{ type = "goto", source = "fixed_recipe", options = { always_show = true, hide_glyph = true } },
{ type = "plain", source = "rocket_parts_required", formatter = "number" },
{ type = "plain", source = "ingredient_limit", formatter = "number" },
{ type = "plain", source = "fluid_consumption", formatter = "per_second" },
{ type = "plain", source = "maximum_temperature", formatter = "temperature" },
{ type = "plain", source = "max_energy_production", formatter = "energy" },
{
type = "plain",
source = "base_pollution",
label_tooltip = "base_pollution_desc",
formatter = "per_second",
},
{
type = "plain",
source = "researching_speed",
label = "research_speed",
label_tooltip = "research_speed_desc",
formatter = "number",
},
{ type = "plain", source = "mining_speed", formatter = "per_second" },
{ type = "plain", source = "mining_area", formatter = "area" },
{ type = "plain", source = "pumping_speed", formatter = "per_second" },
{ type = "goto", source = "fluid", options = { always_show = true, hide_glyph = true } },
{ type = "plain", source = "size", formatter = "area" },
},
},
{ type = "list_box", source = "expected_resources" },
{ type = "list_box", source = "can_mine" },
{ type = "list_box", source = "resource_categories", default_state = "hidden" },
{ type = "list_box", source = "can_craft", max_rows = 10 },
{ type = "list_box", source = "recipe_categories", default_state = "hidden" },
{ type = "list_box", source = "inputs" },
{ type = "list_box", source = "can_burn" },
{ type = "list_box", source = "fuel_categories", default_state = "hidden" },
{ type = "list_box", source = "accepted_modules", default_state = "hidden" },
{ type = "list_box", source = "accepted_equipment", default_state = "collapsed" },
{ type = "list_box", source = "equipment_categories", default_state = "hidden" },
{ type = "list_box", source = "unlocked_by" },
{ type = "list_box", source = "placed_by" },
},
entity_type = {
{ type = "list_box", source = "entities", max_rows = 16 },
},
equipment_category = {
{ type = "list_box", source = "equipment" },
},
equipment = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "goto", source = "take_result" },
{ type = "plain", source = "size", formatter = "area" },
},
},
{ type = "table", source = "equipment_properties" },
{ type = "list_box", source = "placed_in" },
{ type = "list_box", source = "can_burn" },
{ type = "list_box", source = "fuel_categories", default_state = "hidden" },
{ type = "list_box", source = "equipment_categories", default_state = "hidden" },
{ type = "list_box", source = "unlocked_by" },
},
fluid = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "plain", source = "default_temperature", formatter = "temperature" },
{ type = "plain", source = "fuel_value", formatter = "fuel_value" },
{ type = "plain", source = "fuel_pollution", formatter = "percent" },
{ type = "goto", source = "fuel_category", options = { hide_glyph = true }, default_state = false },
{ type = "goto", source = "group", options = { hide_glyph = true }, default_state = false },
},
},
{ type = "list_box", source = "ingredient_in" },
{ type = "list_box", source = "product_of" },
{ type = "list_box", source = "mined_from" },
{ type = "list_box", source = "pumped_by" },
{ type = "list_box", source = "burned_in" },
{ type = "list_box", source = "unlocked_by" },
{ type = "list_box", source = "temperatures", use_pairs = true },
},
fuel_category = {
{ type = "list_box", source = "fluids" },
{ type = "list_box", source = "items" },
},
group = {
{ type = "list_box", source = "fluids" },
{ type = "list_box", source = "items" },
{ type = "list_box", source = "recipes" },
},
item = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "goto", source = "item_type", options = { hide_glyph = true } },
{ type = "plain", source = "stack_size", formatter = "number" },
{ type = "plain", source = "fuel_value", formatter = "fuel_value" },
{
type = "plain",
source = "fuel_emissions_multiplier",
label = "fuel_pollution",
formatter = "percent",
},
{
type = "plain",
source = "fuel_acceleration_multiplier",
label = "vehicle_acceleration",
formatter = "percent",
},
{
type = "plain",
source = "fuel_top_speed_multiplier",
label = "vehicle_top_speed",
formatter = "percent",
},
{ type = "goto", source = "fuel_category", options = { hide_glyph = true }, default_state = false },
{ type = "goto", source = "burnt_result", options = { hide_glyph = true } },
{ type = "goto", source = "group", options = { hide_glyph = true }, default_state = false },
{ type = "goto", source = "place_result" },
{ type = "goto", source = "place_as_equipment_result" },
},
},
{ type = "table", source = "module_effects" },
{ type = "list_box", source = "ingredient_in" },
{ type = "list_box", source = "product_of" },
{ type = "list_box", source = "rocket_launch_product_of" },
{ type = "list_box", source = "rocket_launch_products" },
{ type = "list_box", source = "affects_recipes", default_state = "disabled" },
{ type = "list_box", source = "gathered_from" },
{ type = "list_box", source = "mined_from" },
{ type = "list_box", source = "researched_in" },
{ type = "list_box", source = "burned_in" },
{ type = "list_box", source = "burnt_result_of" },
{ type = "list_box", source = "accepted_equipment", default_state = "collapsed" },
{ type = "list_box", source = "equipment_categories", default_state = "hidden" },
{ type = "list_box", source = "unlocked_by" },
},
item_type = {
{ type = "list_box", source = "items", max_rows = 16 },
},
recipe_category = {
{ type = "list_box", source = "fluids" },
{ type = "list_box", source = "items" },
{ type = "list_box", source = "recipes" },
},
recipe = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "goto", source = "recipe_category", options = { hide_glyph = true }, default_state = false },
{ type = "goto", source = "group", options = { hide_glyph = true }, default_state = false },
{
type = "plain",
source = "energy",
label = "crafting_time",
label_tooltip = "crafting_time_desc",
formatter = "seconds_from_ticks",
},
{
type = "plain",
source = "pollution_multiplier",
formatter = "percent",
},
},
},
{ type = "list_box", source = "ingredients", always_show = true },
{ type = "list_box", source = "products", always_show = true },
{ type = "list_box", source = "made_in" },
{ type = "list_box", source = "unlocked_by" },
{ type = "list_box", source = "accepted_modules", default_state = "collapsed" },
},
resource_category = {
{ type = "list_box", source = "resources" },
{ type = "list_box", source = "mining_drills" },
},
resource = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "goto", source = "resource_category", options = { always_show = true, hide_glyph = true } },
{ type = "goto", source = "required_fluid", options = { always_show = true, hide_glyph = true } },
{ type = "plain", source = "mining_time", formatter = "seconds_from_ticks" },
},
},
{ type = "list_box", source = "products" },
{ type = "list_box", source = "mined_by" },
},
technology = {
{
type = "table",
label = "general",
hide_count = true,
rows = {
{ type = "plain", source = "research_unit_count", label = "required_units", formatter = "number" },
{
type = "tech_level_selector",
source = "research_unit_count_formula",
label = "tech_level",
label_tooltip = "tech_level_desc",
},
{
type = "tech_level_research_unit_count",
source = "research_unit_count_formula",
label = "required_units",
formatter = "number",
},
{
type = "plain",
source = "research_unit_energy",
label = "time_per_unit",
label_tooltip = "time_per_unit_desc",
formatter = "seconds_from_ticks",
},
},
},
{ type = "list_box", source = "research_ingredients_per_unit" },
{ type = "list_box", source = "unlocks_entities", default_state = "hidden" },
{ type = "list_box", source = "unlocks_equipment", default_state = "hidden" },
{ type = "list_box", source = "unlocks_fluids", default_state = "hidden" },
{ type = "list_box", source = "unlocks_items", default_state = "hidden" },
{ type = "list_box", source = "unlocks_recipes" },
{ type = "list_box", source = "prerequisites" },
{ type = "list_box", source = "prerequisite_of" },
},
}
constants.pages_arr = {}
for name in pairs(constants.pages) do
table.insert(constants.pages_arr, name)
end
constants.prototypes = {}
constants.prototypes.filtered_entities = {
beacon = { { filter = "type", type = "beacon" } },
character = { { filter = "type", type = "character" } },
crafter = {
{ filter = "type", type = "assembling-machine" },
{ filter = "type", type = "furnace" },
{ filter = "type", type = "rocket-silo" },
},
generator = { { filter = "type", type = "generator" } },
lab = { { filter = "type", type = "lab" } },
entity = {
{ filter = "type", type = "boiler" },
{ filter = "type", type = "burner-generator" },
{ filter = "type", type = "car" },
{ filter = "type", type = "inserter" },
{ filter = "type", type = "locomotive" },
{ filter = "type", type = "pump" },
{ filter = "type", type = "radar" },
{ filter = "type", type = "reactor" },
{ filter = "type", type = "simple-entity" },
{ filter = "type", type = "spider-vehicle" },
{ filter = "type", type = "tree" },
},
mining_drill = { { filter = "type", type = "mining-drill" } },
offshore_pump = { { filter = "type", type = "offshore-pump" } },
resource = { { filter = "type", type = "resource" } },
}
constants.prototypes.straight_conversions = {
"equipment",
"equipment_category",
"equipment_grid",
"fluid",
"fuel_category",
"item",
"item_group",
"module_category",
"recipe",
"recipe_category",
"resource_category",
"technology",
}
constants.search_gui_top_left_location = {
x = 10,
y = 68,
}
constants.search_results_limit = 500
constants.search_results_visible_items = 15
constants.search_timeout = 30
constants.session_history_size = 20
constants.settings_gui_rows = 24
constants.tooltips = {
entity = {
{ type = "plain", source = "effect_area", formatter = "area" },
{ type = "plain", source = "distribution_effectivity", formatter = "percent" },
{ type = "plain", source = "module_slots", formatter = "number" },
{ type = "plain", source = "crafting_speed", formatter = "number" },
{ type = "plain", source = "fixed_recipe", formatter = "object", options = { hide_glyph = true } },
{ type = "plain", source = "rocket_parts_required", formatter = "number" },
{ type = "plain", source = "ingredient_limit", formatter = "number" },
{ type = "plain", source = "research_speed", formatter = "number" },
{ type = "list", source = "inputs", formatter = "object", options = { hide_glyph = true } },
{ type = "plain", source = "mining_speed", formatter = "per_second" },
{ type = "plain", source = "mining_area", formatter = "area" },
{ type = "plain", source = "pumping_speed", formatter = "per_second" },
{
type = "plain",
source = "fluid",
formatter = "object",
options = { always_show = true, hide_glyph = true },
},
},
entity_type = {},
equipment_category = {},
equipment = {
{ type = "plain", source = "size", formatter = "area" },
{ type = "plain", source = "energy_consumption", formatter = "energy" },
{ type = "plain", source = "energy_production", formatter = "energy" },
},
fluid = {
{ type = "plain", source = "default_temperature", formatter = "temperature" },
{ type = "plain", source = "fuel_value", formatter = "fuel_value" },
{ type = "plain", source = "fuel_pollution", formatter = "percent" },
{ type = "plain", source = "group", formatter = "object", options = { hide_glyph = true } },
},
fuel_category = {},
group = {},
item = {
{ type = "plain", source = "stack_size", formatter = "number" },
{ type = "plain", source = "fuel_value", formatter = "fuel_value" },
{ type = "plain", source = "fuel_emissions_multiplier", label = "fuel_pollution", formatter = "percent" },
{
type = "plain",
source = "fuel_acceleration_multiplier",
label = "vehicle_acceleration",
formatter = "percent",
},
{ type = "plain", source = "fuel_top_speed_multiplier", label = "vehicle_top_speed", formatter = "percent" },
{ type = "plain", source = "group", formatter = "object", options = { hide_glyph = true } },
},
item_type = {},
recipe_category = {},
recipe = {
{ type = "plain", source = "group", formatter = "object", options = { hide_glyph = true } },
{ type = "plain", source = "energy", label = "crafting_time", formatter = "seconds_from_ticks" },
{ type = "list", source = "ingredients", formatter = "object", options = { always_show = true } },
{ type = "list", source = "products", formatter = "object", options = { always_show = true } },
},
resource = {
{
type = "plain",
source = "required_fluid",
formatter = "object",
options = { always_show = true, hide_glyph = true },
},
{ type = "plain", source = "mining_time", formatter = "seconds_from_ticks" },
{ type = "list", source = "products", formatter = "object" },
},
resource_category = {},
technology = {
{ type = "plain", source = "research_unit_count", label = "required_units", formatter = "number" },
{ type = "plain", source = "research_unit_energy", label = "time_per_unit", formatter = "seconds_from_ticks" },
{
type = "list",
source = "research_ingredients_per_unit",
formatter = "object",
options = { always_show = true },
},
},
}
return constants