Factorio Prototype DocsVersion 2.0.19

UtilityConstants 'utility-constants' changed

Constants used by the game that are not specific to certain prototypes. See utility-constants.lua for the values used by the base game.

Prototype limited to 1 total instances.

Inherits from PrototypeBase

Properties

entity_button_background_color :: Color
building_buildable_too_far_tint :: Color
building_buildable_tint :: Color
building_not_buildable_tint :: Color
building_ignorable_tint :: Color
building_no_tint :: Color
underground_belt_max_distance_tintnew :: Color
underground_pipe_max_distance_tintnew :: Color
ghost_shader_tintnew :: GhostTintSet
ghost_shaderless_tintnew :: GhostTintSet
ghost_shimmer_settingsnew :: GhostShimmerConfig
probability_product_count_tintnew :: Color
zero_count_value_tintnew :: Color
equipment_default_background_color :: Color
equipment_default_background_border_color :: Color
equipment_default_grabbed_background_color :: Color
turret_range_visualization_color :: Color
capsule_range_visualization_color :: Color
agricultural_range_visualization_colornew :: Color
artillery_range_visualization_color :: Color
chart :: ChartUtilityConstants

Chart means map and minimap.

Chart means map and minimap.

gui_remark_color :: Color
gui_search_match_foreground_colornew :: Color
gui_search_match_background_colornew :: Color
default_player_force_color :: Color
default_enemy_force_color :: Color
default_other_force_color :: Color
deconstruct_mark_tint :: Color
rail_planner_count_button_color :: Color
count_button_size :: int32
logistic_gui_unselected_network_highlight_tintnew :: Color
logistic_gui_selected_network_highlight_tintnew :: Color
chart_search_highlightnew :: Color
selected_chart_search_highlightnew :: Color
zoom_to_world_can_use_nightvision :: bool
zoom_to_world_effect_strength :: float
max_logistic_filter_countnew :: LogisticFilterIndex
max_terrain_building_size :: uint8
small_area_size :: float
medium_area_size :: float
large_area_sizenew :: float
small_blueprint_area_size :: float
medium_blueprint_area_size :: float
large_blueprint_area_sizenew :: float
enabled_recipe_slot_tint :: Color
disabled_recipe_slot_tint :: Color
disabled_recipe_slot_background_tint :: Color
forced_enabled_recipe_slot_background_tint :: Color
rail_segment_colors :: array[Color]
player_colors :: array[PlayerColorData]

The table with name = "default" must exist and be the first member of the array.

The table with name = "default" must exist and be the first member of the array.

server_command_console_chat_color :: Color
script_command_console_chat_color :: Color
default_alert_icon_scale :: float
default_alert_icon_shift_by_type optional :: dictionary[string → Vector]
default_alert_icon_scale_by_type optional :: dictionary[string → float]
bonus_gui_ordering :: BonusGuiOrdering

The base game uses more entries here that are applied via the ammo-category.lua file.

The base game uses more entries here that are applied via the ammo-category.lua file.

daytime_color_lookup :: DaytimeColorLookupTable
zoom_to_world_daytime_color_lookup :: DaytimeColorLookupTable
frozen_color_lookupnew :: ColorLookupTable
map_editor :: MapEditorConstants
drop_item_radiusnew :: float
checkerboard_white :: Color
checkerboard_black :: Color
item_outline_color :: Color
item_outline_radius :: float
item_outline_inset :: float
item_outline_sharpness :: float
item_default_random_tint_strengthnew :: Color
spawner_evolution_factor_health_modifiernew :: float
item_health_bar_colorsnew :: array[ItemHealthColorData]

There must be one array item with a threshold of 0.

There must be one array item with a threshold of 0.

item_ammo_magazine_left_bar_colornew :: Color
item_tool_durability_bar_colornew :: Color
filter_outline_color :: Color
icon_shadow_radius :: float
icon_shadow_inset :: float
icon_shadow_sharpness :: float
icon_shadow_color :: Color
clipboard_history_size :: uint32
recipe_step_limit :: uint32
manual_rail_building_reach_modifier :: double
train_temporary_stop_wait_time :: uint32
train_time_wait_condition_default :: uint32
train_inactivity_wait_condition_default :: uint32
default_trigger_target_mask_by_type optional :: dictionary[string → TriggerTargetMask]

