Prototype/Lab: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
(Updated styling of prototype doc migration note)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Languages}}
<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/LabPrototype.html https://lua-api.factorio.com/latest/prototypes/LabPrototype.html]
== Basics ==
A [[lab]]. Based on [[Prototype/EntityWithHealth]].


== Properties ==
</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>
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].


=== energy_source ===
Type: [[Types/EnergySource]]


Defines how this lab gets energy.


=== on_animation ===
{{Prototype parent|Prototype/EntityWithOwner}}
Type: [[Types/Animation]]
A [[lab]].


The animation that plays when the lab is active.
{{Prototype TOC|lab}}


=== off_animation ===
== Mandatory properties ==
Type: [[Types/Animation]]
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].


The animation that plays when the lab is idle.
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
The amount of energy this lab uses.


=== energy_usage ===
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}
Type: [[Types/EnergyPower]]
Defines how this lab gets energy.


The amount of energy this lab uses.
{{Prototype property|on_animation|[[Types/Animation|Animation]]}}
The animation that plays when the lab is active.


=== inputs ===
{{Prototype property|off_animation|[[Types/Animation|Animation]]}}
Type: List of [[Types/string]]
The animation that plays when the lab is idle.


A list of the names of science packs used in this lab.
{{Prototype property|inputs|[[Types/table|table]] of [[Types/string|string]]}}
A list of the names of science packs that can be used in this lab.


e.g. for the default lab, this is:
e.g. for the default lab, this is:
<pre>
<syntaxhighlight lang="lua">
inputs = {"science-pack-1", "science-pack-2", "science-pack-3", "alien-science-pack"}
inputs = {"automation-science-pack", "logistic-science-pack", "chemical-science-pack", "military-science-pack", "production-science-pack", "utility-science-pack", "space-science-pack"}</syntaxhighlight>
</pre>


If a technology requires other types of science packs, it cannot be researched in this lab.
If a technology requires other types of science packs, it cannot be researched in this lab.


=== module_slots ===
== Optional properties ==
Type: [[Types/unsigned]]
 
{{Prototype property|researching_speed|[[Types/double|double]]|1|optional=true}}
 
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}
Sets the module effects that are allowed to be used on this lab.


The number of module slots.
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]||optional=true}}


=== allowed_effects? ===
{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}
Type: [[Types/AllowedEffects]]
Productivity bonus that this machine always has.


The module effects that are allowed to be used with this lab.
{{Prototype property|entity_info_icon_shift|[[Types/vector|vector]]|<nowiki>{0, 0}</nowiki>|optional=true}}
Shift of the "alt-mode icon" relative to the lab's center.


Unknown whether this is actually implemented for labs.
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}
The number of module slots.

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/LabPrototype.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/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/Lab


A lab.


Prototype/Lab — lab
energy_source::EnergySource
energy_usage::Energy
inputs::table of string
off_animation::Animation
on_animation::Animation
allowed_effects::EffectTypeLimitation (optional)
base_productivity::float (optional)
entity_info_icon_shift::vector (optional)
light::LightDefinition (optional)
module_specification::ModuleSpecification (optional)
researching_speed::double (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.

energy_usage

Type: Energy
The amount of energy this lab uses.

energy_source

Type: EnergySource
Defines how this lab gets energy.

on_animation

Type: Animation
The animation that plays when the lab is active.

off_animation

Type: Animation
The animation that plays when the lab is idle.

inputs

Type: table of string
A list of the names of science packs that can be used in this lab.

e.g. for the default lab, this is:

inputs = {"automation-science-pack", "logistic-science-pack", "chemical-science-pack", "military-science-pack", "production-science-pack", "utility-science-pack", "space-science-pack"}

If a technology requires other types of science packs, it cannot be researched in this lab.

Optional properties

researching_speed

Type: double
Default: 1

allowed_effects

Type: EffectTypeLimitation
Default: All effects are allowed
Sets the module effects that are allowed to be used on this lab.

light

Type: LightDefinition

base_productivity

Type: float
Default: 0
Productivity bonus that this machine always has.

entity_info_icon_shift

Type: vector
Default: {0, 0}
Shift of the "alt-mode icon" relative to the lab's center.

module_specification

Type: ModuleSpecification
The number of module slots.