Prototype/TransportBeltConnectable: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(1.1: Collision requirements)
(Removed old prototype docs)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
<div class="stub"><p>'''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 https://lua-api.factorio.com/latest/prototypes/TransportBeltConnectablePrototype.html]
Abstract class that anything that is a belt or can connect to belts uses.


{{Prototype TOC|''abstract''}}
</p><p>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 [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
 
== Extensions ==
 
* [[Prototype/Loader1x1]] '''loader-1x1'''
* [[Prototype/Loader1x2]] '''loader'''
* [[Prototype/Splitter]] '''splitter'''
* [[Prototype/TransportBelt]] '''transport-belt'''
* [[Prototype/UndergroundBelt]] '''underground-belt'''
 
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
 
{{Prototype property|speed|[[Types/double|double]]}}
The speed of the belt (since 0.17): <code>speed × 480 = x Items/second</code>
 
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. <code>x items/second ÷ (4 items/lane × 2 lanes/belt × 60 ticks/second) = <speed> belts/tick</code> where a "belt" is the size of one tile. See [[Transport_belts/Physics]] for more details.
 
== Optional properties ==
 
{{Prototype property|animation_speed_coefficient|[[Types/double|double]]|1|optional=true}}
 
{{Prototype property|belt_animation_set|[[Types/table|table]]|optional=true}}
Either this, or all of the properties below this one have to present.
 
Table with the following properties:
 
* animation_set - [[Types/RotatedAnimation|RotatedAnimation]] - Mandatory.
* east_index - [[Types/uint8|uint8]] - Optional. - Default: 1
* west_index - [[Types/uint8|uint8]] - Optional. - Default: 2
* north_index - [[Types/uint8|uint8]] - Optional. - Default: 3
* south_index - [[Types/uint8|uint8]] - Optional. - Default: 4
* starting_south_index - [[Types/uint8|uint8]] - Optional. - Default: 13
* ending_south_index - [[Types/uint8|uint8]] - Optional. - Default: 14
* starting_west_index - [[Types/uint8|uint8]] - Optional. - Default: 15
* ending_west_index - [[Types/uint8|uint8]] - Optional. - Default: 16
* starting_north_index - [[Types/uint8|uint8]] - Optional. - Default: 17
* ending_north_index - [[Types/uint8|uint8]] - Optional. - Default: 18
* starting_east_index - [[Types/uint8|uint8]] - Optional. - Default: 19
* ending_east_index - [[Types/uint8|uint8]] - Optional. - Default: 20
* ending_patch - [[Types/Sprite4Way|Sprite4Way]] - Optional.
* ends_with_stopper - [[Types/bool|bool]] - Optional. - Default: false
 
{{Prototype property|belt_horizontal|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|belt_vertical|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|ending_top|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|ending_bottom|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|ending_side|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|starting_top|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|starting_bottom|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|starting_side|[[Types/Animation|Animation]]|optional=true}}
Mandatory if <code>belt_animation_set</code> is not present.
 
{{Prototype property|ending_patch|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Always optional. Only read if <code>belt_animation_set</code> is not present.
 
{{Prototype property|ends_with_stopper|[[Types/bool|bool]]|false|optional=true}}
 
== 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.

Latest revision as of 14:33, 25 October 2024

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.