The strings are entity types.

The strings are entity types.

unit_group_pathfind_resolution :: int8
unit_group_max_pursue_distance :: double
dynamic_recipe_overload_factor :: double
minimum_recipe_overload_multiplier :: uint32
maximum_recipe_overload_multiplier :: uint32
entity_renderer_search_box_limits :: EntityRendererSearchBoxLimits
light_renderer_search_distance_limit :: uint8

Can be set to anything from range 0 to 255, but larger values will be clamped to 160. [...]

Can be set to anything from range 0 to 255, but larger values will be clamped to 160. [...]

tree_leaf_distortion_strength_far :: Vector
tree_leaf_distortion_distortion_far :: Vector
tree_leaf_distortion_speed_far :: Vector
tree_leaf_distortion_strength_near :: Vector
tree_leaf_distortion_distortion_near :: Vector
tree_leaf_distortion_speed_near :: Vector
tree_shadow_roughness :: float
tree_shadow_speed :: float
missing_preview_sprite_location :: FileName
main_menu_background_image_location :: FileName
main_menu_simulations optional :: dictionary[string → SimulationDefinition]

The strings represent the names of the simulations.

The strings represent the names of the simulations.

main_menu_background_vignette_intensity :: float
main_menu_background_vignette_sharpness :: float
default_scorch_mark_color :: Color
color_filters optional :: array[ColorFilterData]
minimap_slot_hovered_tintnew :: Color
minimap_slot_clicked_tintnew :: Color
clear_cursor_volume_modifiernew :: float
weapons_in_simulation_volume_modifiernew :: float
explosions_in_simulation_volume_modifiernew :: float
enemies_in_simulation_volume_modifiernew :: float
low_energy_robot_estimate_multipliernew :: double
asteroid_spawning_offsetnew :: SimpleBoundingBox
asteroid_fading_rangenew :: float
asteroid_spawning_with_random_orientation_max_speednew :: double
asteroid_position_offset_to_speed_coefficientnew :: double
asteroid_collector_navmesh_refresh_tick_intervalnew :: uint32
asteroid_collector_blockage_update_tile_distancenew :: uint32
asteroid_collector_max_nurbs_control_point_separationnew :: double
asteroid_collector_static_head_swing_strength_scalenew :: double
asteroid_collector_static_head_swing_segment_countnew :: uint32
space_platform_default_speed_formulanew :: MathExpression

Variables: speed, thrust, weight, width, height

Variables: speed, thrust, weight, width, height

space_platform_relative_speed_factornew :: double
space_platform_starfield_movement_vectornew :: Vector
space_platform_max_sizenew :: SimpleBoundingBox
space_platform_dump_cooldownnew :: uint32

Determines how fast space platforms will send items in trash slots to the surface. [...]

Determines how fast space platforms will send items in trash slots to the surface. [...]

default_item_weightnew :: Weight
rocket_lift_weightnew :: Weight
max_fluid_flownew :: FluidAmount
default_pipeline_extentnew :: double

The default value of FluidBox::max_pipeline_extent.

The default value of FluidBox::max_pipeline_extent.

default_planet_procession_setnew :: ProcessionSet

Must contain arrival and departure with procession_style containing 0.

Must contain arrival and departure with procession_style containing 0.

default_platform_procession_setnew :: ProcessionSet

Must contain arrival and departure with procession_style containing 0.

Must contain arrival and departure with procession_style containing 0.

landing_area_clear_zone_radiusnew :: float

Radius of area where cargo pods won't land.

Radius of area where cargo pods won't land.

landing_area_max_radiusnew :: float

Max radius where cargo pods will land.

Max radius where cargo pods will land.

lightning_attractor_collection_range_colornew :: Color
lightning_attractor_protection_range_colornew :: Color
ejected_item_lifetimenew :: MapTick

