Prototype/Fluid: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Created page with "== Mandatory properties == === type === '''Type''': Types/string Must be "fluid". === name === '''Type''': Types/string === icon === '''Type''': Types/FileName...")
 
(Updated styling of prototype doc migration note)
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Mandatory properties ==
<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/FluidPrototype.html https://lua-api.factorio.com/latest/prototypes/FluidPrototype.html]
 
</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>
 


=== type ===
'''Type''': [[Types/string]]


Must be "fluid".
{{Prototype parent|PrototypeBase}}
A fluid.


=== name ===
{{Prototype TOC|fluid}}
'''Type''': [[Types/string]]


=== icon ===
== Mandatory properties ==
'''Type''': [[Types/FileName]]
Inherits all properties from [[PrototypeBase]].


=== order ===
{{Prototype property|icons, icon, icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]}}
'''Type''': [[Types/Order]]


=== default_temperature ===
{{Prototype property|default_temperature|[[Types/double|double]]}}
'''Type''': [[Types/uint]]
Also the minimum temperature of the fluid. Has to be lower than <code>max_temperature</code>.


=== max_temperature ===
{{Prototype property|base_color|[[Types/Color|Color]]}}
'''Type''': [[Types/uint]]
Used by bars that show the fluid color, like the flamethrower turret fill bar in the tooltip, or the fill bar for the fluidwagon tooltip; and for the pipe windows and storage tank fill gauges.


=== base_color ===
{{Prototype property|flow_color|[[Types/Color|Color]]}}
'''Type''': [[Types/color]]
Used only for pipe windows or storage tank fill gauges.


=== flow_color ===
== Optional properties ==
'''Type''': [[Types/color]]


=== pressure_to_speed_ratio ===
{{Prototype property|max_temperature|[[Types/double|double]]|value of <code>default_temperature</code>|optional=true}}
'''Type''': [[Types/double]]


=== flow_to_energy_ratio ===
{{Prototype property|heat_capacity|[[Types/Energy|Energy]]|"1KJ"|optional=true}}
'''Type''': [[Types/double]]
Joule needed to heat 1 Unit by 1 °C.


== Optional properties ==
{{Prototype property|fuel_value|[[Types/Energy|Energy]]|"0J"|optional=true}}


=== heat_capacity ===
{{Prototype property|emissions_multiplier|[[Types/double|double]]|1.0|optional=true}}
'''Type''': [[Types/EnergyAmount]]
Scales pollution generated when the fluid is consumed.


Joule need to heat 1 Unit by 1 °C.
{{Prototype property|subgroup|[[Types/string|string]]|"fluid"|optional=true}}
The value of this property may not be an empty string. It either has to be nil, or a non-empty string.


=== gas_temperature ===
{{Prototype property|gas_temperature|[[Types/double|double]]|max value of double|optional=true}}
'''Type''': [[Types/uint]]
Above this temperature the <code>gas_flow</code> animation is used to display the fluid inside storage tanks and pipes.


=== auto_barrel ===
{{Prototype property|hidden|[[Types/bool|bool]]|false|optional=true}}
'''Type''': [[Types/bool]]
Hides the fluid from the signal selection screen.


Whether the fluid should be included in the barrel recipes automatically generated in data-updates.lua in the base mod.
== Custom properties ==
The base mod reads the following property in data-updates.lua to determine if the fluid should be barreled. The property itself is not read by the C++ part of the game which means that it is discarded by the game when loading finishes.
* auto_barrel - [[Types/bool|bool]] - Optional, defaults to true. Whether the fluid should be included in the barrel recipes automatically generated in data-updates.lua in the base mod.


== Example ==
== Example ==
<syntaxhighlight lang="lua">{
<syntaxhighlight lang="lua"> {
     type = "fluid",
     type = "fluid",
     name = "water",
     name = "water",
Line 58: Line 59:
     flow_color = {r=0.7, g=0.7, b=0.7},
     flow_color = {r=0.7, g=0.7, b=0.7},
     icon = "__base__/graphics/icons/fluid/water.png",
     icon = "__base__/graphics/icons/fluid/water.png",
     order = "a[fluid]-a[water]",
    icon_size = 64,
    pressure_to_speed_ratio = 0.4,
    icon_mipmaps = 4,
    flow_to_energy_ratio = 0.59
     order = "a[fluid]-a[water]"
   },</syntaxhighlight>
   }</syntaxhighlight>

Latest revision as of 10:43, 21 September 2023

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


Prototype definitions » PrototypeBase » Prototype/Fluid


A fluid.


Prototype/Fluid — fluid
base_color::Color
default_temperature::double
flow_color::Color
icons, icon, icon_size (IconSpecification)::IconSpecification
emissions_multiplier::double (optional)
fuel_value::Energy (optional)
gas_temperature::double (optional)
heat_capacity::Energy (optional)
hidden::bool (optional)
max_temperature::double (optional)
subgroup::string (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

Inherits all properties from PrototypeBase.

icons, icon, icon_size (IconSpecification)

Type: IconSpecification

default_temperature

Type: double
Also the minimum temperature of the fluid. Has to be lower than max_temperature.

base_color

Type: Color
Used by bars that show the fluid color, like the flamethrower turret fill bar in the tooltip, or the fill bar for the fluidwagon tooltip; and for the pipe windows and storage tank fill gauges.

flow_color

Type: Color
Used only for pipe windows or storage tank fill gauges.

Optional properties

max_temperature

Type: double
Default: value of default_temperature

heat_capacity

Type: Energy
Default: "1KJ"
Joule needed to heat 1 Unit by 1 °C.

fuel_value

Type: Energy
Default: "0J"

emissions_multiplier

Type: double
Default: 1.0
Scales pollution generated when the fluid is consumed.

subgroup

Type: string
Default: "fluid"
The value of this property may not be an empty string. It either has to be nil, or a non-empty string.

gas_temperature

Type: double
Default: max value of double
Above this temperature the gas_flow animation is used to display the fluid inside storage tanks and pipes.

hidden

Type: bool
Default: false
Hides the fluid from the signal selection screen.

Custom properties

The base mod reads the following property in data-updates.lua to determine if the fluid should be barreled. The property itself is not read by the C++ part of the game which means that it is discarded by the game when loading finishes.

  • auto_barrel - bool - Optional, defaults to true. Whether the fluid should be included in the barrel recipes automatically generated in data-updates.lua in the base mod.

Example

  {
    type = "fluid",
    name = "water",
    default_temperature = 15,
    max_temperature = 100,
    heat_capacity = "0.2KJ",
    base_color = {r=0, g=0.34, b=0.6},
    flow_color = {r=0.7, g=0.7, b=0.7},
    icon = "__base__/graphics/icons/fluid/water.png",
    icon_size = 64,
    icon_mipmaps = 4,
    order = "a[fluid]-a[water]"
  }