Prototype/Boiler: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎structure: fixed type: animation instead of sprite)
(Mode explanation, more info on graphics)
Line 10: Line 10:


{{Prototype property|fluid_box|[[Types/FluidBox|FluidBox]]}}
{{Prototype property|fluid_box|[[Types/FluidBox|FluidBox]]}}
The input fluid box.<br>
If <code>mode</code> is "heat-water-inside", the fluid is heated up directly in this fluidbox.


{{Prototype property|output_fluid_box|[[Types/FluidBox|FluidBox]]}}
{{Prototype property|output_fluid_box|[[Types/FluidBox|FluidBox]]}}
The output fluid box.<br>
If <code>mode</code> is "output-to-separate-pipe" and this has a [[Types/FluidBox#filter|filter]], the input fluid is converted to the output fluid that is set in the filter (in a 1:1 ratio).<br>
If <code>mode</code> is "heat-water-inside", this fluidbox is not used.


{{Prototype property|energy_consumption|[[Types/Energy|Energy]]}}
{{Prototype property|energy_consumption|[[Types/Energy|Energy]]}}


{{Prototype property|burning_cooldown|[[Types/uint32|uint32]]}}
{{Prototype property|burning_cooldown|[[Types/uint32|uint32]]}}
Controls for how long the boiler will show the fire and fire_glow after the energy source runs out of energy.
Controls for how many ticks the boiler will show the fire and fire_glow after the energy source runs out of energy.


Note that fire and fire_glow alpha is set to the light intensity of the energy source, so 0 light intensity means the fire is invisible. For burner energy sources, the light intensity will reach zero rather quickly after the boiler runs out of fuel, effectively capping the time that fire and fire_glow will be shown after the boiler runs out of fuel.
Note that fire and fire_glow alpha is set to the light intensity of the energy source, so 0 light intensity means the fire is invisible. For burner energy sources, the light intensity will reach zero rather quickly after the boiler runs out of fuel, effectively capping the time that fire and fire_glow will be shown after the boiler runs out of fuel.


{{Prototype property|target_temperature|[[Types/double|double]]}}
{{Prototype property|target_temperature|[[Types/double|double]]}}
When <code>mode</code> is "output-to-separate-pipe", this is the temperature that the input fluid must reach to be moved to output fluid box.<br>
When <code>mode</code> is "heat-water-inside" this is unused. Instead, the fluid [[Prototype/Fluid#max_temperature|max_temperature]] is the target temperature for heating the fluid.


{{Prototype property|structure|[[Types/table|table]]}}
{{Prototype property|structure|[[Types/table|table]]}}
Line 39: Line 46:


This means the table itself is required, but can be empty.
This means the table itself is required, but can be empty.
Animation that is drawn on top of the <code>structure</code> when <code>burning_cooldown</code> is larger than 1. The animation alpha can be controlled by the energy source light intensity, depending on <code>fire_flicker_enabled</code>.<br>
The secondary draw order of this is higher than the secondary draw order of <code>fire_glow</code>, so this is drawn above <code>fire_glow</code>.


{{Prototype property|fire_glow|[[Types/table|table]]}}
{{Prototype property|fire_glow|[[Types/table|table]]}}
Line 49: Line 59:


This means the table itself is required, but can be empty.
This means the table itself is required, but can be empty.
Animation that is drawn on top of the <code>structure</code> when <code>burning_cooldown</code> is larger than 1. The animation alpha that be controlled by the energy source light intensity, depending on <code>fire_glow_flicker_enabled</code>.<br>
The secondary draw order of this is lower than the secondary draw order of <code>fire</code>, so this is drawn below <code>fire</code>.


== Optional properties ==
== Optional properties ==


{{Prototype property|fire_glow_flicker_enabled|[[Types/bool|bool]]|false|optional=true}}
{{Prototype property|fire_glow_flicker_enabled|[[Types/bool|bool]]|false|optional=true}}
If this is set to false, <code>fire_glow</code> alpha is always 1 instead of being controlled by the light intensity of the energy source.


{{Prototype property|fire_flicker_enabled|[[Types/bool|bool]]|false|optional=true}}
{{Prototype property|fire_flicker_enabled|[[Types/bool|bool]]|false|optional=true}}
If this is set to false, <code>fire</code> alpha is always 1 instead of being controlled by the light intensity of the energy source.


{{Prototype property|mode|[[Types/string|string]]|"heat-water-inside"|optional=true}}
{{Prototype property|mode|[[Types/string|string]]|"heat-water-inside"|optional=true}}
One of "heat-water-inside" or "output-to-separate-pipe".
One of "heat-water-inside" or "output-to-separate-pipe".<br>
In the "heat-water-inside" mode, fluid in the <code>fluid_box</code> is continuously heated from the input temperature up to its [[Prototype/Fluid#max_temperature|max_temperature]].<br>
In the "output-to-separate-pipe" mode, fluid is transferred from the <code>fluid_box</code> to the <code>output_fluid_box</code> when enough energy is available to [[Prototype/Fluid#heat_capacity|heat]] the fluid to the <code>target_temperature</code>. Setting a filter on the <code>output_fluid_box</code> allows to specify that the input fluid should be converted to the filtered fluid, instead of it simply being transferred when it can be heated.


{{Prototype property|patch|[[Types/table|table]]|optional=true}}
{{Prototype property|patch|[[Types/table|table]]|optional=true}}
Line 66: Line 83:
* south - [[Types/Sprite|Sprite]]
* south - [[Types/Sprite|Sprite]]
* west - [[Types/Sprite|Sprite]]
* west - [[Types/Sprite|Sprite]]
Drawn above the <code>structure</code>, in the "higher-object-under" [[Types/RenderLayer]]. May be useful to correct problems with neighboring pipes overlapping the structure graphics.

Revision as of 12:09, 23 November 2021

Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/Boiler


A boiler.


Prototype/Boiler — boiler
burning_cooldown::uint32
energy_consumption::Energy
energy_source::EnergySource
fire::table
fire_glow::table
fluid_box::FluidBox
output_fluid_box::FluidBox
structure::table
target_temperature::double
fire_flicker_enabled::bool (optional)
fire_glow_flicker_enabled::bool (optional)
mode::string (optional)
patch::table (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

This prototype inherits all the properties from Prototype/EntityWithHealth.

energy_source

Type: EnergySource

fluid_box

Type: FluidBox
The input fluid box.
If mode is "heat-water-inside", the fluid is heated up directly in this fluidbox.

output_fluid_box

Type: FluidBox
The output fluid box.
If mode is "output-to-separate-pipe" and this has a filter, the input fluid is converted to the output fluid that is set in the filter (in a 1:1 ratio).
If mode is "heat-water-inside", this fluidbox is not used.

energy_consumption

Type: Energy

burning_cooldown

Type: uint32
Controls for how many ticks the boiler will show the fire and fire_glow after the energy source runs out of energy.

Note that fire and fire_glow alpha is set to the light intensity of the energy source, so 0 light intensity means the fire is invisible. For burner energy sources, the light intensity will reach zero rather quickly after the boiler runs out of fuel, effectively capping the time that fire and fire_glow will be shown after the boiler runs out of fuel.

target_temperature

Type: double
When mode is "output-to-separate-pipe", this is the temperature that the input fluid must reach to be moved to output fluid box.
When mode is "heat-water-inside" this is unused. Instead, the fluid max_temperature is the target temperature for heating the fluid.

structure

Type: table
Table with the following mandatory members:

fire

Type: table
Table with the following optional members:

This means the table itself is required, but can be empty.

Animation that is drawn on top of the structure when burning_cooldown is larger than 1. The animation alpha can be controlled by the energy source light intensity, depending on fire_flicker_enabled.
The secondary draw order of this is higher than the secondary draw order of fire_glow, so this is drawn above fire_glow.

fire_glow

Type: table
Table with the following optional members:

This means the table itself is required, but can be empty.

Animation that is drawn on top of the structure when burning_cooldown is larger than 1. The animation alpha that be controlled by the energy source light intensity, depending on fire_glow_flicker_enabled.
The secondary draw order of this is lower than the secondary draw order of fire, so this is drawn below fire.

Optional properties

fire_glow_flicker_enabled

Type: bool
Default: false
If this is set to false, fire_glow alpha is always 1 instead of being controlled by the light intensity of the energy source.

fire_flicker_enabled

Type: bool
Default: false
If this is set to false, fire alpha is always 1 instead of being controlled by the light intensity of the energy source.

mode

Type: string
Default: "heat-water-inside"
One of "heat-water-inside" or "output-to-separate-pipe".
In the "heat-water-inside" mode, fluid in the fluid_box is continuously heated from the input temperature up to its max_temperature.
In the "output-to-separate-pipe" mode, fluid is transferred from the fluid_box to the output_fluid_box when enough energy is available to heat the fluid to the target_temperature. Setting a filter on the output_fluid_box allows to specify that the input fluid should be converted to the filtered fluid, instead of it simply being transferred when it can be heated.

patch

Type: table
Table with the following optional members:

Drawn above the structure, in the "higher-object-under" Types/RenderLayer. May be useful to correct problems with neighboring pipes overlapping the structure graphics.