Prototype/TransportBeltConnectable: Difference between revisions
(Converted to SMW format) |
(speed description about number format (fixed point number)) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Prototype parent|Prototype/ | {{Prototype parent|Prototype/EntityWithOwner}} | ||
Abstract class that anything that is a belt or can connect to belts uses. | Abstract class that anything that is a belt or can connect to belts uses. | ||
Line 6: | Line 6: | ||
== Extensions == | == Extensions == | ||
* [[Prototype/ | * [[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 12: | Line 14: | ||
== Mandatory properties == | == Mandatory properties == | ||
This prototype inherits all the properties from [[Prototype/ | This prototype inherits all the properties from [[Prototype/EntityWithOwner]]. | ||
{{Prototype property|speed|[[Types/double|double]]}} | {{Prototype property|speed|[[Types/double|double]]}} | ||
Line 18: | Line 20: | ||
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. | 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. | ||
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. | |||
== Optional properties == | == Optional properties == | ||
Line 24: | Line 28: | ||
{{Prototype property|belt_animation_set|[[Types/table|table]]|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. | Either this, or all of the properties below this one have to be present. | ||
Table with the following properties: | Table with the following properties: | ||
Line 72: | Line 76: | ||
{{Prototype property|ends_with_stopper|[[Types/bool|bool]]|false|optional=true}} | {{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:13, 8 April 2022
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.
Extensions
- Prototype/LinkedBelt linked-belt
- 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/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.
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.