Silently clamped to be between 1 tick and 5 minutes (5 * 60 * 60 ticks).

Silently clamped to be between 1 tick and 5 minutes (5 * 60 * 60 ticks).

ejected_item_speednew :: double

Silently clamped to be between 0 and 1/60.

Silently clamped to be between 0 and 1/60.

ejected_item_direction_variationnew :: double

Silently clamped to be between 0 and 0.99.

Silently clamped to be between 0 and 0.99.

ejected_item_frictionnew :: double

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

train_visualizationnew :: TrainVisualizationConstants
default_collision_masksnew :: dictionary[string → CollisionMaskConnector]

The strings can be entity types or custom strings.

The strings can be entity types or custom strings.

show_chunk_components_collision_masknew :: CollisionMaskConnector
building_collision_masknew :: CollisionMaskConnector
water_collision_masknew :: CollisionMaskConnector
ghost_layernew :: CollisionLayerID
train_pushed_by_player_max_speednew :: double
train_pushed_by_player_max_accelerationnew :: double
train_pushed_by_player_ignores_frictionnew :: bool
freezing_temperaturenew :: double
train_on_elevated_rail_shadow_shift_multipliernew :: Vector
select_group_row_count :: uint8

Must be in range [1, 100].

Must be in range [1, 100].

select_slot_row_countchanged :: uint8

Must be in range [1, 100].

Must be in range [1, 100].

inventory_width :: uint32

Must be in range [1, 100].

Must be in range [1, 100].

module_inventory_width :: uint32

Must be in range [1, 100].

Must be in range [1, 100].

tooltip_monitor_edge_border :: int32

Must be >= 1.

Must be >= 1.

flying_text_ttl :: uint32

Must be >= 1.

Must be >= 1.

train_path_finding :: TrainPathFinderConstants
max_belt_stack_sizenew :: uint8

Must be >= 1.

Must be >= 1.

inserter_hand_stack_items_per_spritenew :: ItemCountType

Must be >= 1.

Must be >= 1.

inserter_hand_stack_max_spritesnew :: ItemCountType

Must be >= 1.

Must be >= 1.

remote_view_LPF_min_cutoff_frequencynew :: float
remote_view_LPF_max_cutoff_frequencynew :: float
walking_sound_count_reduction_ratenew :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

moving_sound_count_reduction_ratenew :: float

Silently clamped to be between 0 and 1.

Silently clamped to be between 0 and 1.

music_transition_fade_out_ticksnew :: uint32
music_transition_pause_ticksnew :: uint32
music_transition_fade_in_ticksnew :: uint32
environment_sounds_transition_fade_in_ticksnew :: uint32
time_to_show_full_health_barnew :: MapTick

The number of ticks to show a segmented unit's health bar after fully regenerating.

The number of ticks to show a segmented unit's health bar after fully regenerating.

Inherited from PrototypeBase
type :: string

Specifies the kind of prototype this is. [...]

Specifies the kind of prototype this is. [...]

name :: string

Unique textual identification of the prototype. [...]

Unique textual identification of the prototype. [...]

order optional :: Order

Used to order prototypes in inventory, recipes and GUIs. [...]

Used to order prototypes in inventory, recipes and GUIs. [...]

localised_name optional :: LocalisedString

Overwrites the name set in the locale file. [...]

Overwrites the name set in the locale file. [...]

localised_description optional :: LocalisedString

Overwrites the description set in the locale file. [...]

Overwrites the description set in the locale file. [...]

factoriopedia_descriptionnew optional :: LocalisedString

Provides additional description used in factoriopedia.

Provides additional description used in factoriopedia.

subgroupnew optional :: ItemSubGroupID

The name of an ItemSubGroup.

The name of an ItemSubGroup.

hiddennew optional :: bool
hidden_in_factoriopedianew optional :: bool
parameternew optional :: bool

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

Whether the prototype is a special type which can be used to parametrize blueprints and doesn't have other function.

factoriopedia_simulationnew optional :: SimulationDefinition

The simulation shown when looking at this prototype in the Factoriopedia GUI.

