Prototype/TransportBeltConnectable

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: https://lua-api.factorio.com/latest/prototypes/TransportBeltConnectablePrototype.html

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
speed::double
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
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Extensions

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithOwner.

speed

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

animation_speed_coefficient

Type: double
Default: 1

belt_animation_set

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

belt_horizontal

Type: Animation
Mandatory if belt_animation_set is not present.

belt_vertical

Type: Animation
Mandatory if belt_animation_set is not present.

ending_top

Type: Animation
Mandatory if belt_animation_set is not present.

ending_bottom

Type: Animation
Mandatory if belt_animation_set is not present.

ending_side

Type: Animation
Mandatory if belt_animation_set is not present.

starting_top

Type: Animation
Mandatory if belt_animation_set is not present.

starting_bottom

Type: Animation
Mandatory if belt_animation_set is not present.

starting_side

Type: Animation
Mandatory if belt_animation_set is not present.

ending_patch

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

ends_with_stopper

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.