Prototype/OffshorePump: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(0.18.10)
(always_draw_fluid detail)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
{{Prototype parent|Prototype/EntityWithOwner}}
An [[offshore pump]].
An [[offshore pump]].


Line 5: Line 5:


== Mandatory properties ==
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].


{{Prototype property|fluid_box|[[Types/FluidBox|FluidBox]]}}
{{Prototype property|fluid_box|[[Types/FluidBox|FluidBox]]}}


{{Prototype property|pumping_speed|[[Types/float|float]]}}
{{Prototype property|pumping_speed|[[Types/float|float]]}}
How many units of fluid are produced per tick.
How many units of fluid are produced per tick. Must be > 0.


{{Prototype property|fluid|[[Types/string|string]]}}
{{Prototype property|fluid|[[Types/string|string]]}}
Line 17: Line 17:
== Optional properties ==
== Optional properties ==


{{Prototype property|graphics_set|[[Types/table|table]]}}
{{Prototype property|graphics_set|[[Types/table|table]]|optional=true}}
Mandatory if <code>picture</code> is not defined. Table with the following members:
Mandatory if <code>picture</code> is not defined. Table with the following members:


* animation - [[Types/Animation4Way|Animation4Way]] - Mandatory.
* animation - [[Types/Animation4Way|Animation4Way]] - Mandatory. Rendered in "object" layer, with secondary draw order 0.
* base_render_layer - [[Types/RenderLayer|RenderLayer]] - Optional. Default: "ground-patch"
* base_render_layer - [[Types/RenderLayer|RenderLayer]] - Optional. Default: "ground-patch"
* underwater_layer_offset - [[Types/int8|int8]] - Optional. Default: 1
* underwater_layer_offset - [[Types/int8|int8]] - Optional. Default: 1
* fluid_animation - [[Types/Animation4Way|Animation4Way]] - Optional.
* fluid_animation - [[Types/Animation4Way|Animation4Way]] - Optional. Rendered in "object" layer, with secondary draw order 20.
* glass_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional.
* glass_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional. Rendered in "object" layer, with secondary draw order 40.
* base_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional.
* base_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional. Rendered in layer specified by base_render_layer, with secondary draw order 0.
* underwater_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional.
* underwater_pictures - [[Types/Sprite4Way|Sprite4Way]] - Optional. Drawn by tile renderer when water animation is enabled.