The simulation shown when looking at this prototype in the Factoriopedia GUI.

Properties

entity_button_background_color :: Color

building_buildable_too_far_tint :: Color

building_buildable_tint :: Color

building_not_buildable_tint :: Color

building_ignorable_tint :: Color

building_no_tint :: Color

underground_belt_max_distance_tint :: Colornew

underground_pipe_max_distance_tint :: Colornew

ghost_shader_tint :: GhostTintSetnew

ghost_shaderless_tint :: GhostTintSetnew

ghost_shimmer_settings :: GhostShimmerConfignew

probability_product_count_tint :: Colornew

zero_count_value_tint :: Colornew

equipment_default_background_color :: Color

equipment_default_background_border_color :: Color

equipment_default_grabbed_background_color :: Color

turret_range_visualization_color :: Color

capsule_range_visualization_color :: Color

agricultural_range_visualization_color :: Colornew

artillery_range_visualization_color :: Color

chart :: ChartUtilityConstants

Chart means map and minimap.

gui_remark_color :: Color

gui_search_match_foreground_color :: Colornew

gui_search_match_background_color :: Colornew

default_player_force_color :: Color

default_enemy_force_color :: Color

default_other_force_color :: Color

deconstruct_mark_tint :: Color

rail_planner_count_button_color :: Color

count_button_size :: int32

logistic_gui_unselected_network_highlight_tint :: Colornew

logistic_gui_selected_network_highlight_tint :: Colornew

chart_search_highlight :: Colornew

selected_chart_search_highlight :: Colornew

zoom_to_world_can_use_nightvision :: bool

zoom_to_world_effect_strength :: float

max_logistic_filter_count :: LogisticFilterIndexnew

max_terrain_building_size :: uint8

small_area_size :: float

medium_area_size :: float

large_area_size :: floatnew

small_blueprint_area_size :: float

medium_blueprint_area_size :: float

large_blueprint_area_size :: floatnew

enabled_recipe_slot_tint :: Color

disabled_recipe_slot_tint :: Color

disabled_recipe_slot_background_tint :: Color

forced_enabled_recipe_slot_background_tint :: Color

rail_segment_colors :: array[Color]

player_colors :: array[PlayerColorData]

The table with name = "default" must exist and be the first member of the array.

PlayerColorData :: struct

Properties

name :: string

player_color :: Color

chat_color :: Color

server_command_console_chat_color :: Color

script_command_console_chat_color :: Color

default_alert_icon_scale :: float

default_alert_icon_shift_by_type :: dictionary[string → Vector] optional

default_alert_icon_scale_by_type :: dictionary[string → float] optional

bonus_gui_ordering :: BonusGuiOrdering

The base game uses more entries here that are applied via the ammo-category.lua file.

BonusGuiOrdering :: struct

Properties

artillery_range :: Order

worker_robots :: Order

character :: Order

follower_robots :: Order

research_speed :: Order

beacon_distribution :: Order

inserter :: Order

stack_inserter :: Order

bulk_inserter :: Order

turret_attack :: Order

mining_productivity :: Order

train_braking_force :: Order

daytime_color_lookup :: DaytimeColorLookupTable

zoom_to_world_daytime_color_lookup :: DaytimeColorLookupTable

frozen_color_lookup :: ColorLookupTablenew

map_editor :: MapEditorConstants

MapEditorConstants :: struct

Properties

clone_editor_copy_source_color :: Color

clone_editor_copy_destination_allowed_color :: Color

clone_editor_copy_destination_not_allowed_color :: Color

clone_editor_brush_source_color :: Color

clone_editor_brush_destination_color :: Color

clone_editor_brush_cursor_preview_tint :: Color

clone_editor_brush_world_preview_tint :: Color

script_editor_select_area_color :: Color

script_editor_drag_area_color :: Color

force_editor_select_area_color :: Color

cliff_editor_remove_cliffs_color :: Color

tile_editor_selection_preview_tint :: Color

tile_editor_area_selection_color :: Color

decorative_editor_selection_preview_tint :: Color

