Types/EnergySource: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
(→‎fluid_usage_per_tick: https://forums.factorio.com/90613)
(35 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Basics ==
== Basics ==
Specifies the way the entity gets its energy.
Specifies the way the entity gets its energy.
Valid for 0.8+ version
=== type ===
=== type ===
'''Type''': [[Types/string]]
'''Type''': [[Types/string]]


Only valid values are "electric" or "burner", it specifies the type of the energy source to be used.
Mandatory. Only valid values are "electric", "burner", "heat", "fluid" or "void", it specifies the type of the energy source to be used.
=== emissions ===
 
=== emissions_per_minute ===
'''Type''': [[Types/double]]
'''Type''': [[Types/double]]
=== resting_cunsumption_ratio ===
'''Type''': [[Types/float]]


'''Default''': 1/30
'''Default''': 0
 
Optional. The pollution an entity emits per minute at full energy consumption. <code>emissions_per_minute</code> is exactly the value that is shown in the entity tooltip.
 
=== render_no_power_icon ===
'''Type''': [[Types/bool]]
 
'''Default''': true
 
Optional. Whether to render the [[File:Electricity-icon-red.png|50px]] icon on the entity if it is low on power. Also applies to [[File:Fuel-icon-red.png|50px]] when using a burner energy source.
 
=== render_no_network_icon ===
'''Type''': [[Types/bool]]
 
'''Default''': true
 
Optional. Whether to render the [[File:Electricity-icon-unplugged.png|50px]] icon on the entity if it is not connected to a electric network.
 
== Electric energy source ==
== Electric energy source ==
=== buffer_capacity ===
=== buffer_capacity ===
'''Type''': [[Types/EnergyAmount]]
'''Type''': [[Types/Energy]]
=== input_priority ===
 
'''Type''': [[Types/EnergyPriority]]
Optional. How much power the entity holds.
=== usage_priority ===
'''Type''': [[Types/ElectricUsagePriority]]
 
Mandatory.
=== input_flow_limit ===
=== input_flow_limit ===
'''Type''': [[Types/EnergyPower]]
'''Type''': [[Types/Energy]]
=== output_priority ===
 
'''Type''': [[Types/EnergyPriority]]
'''Default''': max double
 
Optional. How fast the energy can flow into the entity. 0 means 0.
=== output_flow_limit ===
=== output_flow_limit ===
'''Type''': [[Types/EnergyPower]]
'''Type''': [[Types/Energy]]
 
'''Default''': max double
 
Optional. How fast the energy can flow out of the entity. 0 means 0.
 
=== drain ===
'''Type''': [[Types/Energy]]
 
Optional. How much energy the entity will always "drain" from the network, even when not in use.
 
== Burner ==
== Burner ==
=== fuel_inventory_size ===
'''Type''': [[Types/ItemStackIndex]]
Mandatory.
=== burnt_inventory_size ===
'''Type''': [[Types/ItemStackIndex]]
'''Default''': 0
Optional.
=== smoke ===
'''Type''': [[Types/table]] of [[Types/SmokeSource]]
Optional. Array of 1 or more smoke sources.
=== light_flicker ===
'''Type''': [[Types/LightFlickeringDefinition]]
Optional.
=== effectivity ===
=== effectivity ===
'''Type''': [[Types/double]]
'''Default''': 1
Optional. 1 means 100% effectivity. Must be greater than 0. Multiplier of the energy output.
=== fuel_category ===
'''Type''': [[Types/string]]
'''Default''': "chemical"
Optional. The energy source can be used with fuel from this [[Prototype/FuelCategory|fuel category]]. For a list on built-in categories, see [[Data.raw#fuel-category]].
=== fuel_categories ===
'''Type''': [[Types/table]] of [[Types/string]]
Optional. Same as above, only one of them can exist. For a list on built-in categories, see [[Data.raw#fuel-category]].
== Heat energy source ==
=== max_temperature ===
'''Type''': [[Types/double]]
Mandatory. max_temperature must be >= default_temperature.
=== default_temperature ===
'''Type''': [[Types/double]]
'''Default''': 15
Optional.
=== specific_heat ===
'''Type''': [[Types/Energy]]
Mandatory.
=== max_transfer ===
'''Type''': [[Types/Energy]]
Mandatory.
=== min_temperature_gradient ===
'''Type''': [[Types/double]]
'''Default''': 1
Optional.
=== min_working_temperature ===
'''Type''': [[Types/double]]
'''Default''': 15
Optional. min_working_temperature must be >= default_temperature. min_working_temperature must be <= max_temperature.
=== minimum_glow_temperature ===
'''Type''': [[Types/float]]
'''Type''': [[Types/float]]


Value specifying the amount of burning value of the item to be transferred into the energy.
'''Default''': 1
1 means 100% effectivity.
 
=== fuel_inventory_size ===
=== pipe_covers ===
'''Type''': [[Types/InventorySize]]
'''Type''': [[Types/Sprite4Way]]
=== smoke===
 
'''Type''': [[Types/SmokeSources]]
Optional.
 
=== heat_pipe_covers ===
'''Type''': [[Types/Sprite4Way]]
 
Optional.
 
=== heat_picture ===
'''Type''': [[Types/Sprite4Way]]
 
Optional.
 
=== heat_glow ===
'''Type''': [[Types/Sprite4Way]]
 
Optional.
 
=== connections ===
'''Type''': [[Types/table]] of [[Types/HeatConnection]]
 
Optional. The table may only contain up to 32 connections.
 
== Void energy source ==
Void is free energy, there are no additional entries required.
<syntaxhighlight lang="lua">
  energy_source = {type = "void"}
</syntaxhighlight>
 
== Fluid energy source ==
=== fluid_box ===
'''Type''': [[Types/FluidBox]]
 
Mandatory.
All standard fluid box configurations are acceptable, but the type must be "input" or "input-output" to function correctly.
Scale_fluid_usage, fluid_usage_per_tick or a filter on the fluidbox must be set to be able to calculate the fluid usage of the energy source.
 
=== smoke ===
'''Type''': [[Types/table]] of [[Types/SmokeSource]]
 
Optional. Array of 1 or more smoke sources.
 
=== light_flicker ===
'''Type''': [[Types/LightFlickeringDefinition]]
 
Optional.
 
=== effectivity ===
'''Type''': [[Types/double]]
 
'''Default''': 1
 
Optional. 1 means 100% effectivity. Must be greater than 0. Multiplier of the energy output.
 
=== burns_fluid ===
'''Type''': [[Types/bool]]
 
'''Default''': false
 
Optional. If set to true, the energy source will calculate power based on the fluid's fuel_value entry, else it will calculate based on fluid temperature, like [[Prototype/Generator]].
 
=== scale_fluid_usage ===
'''Type''': [[Types/bool]]
 
'''Default''': false
 
Optional. If set to true, the energy source will consume as much fluid as required to produce the desired power, if set to false it will consume as much as it is allowed to, wasting any excess.
 
=== fluid_usage_per_tick ===
'''Type''': [[Types/double]]
 
'''Default''': 0
 
Optional. The number of fluid units the energy source uses per tick.
If used with scale_fluid_usage, this specifies the maximum. If this value is not set, scale_energy_usage = false and a fluid box filter is set, the game will attempt to calculate this value from the fluid box filter's fluid's fuel_value or heat_capacity and the entity's energy_usage. If burns_fluid is false, maximum_temperature will also be used. If the attempt of the game to calculate this value fails ( scale_energy_usage = false and a fluid box filter is set), then scale_energy_usage will be forced to true, to prevent the energy source from being an infinite fluid sink.[https://forums.factorio.com/90613]
 
=== maximum_temperature ===
'''Type''': [[Types/double]]
 
'''Default''': unlimited
 
If it is specified while scale_fluid_usage = false and fluid_usage_per_tick is not specified, the game will use this value to calculate fluid_usage_per_tick.
 
{{Prototype property type usage|{{FULLPAGENAME}}}}

Revision as of 16:21, 3 February 2021

Basics

Specifies the way the entity gets its energy.

type

Type: Types/string

Mandatory. Only valid values are "electric", "burner", "heat", "fluid" or "void", it specifies the type of the energy source to be used.

emissions_per_minute

Type: Types/double

Default: 0

Optional. The pollution an entity emits per minute at full energy consumption. emissions_per_minute is exactly the value that is shown in the entity tooltip.

render_no_power_icon

Type: Types/bool

Default: true

Optional. Whether to render the Electricity-icon-red.png icon on the entity if it is low on power. Also applies to Fuel-icon-red.png when using a burner energy source.

render_no_network_icon

Type: Types/bool

Default: true

Optional. Whether to render the Electricity-icon-unplugged.png icon on the entity if it is not connected to a electric network.

Electric energy source

buffer_capacity

Type: Types/Energy

Optional. How much power the entity holds.

usage_priority

Type: Types/ElectricUsagePriority

Mandatory.

input_flow_limit

Type: Types/Energy

Default: max double

Optional. How fast the energy can flow into the entity. 0 means 0.

output_flow_limit

Type: Types/Energy

Default: max double

Optional. How fast the energy can flow out of the entity. 0 means 0.

drain

Type: Types/Energy

Optional. How much energy the entity will always "drain" from the network, even when not in use.

Burner

fuel_inventory_size

Type: Types/ItemStackIndex

Mandatory.

burnt_inventory_size

Type: Types/ItemStackIndex

Default: 0

Optional.

smoke

Type: Types/table of Types/SmokeSource

Optional. Array of 1 or more smoke sources.

light_flicker

Type: Types/LightFlickeringDefinition

Optional.

effectivity

Type: Types/double

Default: 1

Optional. 1 means 100% effectivity. Must be greater than 0. Multiplier of the energy output.

fuel_category

Type: Types/string

Default: "chemical"

Optional. The energy source can be used with fuel from this fuel category. For a list on built-in categories, see Data.raw#fuel-category.

fuel_categories

Type: Types/table of Types/string

Optional. Same as above, only one of them can exist. For a list on built-in categories, see Data.raw#fuel-category.

Heat energy source

max_temperature

Type: Types/double

Mandatory. max_temperature must be >= default_temperature.

default_temperature

Type: Types/double

Default: 15

Optional.

specific_heat

Type: Types/Energy

Mandatory.

max_transfer

Type: Types/Energy

Mandatory.

min_temperature_gradient

Type: Types/double

Default: 1

Optional.

min_working_temperature

Type: Types/double

Default: 15

Optional. min_working_temperature must be >= default_temperature. min_working_temperature must be <= max_temperature.

minimum_glow_temperature

Type: Types/float

Default: 1

pipe_covers

Type: Types/Sprite4Way

Optional.

heat_pipe_covers

Type: Types/Sprite4Way

Optional.

heat_picture

Type: Types/Sprite4Way

Optional.

heat_glow

Type: Types/Sprite4Way

Optional.

connections

Type: Types/table of Types/HeatConnection

Optional. The table may only contain up to 32 connections.

Void energy source

Void is free energy, there are no additional entries required.

  energy_source = {type = "void"}

Fluid energy source

fluid_box

Type: Types/FluidBox

Mandatory. All standard fluid box configurations are acceptable, but the type must be "input" or "input-output" to function correctly. Scale_fluid_usage, fluid_usage_per_tick or a filter on the fluidbox must be set to be able to calculate the fluid usage of the energy source.

smoke

Type: Types/table of Types/SmokeSource

Optional. Array of 1 or more smoke sources.

light_flicker

Type: Types/LightFlickeringDefinition

Optional.

effectivity

Type: Types/double

Default: 1

Optional. 1 means 100% effectivity. Must be greater than 0. Multiplier of the energy output.

burns_fluid

Type: Types/bool

Default: false

Optional. If set to true, the energy source will calculate power based on the fluid's fuel_value entry, else it will calculate based on fluid temperature, like Prototype/Generator.

scale_fluid_usage

Type: Types/bool

Default: false

Optional. If set to true, the energy source will consume as much fluid as required to produce the desired power, if set to false it will consume as much as it is allowed to, wasting any excess.

fluid_usage_per_tick

Type: Types/double

Default: 0

Optional. The number of fluid units the energy source uses per tick. If used with scale_fluid_usage, this specifies the maximum. If this value is not set, scale_energy_usage = false and a fluid box filter is set, the game will attempt to calculate this value from the fluid box filter's fluid's fuel_value or heat_capacity and the entity's energy_usage. If burns_fluid is false, maximum_temperature will also be used. If the attempt of the game to calculate this value fails ( scale_energy_usage = false and a fluid box filter is set), then scale_energy_usage will be forced to true, to prevent the energy source from being an infinite fluid sink.[1]

maximum_temperature

Type: Types/double

Default: unlimited

If it is specified while scale_fluid_usage = false and fluid_usage_per_tick is not specified, the game will use this value to calculate fluid_usage_per_tick.

Prototype properties that use this type