{{Prototype property|picture|[[Types/Sprite4Way|Sprite4Way]]}}
{{Prototype property|picture|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Deprecated, use <code>graphics_set</code> instead. Mandatory if <code>graphics_set</code> is not defined.
Deprecated, use <code>graphics_set</code> instead. Ignored if <code>graphics_set</code> is defined.


{{Prototype property|min_perceived_performance|[[Types/float|float]]|0.25|optional=true}}
{{Prototype property|min_perceived_performance|[[Types/float|float]]|0.25|optional=true}}
Line 37: Line 37:


{{Prototype property|adjacent_tile_collision_test|[[Types/CollisionMask|CollisionMask]]|"water-tile"|optional=true}}
{{Prototype property|adjacent_tile_collision_test|[[Types/CollisionMask|CollisionMask]]|"water-tile"|optional=true}}
Tiles colliding with adjacent_tile_collision_box must collide with this collision mask (unless it's empty).


{{Prototype property|adjacent_tile_collision_mask|[[Types/CollisionMask|CollisionMask]]|none|optional=true}}
{{Prototype property|adjacent_tile_collision_mask|[[Types/CollisionMask|CollisionMask]]|none|optional=true}}
Tiles colliding with adjacent_tile_collision_box must NOT collide with this collision mask.


{{Prototype property|center_collision_mask|[[Types/CollisionMask|CollisionMask]]|none|optional=true}}
{{Prototype property|center_collision_mask|[[Types/CollisionMask|CollisionMask]]|none|optional=true}}
Tile at placement position must NOT collide with this collision mask.
{{Prototype property|adjacent_tile_collision_box|[[Types/BoundingBox|BoundingBox]]|<nowiki>{{-0.05, -0.8}, {0.05, -0.7}}</nowiki>|optional=true}}


{{Prototype property|placeable_position_visualization|[[Types/Sprite|Sprite]]|optional=true}}
{{Prototype property|placeable_position_visualization|[[Types/Sprite|Sprite]]|optional=true}}
Line 47: Line 52:


{{Prototype property|always_draw_fluid|[[Types/bool|bool]]|true|optional=true}}
{{Prototype property|always_draw_fluid|[[Types/bool|bool]]|true|optional=true}}
If false, the offshore pump will not show fluid present (visually) before there is an output connected. The pump will also animate yet not show fluid when the fluid is 100% extracted (e.g. such as with a [[pump]]).
{{Prototype property|check_bounding_box_collides_with_tiles|[[Types/bool|bool]]|optional=true}}
If not set (=default), the offshore pump does not collide with tiles if it has none of these collision masks: "water-tile", "ground-tile", "resource-layer", "player-layer", "item-layer", "doodad-layer". If it has at least one of the six collision masks, it does collide with tiles.
If set, this specifies whether collision with tiles should (true) or should not (false) be performed on an offshore pump.


{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}
Line 54: Line 64:


{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}
{{Prototype property|remove_on_tile_collision|[[Types/bool|bool]]|false|optional=true}}


{{Prototype property|circuit_wire_connection_points|[[Types/table|table]] of [[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}
{{Prototype property|circuit_wire_connection_points|[[Types/table|table]] of [[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}

Latest revision as of 21:11, 4 March 2022

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


An offshore pump.


Prototype/OffshorePump — offshore-pump
fluid::string
fluid_box::FluidBox
pumping_speed::float
adjacent_tile_collision_box::BoundingBox (optional)
adjacent_tile_collision_mask::CollisionMask (optional)
adjacent_tile_collision_test::CollisionMask (optional)
always_draw_fluid::bool (optional)
center_collision_mask::CollisionMask (optional)
check_bounding_box_collides_with_tiles::bool (optional)
circuit_connector_sprites::table of CircuitConnectorSprites (optional)
circuit_wire_connection_points::table of WireConnectionPoint (optional)
circuit_wire_max_distance::double (optional)
draw_circuit_wires::bool (optional)
draw_copper_wires::bool (optional)
fluid_box_tile_collision_test::CollisionMask (optional)
graphics_set::table (optional)
min_perceived_performance::float (optional)
picture::Sprite4Way (optional)
placeable_position_visualization::Sprite (optional)
remove_on_tile_collision::bool (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/EntityWithOwner.

fluid_box

Type: FluidBox

pumping_speed

Type: float
How many units of fluid are produced per tick. Must be > 0.

fluid

Type: string
The name of the fluid that is produced by the pump.

Optional properties

graphics_set

Type: table
Mandatory if picture is not defined. Table with the following members:

  • animation - Animation4Way - Mandatory. Rendered in "object" layer, with secondary draw order 0.
  • base_render_layer - RenderLayer - Optional. Default: "ground-patch"
  • underwater_layer_offset - int8 - Optional. Default: 1
  • fluid_animation - Animation4Way - Optional. Rendered in "object" layer, with secondary draw order 20.
  • glass_pictures - Sprite4Way - Optional. Rendered in "object" layer, with secondary draw order 40.
  • base_pictures - Sprite4Way - Optional. Rendered in layer specified by base_render_layer, with secondary draw order 0.
  • underwater_pictures - Sprite4Way - Optional. Drawn by tile renderer when water animation is enabled.

picture

Type: Sprite4Way
Deprecated, use graphics_set instead. Ignored if graphics_set is defined.

min_perceived_performance

Type: float
Default: 0.25
Animation runs at least this fast.

fluid_box_tile_collision_test

Type: CollisionMask
Default: "ground-tile"

adjacent_tile_collision_test

Type: CollisionMask
Default: "water-tile"
Tiles colliding with adjacent_tile_collision_box must collide with this collision mask (unless it's empty).

adjacent_tile_collision_mask

Type: CollisionMask
Default: none
Tiles colliding with adjacent_tile_collision_box must NOT collide with this collision mask.

center_collision_mask

Type: CollisionMask
Default: none
Tile at placement position must NOT collide with this collision mask.

adjacent_tile_collision_box

Type: BoundingBox
Default: {{-0.05, -0.8}, {0.05, -0.7}}

placeable_position_visualization

Type: Sprite

remove_on_tile_collision

Type: bool
Default: false

always_draw_fluid

Type: bool
Default: true
If false, the offshore pump will not show fluid present (visually) before there is an output connected. The pump will also animate yet not show fluid when the fluid is 100% extracted (e.g. such as with a pump).

check_bounding_box_collides_with_tiles

Type: bool
If not set (=default), the offshore pump does not collide with tiles if it has none of these collision masks: "water-tile", "ground-tile", "resource-layer", "player-layer", "item-layer", "doodad-layer". If it has at least one of the six collision masks, it does collide with tiles. If set, this specifies whether collision with tiles should (true) or should not (false) be performed on an offshore pump.

circuit_wire_max_distance

Type: double
Default: 0
The maximum circuit wire distance for this entity.

draw_copper_wires

Type: bool
Default: true

draw_circuit_wires

Type: bool
Default: true

circuit_wire_connection_points

Type: table of WireConnectionPoint
Mandatory if circuit_wire_max_distance > 0.

circuit_connector_sprites

Type: table of CircuitConnectorSprites
Mandatory if circuit_wire_max_distance > 0.