tile_editor_selection_preview_radius :: uint8

decorative_editor_selection_preview_radius :: uint8

drop_item_radius :: floatnew

checkerboard_white :: Color

checkerboard_black :: Color

item_outline_color :: Color

item_outline_radius :: float

item_outline_inset :: float

item_outline_sharpness :: float

item_default_random_tint_strength :: Colornew

spawner_evolution_factor_health_modifier :: floatnew

item_health_bar_colors :: array[ItemHealthColorData] new

There must be one array item with a threshold of 0.

ItemHealthColorData :: struct

Properties

threshold :: float

Cannot be negative.

color :: Color

item_ammo_magazine_left_bar_color :: Colornew

item_tool_durability_bar_color :: Colornew

filter_outline_color :: Color

icon_shadow_radius :: float

icon_shadow_inset :: float

icon_shadow_sharpness :: float

icon_shadow_color :: Color

clipboard_history_size :: uint32

recipe_step_limit :: uint32

manual_rail_building_reach_modifier :: double

train_temporary_stop_wait_time :: uint32

train_time_wait_condition_default :: uint32

train_inactivity_wait_condition_default :: uint32

default_trigger_target_mask_by_type :: dictionary[string → TriggerTargetMask] optional

The strings are entity types.

unit_group_pathfind_resolution :: int8

unit_group_max_pursue_distance :: double

dynamic_recipe_overload_factor :: double

minimum_recipe_overload_multiplier :: uint32

maximum_recipe_overload_multiplier :: uint32

entity_renderer_search_box_limits :: EntityRendererSearchBoxLimits

EntityRendererSearchBoxLimits :: struct

How far (in tiles) entities should be rendered outside the visible area of the screen.

Properties

left :: uint8

Min value 6, max value 15. Min value 6 to compensate for shadows.

top :: uint8

Min value 3, max value 15.

right :: uint8

Min value 3, max value 15.

bottom :: uint8

Min value 4, max value 15. Min value 4 to compensate for tall entities like electric poles.

light_renderer_search_distance_limit :: uint8

Can be set to anything from range 0 to 255, but larger values will be clamped to 160. Setting it to larger values can have performance impact (growing geometrically).

tree_leaf_distortion_strength_far :: Vector

tree_leaf_distortion_distortion_far :: Vector

tree_leaf_distortion_speed_far :: Vector

tree_leaf_distortion_strength_near :: Vector

tree_leaf_distortion_distortion_near :: Vector

tree_leaf_distortion_speed_near :: Vector

tree_shadow_roughness :: float

tree_shadow_speed :: float

missing_preview_sprite_location :: FileName

default_scorch_mark_color :: Color

color_filters :: array[ColorFilterData] optional

ColorFilterData :: struct

Properties

name :: string

localised_name :: LocalisedString

matrix :: array[array[float]]

4 arrays of 4-length float arrays, essentially a 4x4 matrix.

minimap_slot_hovered_tint :: Colornew

minimap_slot_clicked_tint :: Colornew

clear_cursor_volume_modifier :: floatnew

weapons_in_simulation_volume_modifier :: floatnew

explosions_in_simulation_volume_modifier :: floatnew

enemies_in_simulation_volume_modifier :: floatnew

low_energy_robot_estimate_multiplier :: doublenew

asteroid_spawning_offset :: SimpleBoundingBoxnew

asteroid_fading_range :: floatnew

asteroid_spawning_with_random_orientation_max_speed :: doublenew

asteroid_position_offset_to_speed_coefficient :: doublenew

asteroid_collector_navmesh_refresh_tick_interval :: uint32new

asteroid_collector_blockage_update_tile_distance :: uint32new

asteroid_collector_max_nurbs_control_point_separation :: doublenew

asteroid_collector_static_head_swing_strength_scale :: doublenew

asteroid_collector_static_head_swing_segment_count :: uint32new

space_platform_default_speed_formula :: MathExpressionnew

Variables: speed, thrust, weight, width, height

space_platform_relative_speed_factor :: doublenew

space_platform_starfield_movement_vector :: Vectornew

