From Official Factorio Wiki
Jump to navigation Jump to search

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here:

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/TransportBeltConnectable

Abstract class that anything that is a belt or can connect to belts uses.

Prototype/TransportBeltConnectable — abstract
animation_speed_coefficient::double (optional)
belt_animation_set::table (optional)
belt_horizontal::Animation (optional)
belt_vertical::Animation (optional)
ending_bottom::Animation (optional)
ending_patch::Sprite4Way (optional)
ending_side::Animation (optional)
ending_top::Animation (optional)
ends_with_stopper::bool (optional)
starting_bottom::Animation (optional)
starting_side::Animation (optional)
starting_top::Animation (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)


Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithOwner.


Type: double
The speed of the belt (since 0.17): speed × 480 = x Items/second

The raw value is expressed as the number of tiles traveled by each item on the belt per tick, relative to the belt's maximum density - e.g. x items/second ÷ (4 items/lane × 2 lanes/belt × 60 ticks/second) = <speed> belts/tick where a "belt" is the size of one tile. See Transport_belts/Physics for more details.

Must be a positive non-infinite number. The number is a fixed point number with 8 bits reserved for decimal precision, meaning the smallest value step is 1/2^8 = 0.00390625. In the simple case of a non-curved belt, the rate is multiples of 1.875 items / s, even though the entity tooltip may show a different rate.

Optional properties


Type: double
Default: 1


Type: table
Either this, or all of the properties below this one have to be present.

Table with the following properties:

  • animation_set - RotatedAnimation - Mandatory.
  • east_index - uint8 - Optional. - Default: 1
  • west_index - uint8 - Optional. - Default: 2
  • north_index - uint8 - Optional. - Default: 3
  • south_index - uint8 - Optional. - Default: 4
  • starting_south_index - uint8 - Optional. - Default: 13
  • ending_south_index - uint8 - Optional. - Default: 14
  • starting_west_index - uint8 - Optional. - Default: 15
  • ending_west_index - uint8 - Optional. - Default: 16
  • starting_north_index - uint8 - Optional. - Default: 17
  • ending_north_index - uint8 - Optional. - Default: 18
  • starting_east_index - uint8 - Optional. - Default: 19
  • ending_east_index - uint8 - Optional. - Default: 20
  • ending_patch - Sprite4Way - Optional.
  • ends_with_stopper - bool - Optional. - Default: false


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Animation
Mandatory if belt_animation_set is not present.


Type: Sprite4Way
Always optional. Only read if belt_animation_set is not present.


Type: bool
Default: false

Mandatory values

Transport belt connectables have additional requirements for the properties inherited from Prototype/Entity:

  • Transport belt connectable entities must collide with "transport-belt-layer".
  • Transport belt connectable entities must have collision mask that collides with itself.
  • Transport belt connectable entities cannot have collision mask that collides only with tiles (must collide with entities in some way).
  • Transport belt connectable entities must have collision box of an appropriate minimal size, they should occupy more than half of every tile the entity covers.
  • Transport belt connectable entities cannot have the "placeable-off-grid" flag specified.