Prototype/Fluid: Difference between revisions
(overhaul to include Prototype) |
(Updated styling of prototype doc migration note) |
||
(17 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | <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> | |||
{{Prototype parent|PrototypeBase}} | |||
A fluid. | |||
{{Prototype TOC|fluid}} | |||
== | == Mandatory properties == | ||
Inherits all properties from [[PrototypeBase]]. | |||
{{Prototype property|icons, icon, icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]}} | |||
{{Prototype property|default_temperature|[[Types/double|double]]}} | |||
Also the minimum temperature of the fluid. Has to be lower than <code>max_temperature</code>. | |||
{{Prototype property|base_color|[[Types/Color|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. | |||
{{Prototype property|flow_color|[[Types/Color|Color]]}} | |||
Used only for pipe windows or storage tank fill gauges. | |||
== Optional properties == | == Optional properties == | ||
{{Prototype property|max_temperature|[[Types/double|double]]|value of <code>default_temperature</code>|optional=true}} | |||
{{Prototype property|heat_capacity|[[Types/Energy|Energy]]|"1KJ"|optional=true}} | |||
Joule needed to heat 1 Unit by 1 °C. | Joule needed to heat 1 Unit by 1 °C. | ||
=== gas_temperature | {{Prototype property|fuel_value|[[Types/Energy|Energy]]|"0J"|optional=true}} | ||
{{Prototype property|emissions_multiplier|[[Types/double|double]]|1.0|optional=true}} | |||
Scales pollution generated when the fluid is consumed. | |||
{{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. | |||
{{Prototype property|gas_temperature|[[Types/double|double]]|max value of double|optional=true}} | |||
Above this temperature the <code>gas_flow</code> animation is used to display the fluid inside storage tanks and pipes. | |||
{{Prototype property|hidden|[[Types/bool|bool]]|false|optional=true}} | |||
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 48: | 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, | ||
icon_mipmaps = 4, | |||
order = "a[fluid]-a[water]" | |||
} | }</syntaxhighlight> |
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.
Template:Prototype parent A fluid.
Mandatory properties
Inherits all properties from PrototypeBase.
Template:Prototype property
Also the minimum temperature of the fluid. Has to be lower than max_temperature
.
Template:Prototype property 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.
Template:Prototype property Used only for pipe windows or storage tank fill gauges.
Optional properties
Template:Prototype property Joule needed to heat 1 Unit by 1 °C.
Template:Prototype property Scales pollution generated when the fluid is consumed.
Template:Prototype property The value of this property may not be an empty string. It either has to be nil, or a non-empty string.
Template:Prototype property
Above this temperature the gas_flow
animation is used to display the fluid inside storage tanks and pipes.
Template:Prototype property 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]"
}