space_platform_max_size :: SimpleBoundingBoxnew

space_platform_dump_cooldown :: uint32new

Determines how fast space platforms will send items in trash slots to the surface. Each item type has its own cooldown.

default_item_weight :: Weightnew

rocket_lift_weight :: Weightnew

max_fluid_flow :: FluidAmountnew

default_pipeline_extent :: doublenew

The default value of FluidBox::max_pipeline_extent.

default_planet_procession_set :: ProcessionSetnew

Must contain arrival and departure with procession_style containing 0.

default_platform_procession_set :: ProcessionSetnew

Must contain arrival and departure with procession_style containing 0.

landing_area_clear_zone_radius :: floatnew

Radius of area where cargo pods won't land.

landing_area_max_radius :: floatnew

Max radius where cargo pods will land.

lightning_attractor_collection_range_color :: Colornew

lightning_attractor_protection_range_color :: Colornew

ejected_item_lifetime :: MapTicknew

Silently clamped to be between 1 tick and 5 minutes (5 * 60 * 60 ticks).

ejected_item_speed :: doublenew

Silently clamped to be between 0 and 1/60.

ejected_item_direction_variation :: doublenew

Silently clamped to be between 0 and 0.99.

ejected_item_friction :: doublenew

Silently clamped to be between 0 and 1.

train_visualization :: TrainVisualizationConstantsnew

default_collision_masks :: dictionary[string → CollisionMaskConnector] new

The strings can be entity types or custom strings.

show_chunk_components_collision_mask :: CollisionMaskConnectornew

building_collision_mask :: CollisionMaskConnectornew

water_collision_mask :: CollisionMaskConnectornew

ghost_layer :: CollisionLayerIDnew

train_pushed_by_player_max_speed :: doublenew

train_pushed_by_player_max_acceleration :: doublenew

train_pushed_by_player_ignores_friction :: boolnew

freezing_temperature :: doublenew

train_on_elevated_rail_shadow_shift_multiplier :: Vectornew

select_group_row_count :: uint8

Must be in range [1, 100].

select_slot_row_count :: uint8changed

Must be in range [1, 100].

inventory_width :: uint32

Must be in range [1, 100].

module_inventory_width :: uint32

Must be in range [1, 100].

tooltip_monitor_edge_border :: int32

Must be >= 1.

flying_text_ttl :: uint32

Must be >= 1.

train_path_finding :: TrainPathFinderConstants

TrainPathFinderConstants :: struct

Properties

train_stop_penalty :: uint32

stopped_manually_controlled_train_penalty :: uint32

stopped_manually_controlled_train_without_passenger_penalty :: uint32

signal_reserved_by_circuit_network_penalty :: uint32

train_in_station_penalty :: uint32

train_in_station_with_no_other_valid_stops_in_schedule :: uint32

train_arriving_to_station_penalty :: uint32

train_arriving_to_signal_penalty :: uint32

train_waiting_at_signal_penalty :: uint32

train_waiting_at_signal_tick_multiplier_penalty :: float

Must be >= 0.

train_with_no_path_penalty :: uint32

train_auto_without_schedule_penalty :: uint32

max_belt_stack_size :: uint8new

Must be >= 1.

inserter_hand_stack_items_per_sprite :: ItemCountTypenew

Must be >= 1.

inserter_hand_stack_max_sprites :: ItemCountTypenew

Must be >= 1.

remote_view_LPF_min_cutoff_frequency :: floatnew

remote_view_LPF_max_cutoff_frequency :: floatnew

walking_sound_count_reduction_rate :: floatnew

Silently clamped to be between 0 and 1.

moving_sound_count_reduction_rate :: floatnew

Silently clamped to be between 0 and 1.

music_transition_fade_out_ticks :: uint32new

music_transition_pause_ticks :: uint32new

music_transition_fade_in_ticks :: uint32new

environment_sounds_transition_fade_in_ticks :: uint32new

time_to_show_full_health_bar :: MapTicknew

The number of ticks to show a segmented unit's health bar after fully regenerating.

Prototypes

Types

Defines