Prototype/StorageTank

From Official Factorio Wiki
Revision as of 16:00, 24 April 2019 by Bilka (talk | contribs) (→‎flow_length_in_ticks: Description)
Jump to navigation Jump to search

Basics

Prototype type: storage-tank

A storage tank. Based on Prototype/EntityWithHealth.

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithHealth.

fluid_box

Type: Types/FluidBox

window_bounding_box

Type: Types/BoundingBox

pictures

Type: Types/table

Table with the following mandatory members:

flow_length_in_ticks

Type: Types/uint32

Must be positive.

Used for determining the x position inside the flow_sprite when drawing the storage tank. Does not affect gameplay.

The x position of the sprite will be ((game.tick % flow_length_in_ticks) ÷ flow_length_in_ticks) × (flow_sprite.width - 32). This means, that over flow_length_in_ticks ticks, the part of the flow_sprite that is drawn in-game is incrementally moved from most-left to most-right inside the actual sprite, that part always has a width of 32px. After flow_length_in_ticks, the part of the flow_sprite that is drawn will start from the left again.

Diagram:

Example state:
  [  { }     ]
  [] <- flow_sprite
  {} <- the part that is drawn in-game, width is 32px

This means:
State at (tick % flow_length_in_ticks) == 0:
  [{ }       ]
State at (tick % flow_length_in_ticks) == (flow_length_in_ticks ÷ 2):
  [    { }   ]
State at (tick % flow_length_in_ticks) == (flow_length_in_ticks - 1):
  [       { }]

Optional properties

two_direction_only

Type: Types/bool

Default: false

circuit_wire_max_distance

Type: Types/double

Default: 0

draw_copper_wires

Type: Types/bool

Default: true

draw_circuit_wires

Type: Types/bool

Default: true

circuit_wire_connection_points

Type: Types/table of Types/WireConnectionPoint

Mandatory if circuit_wire_max_distance > 0.

circuit_connector_sprites

Type: Types/table of Types/CircuitConnectorSprites

Mandatory if circuit_wire_max_distance > 0.