Prototype/TransportBeltConnectable: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Set prototype parent)
(1.1.6)
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
{{Prototype parent|Prototype/EntityWithHealth}}
Abstract class that anything that is a belt or can connect to belts uses.


== Basics ==
{{Prototype TOC|''abstract''}}
This type is abstract and cannot be created directly.
 
Abstract class that anything that is a belt or can connect to belts uses. Extends [[Prototype/EntityWithHealth]].


== Extensions ==
== Extensions ==


* [[Prototype/Loader]] '''loader'''
* [[Prototype/LinkedBelt]] '''linked-belt'''
* [[Prototype/Loader1x1]] '''loader-1x1'''
* [[Prototype/Loader1x2]] '''loader'''
* [[Prototype/Splitter]] '''splitter'''
* [[Prototype/Splitter]] '''splitter'''
* [[Prototype/TransportBelt]] '''transport-belt'''
* [[Prototype/TransportBelt]] '''transport-belt'''
Line 16: Line 16:
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].


=== speed ===
{{Prototype property|speed|[[Types/double|double]]}}
'''Type''': [[Types/double]]
 
The speed of the belt (since 0.17): <code>speed × 480 = x Items/second</code>
The speed of the belt (since 0.17): <code>speed × 480 = x Items/second</code>


Line 25: Line 23:
== Optional properties ==
== Optional properties ==


=== animation_speed_coefficient ===
{{Prototype property|animation_speed_coefficient|[[Types/double|double]]|1|optional=true}}
'''Type''': [[Types/double]]
 
'''Default''': 1
 
=== belt_animation_set ===
'''Type''': [[Types/table]]


{{Prototype property|belt_animation_set|[[Types/table|table]]|optional=true}}
Either this, or all of the properties below this one have to present.
Either this, or all of the properties below this one have to present.


Table with the following properties:
Table with the following properties:


* animation_set - [[Types/RotatedAnimation]] - Mandatory.
* animation_set - [[Types/RotatedAnimation|RotatedAnimation]] - Mandatory.
* east_index - [[Types/uint8]] - Optional. - Default: 1
* east_index - [[Types/uint8|uint8]] - Optional. - Default: 1
* west_index - [[Types/uint8]] - Optional. - Default: 2
* west_index - [[Types/uint8|uint8]] - Optional. - Default: 2
* north_index - [[Types/uint8]] - Optional. - Default: 3
* north_index - [[Types/uint8|uint8]] - Optional. - Default: 3
* south_index - [[Types/uint8]] - Optional. - Default: 4
* south_index - [[Types/uint8|uint8]] - Optional. - Default: 4
* starting_south_index - [[Types/uint8]] - Optional. - Default: 13
* starting_south_index - [[Types/uint8|uint8]] - Optional. - Default: 13
* ending_south_index - [[Types/uint8]] - Optional. - Default: 14
* ending_south_index - [[Types/uint8|uint8]] - Optional. - Default: 14
* starting_west_index - [[Types/uint8]] - Optional. - Default: 15
* starting_west_index - [[Types/uint8|uint8]] - Optional. - Default: 15
* ending_west_index - [[Types/uint8]] - Optional. - Default: 16
* ending_west_index - [[Types/uint8|uint8]] - Optional. - Default: 16
* starting_north_index - [[Types/uint8]] - Optional. - Default: 17
* starting_north_index - [[Types/uint8|uint8]] - Optional. - Default: 17
* ending_north_index - [[Types/uint8]] - Optional. - Default: 18
* ending_north_index - [[Types/uint8|uint8]] - Optional. - Default: 18
* starting_east_index - [[Types/uint8]] - Optional. - Default: 19
* starting_east_index - [[Types/uint8|uint8]] - Optional. - Default: 19
* ending_east_index - [[Types/uint8]] - Optional. - Default: 20
* ending_east_index - [[Types/uint8|uint8]] - Optional. - Default: 20
* ending_patch - [[Types/Sprite4Way]] - Optional.
* ending_patch - [[Types/Sprite4Way|Sprite4Way]] - Optional.
* ends_with_stopper - [[Types/bool]] - Optional. - Default: false
* ends_with_stopper - [[Types/bool|bool]] - Optional. - Default: false
 
=== belt_horizontal ===
'''Type''': [[Types/Animation]]


{{Prototype property|belt_horizontal|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== belt_vertical ===
{{Prototype property|belt_vertical|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== ending_top ===
{{Prototype property|ending_top|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== ending_bottom ===
{{Prototype property|ending_bottom|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== ending_side ===
{{Prototype property|ending_side|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== starting_top ===
{{Prototype property|starting_top|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== starting_bottom ===
{{Prototype property|starting_bottom|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== starting_side ===
{{Prototype property|starting_side|[[Types/Animation|Animation]]|optional=true}}
'''Type''': [[Types/Animation]]
 
Mandatory if <code>belt_animation_set</code> is not present.
Mandatory if <code>belt_animation_set</code> is not present.


=== ending_patch ===
{{Prototype property|ending_patch|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
'''Type''': [[Types/Sprite4Way]]
 
Always optional. Only read if <code>belt_animation_set</code> is not present.
Always optional. Only read if <code>belt_animation_set</code> is not present.


=== ends_with_stopper ===
{{Prototype property|ends_with_stopper|[[Types/bool|bool]]|false|optional=true}}
'''Type''': [[Types/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 [[Types/CollisionMask#Layers|"transport-belt-layer"]].
* Transport belt connectable entities must have [[Types/CollisionMask#Collision_options|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 [[Types/EntityPrototypeFlags#.22placeable-off-grid.22|"placeable-off-grid"]] flag specified.

Revision as of 19:46, 14 December 2020

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/EntityWithHealth.

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.

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 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.