https://wiki.factorio.com/api.php?action=feedcontributions&user=Meifraye&feedformat=atomOfficial Factorio Wiki - User contributions [en]2024-03-29T11:01:37ZUser contributionsMediaWiki 1.38.2https://wiki.factorio.com/index.php?title=Prototype/FlyingRobot&diff=189935Prototype/FlyingRobot2022-09-09T22:47:05Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
Abstract base for construcion/logistics and combat robots.<br />
<br />
{{Prototype TOC|''abstract''}}<br />
<br />
== Extensions ==<br />
* [[Prototype/CombatRobot]] '''combat-robot'''<br />
* [[Prototype/RobotWithLogisticInterface]] <abstract><br />
** [[Prototype/ConstructionRobot]] '''construction-robot'''<br />
** [[Prototype/LogisticRobot]] '''logistic-robot'''<br />
<br />
== Mandatory properties ==<br />
Inherits all properties from [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|speed|[[Types/double|double]]}}<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|max_speed|[[Types/double|double]]|max double|optional=true}}<br />
The maximum speed of the robot. Useful to limit the impact of [[worker robot speed (research)]].<br />
<br />
{{Prototype property|max_energy|[[Types/Energy|Energy]]|0|optional=true}}<br />
How much energy can be stored in the batteries.<br />
<br />
{{Prototype property|energy_per_move|[[Types/Energy|Energy]]|0|optional=true}}<br />
How much does it cost to move 1 meter.<br />
<br />
{{Prototype property|energy_per_tick|[[Types/Energy|Energy]]|0|optional=true}}<br />
<br />
{{Prototype property|min_to_charge|[[Types/float|float]]|0.2|optional=true}}<br />
The robot will go to charge when it has less energy than this.<br />
<br />
{{Prototype property|max_to_charge|[[Types/float|float]]|0.95|optional=true}}<br />
The robot will be retract into roboport when it has more energy than this without ongoing tasks.<br />
<br />
{{Prototype property|speed_multiplier_when_out_of_energy|[[Types/float|float]]|0|optional=true}}<br />
Some robots simply crash, some slowdown but keep going. 0 means crash.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/RollingStock&diff=189061Prototype/RollingStock2022-04-23T06:04:54Z<p>Meifraye: /* Mandatory properties */</p>
<hr />
<div>{{Prototype parent|Prototype/Vehicle}}<br />
The abstract base of all rolling stock.<br />
<br />
{{Prototype TOC|''abstract''}}<br />
<br />
== Extensions ==<br />
* [[Prototype/ArtilleryWagon]] '''artillery-wagon'''<br />
* [[Prototype/CargoWagon]] '''cargo-wagon'''<br />
* [[Prototype/FluidWagon]] '''fluid-wagon'''<br />
* [[Prototype/Locomotive]] '''locomotive'''<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Vehicle]].<br />
<br />
{{Prototype property|max_speed|[[Types/double|double]]}}<br />
Maximum speed of the rolling stock in tiles/tick.<br />
<br />
In-game, the max speed of a train is <code>min(all_rolling_stock_max_speeds) × average(all_fuel_modifiers_in_all_locomotives)</code>.<br />
This calculated train speed is then silently capped to 7386.3km/h.<br />
<br />
{{Prototype property|air_resistance|[[Types/double|double]]}}<br />
<br />
{{Prototype property|joint_distance|[[Types/double|double]]}}<br />
The length between this rolling stocks front and rear joints. Joints are the point where connection_distance is measured from when rolling stock are connected to one another. Wheels sprite are placed based on the joint position.<br />
<br />
Maximum joint distance is 15.<br />
<br />
Note: There needs to be border at least 0.2 between the bounding box edge and joint.(that is your RollingStock must have a collision_mask bigger than {{-0,-0.2},{0,0.2}})<br />
<br />
{{Prototype property|connection_distance|[[Types/double|double]]}}<br />
The distance between the joint of this rolling stock and its connected rolling stocks joint.<br />
<br />
{{Prototype property|pictures|[[Types/RotatedSprite|RotatedSprite]]}}<br />
<br />
{{Prototype property|vertical_selection_shift|[[Types/double|double]]}}<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|drive_over_tie_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
Usually a sound to play when the rolling stock drives over a tie. The rolling stock is considered to be driving over a tie every <code>tie_distance</code> tiles.<br />
<br />
{{Prototype property|tie_distance|[[Types/double|double]]|10.0|optional=true}}<br />
In tiles. Used to determine how often <code>drive_over_tie_trigger</code> is triggered.<br />
<br />
{{Prototype property|back_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|stand_by_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|wheels|[[Types/RotatedSprite|RotatedSprite]]|optional=true}}<br />
<br />
{{Prototype property|horizontal_doors|[[Types/Animation|Animation]]|optional=true}}<br />
<br />
{{Prototype property|vertical_doors|[[Types/Animation|Animation]]|optional=true}}<br />
<br />
{{Prototype property|color|[[Types/Color|Color]]|optional=true}}<br />
<br />
{{Prototype property|allow_manual_color|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|allow_robot_dispatch_in_automatic_mode|[[Types/bool|bool]]|false|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/ItemProductPrototype&diff=188871Types/ItemProductPrototype2022-04-07T10:35:15Z<p>Meifraye: /* catalyst_amount */</p>
<hr />
<div>__NOTOC__An item product definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/ProductPrototype]] being "item". It can be specified as a table with named or numbered keys, but not a mix of both.<br />
<br />
== Mandatory properties ==<br />
<br />
=== name or 1 ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Item]].<br />
<br />
== Optional properties ==<br />
<br />
=== amount or 2 ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory when using numbered keys (an array).<br><br />
If <code>amount</code> is present, <code>amount_min</code> and <code>amount_max</code> are not loaded.<br />
<br />
=== probability ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Value between 0 and 1, 0 for 0% chance and 1 for 100% chance.<br />
<br />
=== amount_min ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
=== amount_max ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
If set to a number that is less than <code>amount_min</code>, the game will use <code>amount_min</code> internally.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
'''Default''': 0<br />
<br />
Amount that should not be affected by productivity modules (not yielded from bonus production) and should not be included in the item production statistics.<br />
Cant be negative.<br />
<br />
== See also ==<br />
* [[Types/ProductPrototype]]<br />
* [[Types/FluidProductPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Projectile&diff=188801Prototype/Projectile2022-03-26T09:29:55Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/Entity}}<br />
Entity with limited lifetime that can hit other entities and has triggers when this happens.<br />
<br />
{{Prototype TOC|projectile}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Entity]].<br />
<br />
{{Prototype property|acceleration|[[Types/double|double]]}}<br />
Must be != 0 if turning_speed_increases_exponentially_with_projectile_speed is true.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|animation|[[Types/Animation|Animation]]|optional=true}}<br />
<br />
{{Prototype property|rotatable|[[Types/bool|bool]]|true|optional=true}}<br />
Whether the animation of the projectile is rotated to match the direction of travel.<br />
<br />
{{Prototype property|enable_drawing_with_mask|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|direction_only|[[Types/bool|bool]]|false|optional=true}}<br />
Setting this to true can be used to disable projectile homing behaviour.<br />
<br />
{{Prototype property|hit_at_collision_position|[[Types/bool|bool]]|false|optional=true}}<br />
When true the entity is hit at the position on its collision box the projectile first collides with. When false the entity is hit at its own position.<br />
<br />
{{Prototype property|force_condition|[[Types/ForceCondition|ForceCondition]]|"all"|optional=true}}<br />
<br />
{{Prototype property|piercing_damage|[[Types/float|float]]|0|optional=true}}<br />
Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. If the number is then below 0, the <code>final_action</code> is applied and the projectile destroyed. Otherwise, the projectile simply continues to its destination. <br />
<br />
{{Prototype property|max_speed|[[Types/double|double]]|MAX_DOUBLE|optional=true}}<br />
Must be greater than or equal to 0.<br />
<br />
{{Prototype property|turn_speed|[[Types/float|float]]|<nowiki>0.003</nowiki>|optional=true}}<br />
<br />
{{Prototype property|speed_modifier|[[Types/float|float]]|1|optional=true}}<br />
Must be greater than or equal to 0.<br />
<br />
{{Prototype property|height|[[Types/double|double]]|1|optional=true}}<br />
<br />
{{Prototype property|action|[[Types/Trigger|Trigger]]|optional=true}}<br />
Executed when the projectile hits something.<br />
<br />
{{Prototype property|final_action|[[Types/Trigger|Trigger]]|optional=true}}<br />
Executed when the projectile hits something, after <code>action</code> and only if the entity that was hit was destroyed. The projectile is destroyed right after the final_action.<br />
<br />
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|smoke|Array of [[Types/SmokeSource|SmokeSource]]|optional=true}}<br />
<br />
{{Prototype property|hit_collision_mask|[[Types/CollisionMask|CollisionMask]]|<nowiki>{"player-layer", "train-layer"}</nowiki>|optional=true}}<br />
<br />
{{Prototype property|turning_speed_increases_exponentially_with_projectile_speed|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|shadow|[[Types/Animation|Animation]]|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Projectile&diff=188800Prototype/Projectile2022-03-26T09:15:10Z<p>Meifraye: /* Optional properties */ update turn_speed,it is now float</p>
<hr />
<div>{{Prototype parent|Prototype/Entity}}<br />
Entity with limited lifetime that can hit other entities and has triggers when this happens.<br />
<br />
{{Prototype TOC|projectile}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Entity]].<br />
<br />
{{Prototype property|acceleration|[[Types/double|double]]}}<br />
Must be != 0 if turning_speed_increases_exponentially_with_projectile_speed is true.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|animation|[[Types/Animation|Animation]]|optional=true}}<br />
<br />
{{Prototype property|rotatable|[[Types/bool|bool]]|true|optional=true}}<br />
Whether the animation of the projectile is rotated to match the direction of travel.<br />
<br />
{{Prototype property|enable_drawing_with_mask|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|direction_only|[[Types/bool|bool]]|false|optional=true}}<br />
Setting this to true can be used to disable projectile homing behaviour.<br />
<br />
{{Prototype property|hit_at_collision_position|[[Types/bool|bool]]|false|optional=true}}<br />
When true the entity is hit at the position on its collision box the projectile first collides with. When false the entity is hit at its own position.<br />
<br />
{{Prototype property|force_condition|[[Types/ForceCondition|ForceCondition]]|"all"|optional=true}}<br />
<br />
{{Prototype property|piercing_damage|[[Types/float|float]]|0|optional=true}}<br />
Whenever an entity is hit by the projectile, this number gets reduced by the health of the entity. If the number is then below 0, the <code>final_action</code> is applied and the projectile destroyed. Otherwise, the projectile simply continues to its destination. <br />
<br />
{{Prototype property|max_speed|[[Types/double|double]]|MAX_DOUBLE|optional=true}}<br />
Must be greater than or equal to 0.<br />
<br />
{{Prototype property|turn_speed|[[Types/float|float]]|<nowiki>???</nowiki>|optional=true}}<br />
<br />
{{Prototype property|speed_modifier|[[Types/float|float]]|1|optional=true}}<br />
Must be greater than or equal to 0.<br />
<br />
{{Prototype property|height|[[Types/double|double]]|1|optional=true}}<br />
<br />
{{Prototype property|action|[[Types/Trigger|Trigger]]|optional=true}}<br />
Executed when the projectile hits something.<br />
<br />
{{Prototype property|final_action|[[Types/Trigger|Trigger]]|optional=true}}<br />
Executed when the projectile hits something, after <code>action</code> and only if the entity that was hit was destroyed. The projectile is destroyed right after the final_action.<br />
<br />
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|smoke|Array of [[Types/SmokeSource|SmokeSource]]|optional=true}}<br />
<br />
{{Prototype property|hit_collision_mask|[[Types/CollisionMask|CollisionMask]]|<nowiki>{"player-layer", "train-layer"}</nowiki>|optional=true}}<br />
<br />
{{Prototype property|turning_speed_increases_exponentially_with_projectile_speed|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|shadow|[[Types/Animation|Animation]]|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/ResourceEntity&diff=188760Prototype/ResourceEntity2022-03-24T14:50:48Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/Entity}}<br />
A mineable/gatherable entity,its [[Types/CollisionMask|collision_mask]] must contain "resource-layer" to be search by [[Prototype/MiningDrill]]<br />
<br />
{{Prototype TOC|resource}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Entity]].<br />
<br />
{{Prototype property|stages|[[Types/AnimationVariations|AnimationVariations]]}}<br />
Entity's graphics, using a graphic sheet, with variation and depletion. At least one stage must be defined.<br />
<br />
{{Prototype property|stage_counts|[[Types/table|table]] of [[Types/uint32|uint32]]}}<br />
Number of stages the animation has.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|infinite|[[Types/bool|bool]]|false|optional=true}}<br />
If the ore is infinitely minable, or if it will eventually run out of resource.<br />
<br />
{{Prototype property|highlight|[[Types/bool|bool]]|false|optional=true}}<br />
If the resource should be highlighted when holding a mining drill that can mine it (holding a pumpjack highlights crude-oil in the base game).<br />
<br />
{{Prototype property|randomize_visual_position|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|map_grid|[[Types/bool|bool]]|true|optional=true}}<br />
Whether the resource should have a grid pattern on the map instead of a solid map color.<br />
<br />
{{Prototype property|minimum|[[Types/uint32|uint32]]|0|optional=true}}<br />
Must be not 0 when <code>infinite = true</code>.<br />
<br />
{{Prototype property|normal|[[Types/uint32|uint32]]|1|optional=true}}<br />
Must be not 0 when <code>infinite = true</code>.<br />
<br />
{{Prototype property|infinite_depletion_amount|[[Types/uint32|uint32]]|1|optional=true}}<br />
''Every time an infinite-type resource "ticks" lower it's lowered by that amount.'' -- [https://forums.factorio.com/viewtopic.php?t=47093&p=271243#p271115 Rseding91]<br />
<br />
{{Prototype property|resource_patch_search_radius|[[Types/uint32|uint32]]|3|optional=true}}<br />
When hovering over this resource in the map view: How far to search for other resource patches of this type to display as one (summing amount, white outline).<br />
<br />
{{Prototype property|category|[[Types/string|string]]|"basic-solid"|optional=true}}<br />
The category for the resource. Available categories in vanilla can be found here: [[Data.raw#resource-category]]<br />
<br />
{{Prototype property|walking_sound|[[Types/Sound|Sound]]|optional=true}}<br />
Sound played when the player walks over this resource.<br />
<br />
{{Prototype property|stages_effect|[[Types/AnimationVariations|AnimationVariations]]|optional=true}}<br />
An effect that can be overlayed above the normal ore graphics. Used in the base game to make [[uranium ore]] glow.<br />
<br />
{{Prototype property|effect_animation_period|[[Types/float|float]]|0.0|optional=true}}<br />
How long it takes <code>stages_effect</code> to go from <code>min_effect_alpha</code> to <code>max_effect_alpha</code>.<br />
<br />
{{Prototype property|effect_animation_period_deviation|[[Types/float|float]]|0.0|optional=true}}<br />
How much <code>effect_animation_period</code> can deviate from its original value. Used to make the stages effect alpha change look less uniform.<br />
<br />
{{Prototype property|effect_darkness_multiplier|[[Types/float|float]]|1.0|optional=true}}<br />
How much the surface darkness should affect the alpha of <code>stages_effect</code>.<br />
<br />
{{Prototype property|min_effect_alpha|[[Types/float|float]]|0.0|optional=true}}<br />
Minimal alpha value of <code>stages_effect</code>.<br />
<br />
{{Prototype property|max_effect_alpha|[[Types/float|float]]|1.0|optional=true}}<br />
Maximal alpha value of <code>stages_effect</code>.<br />
<br />
{{Prototype property|tree_removal_probability|[[Types/double|double]]|0|optional=true}}<br />
Must be positive.<br />
<br />
{{Prototype property|tree_removal_max_distance|[[Types/double|double]]|0|optional=true}}<br />
Must be positive when <code>tree_removal_probability</code> is set.<br />
<br />
{{Prototype property|mining_visualisation_tint|[[Types/Color|Color]]|unset|optional=true}}<br />
Defaults to the resources map color if left unset and map color is set, otherwise defaults to white if left unset.<br />
<br />
== Example ==<br />
<syntaxhighlight lang="lua">{<br />
type = "resource",<br />
name = "crude-oil",<br />
icon = "__base__/graphics/icons/crude-oil.png",<br />
icon_size = 32,<br />
flags = {"placeable-neutral"},<br />
category = "basic-fluid",<br />
order="a-b-a",<br />
infinite = true,<br />
highlight = true,<br />
minimum = 60000,<br />
normal = 300000,<br />
infinite_depletion_amount = 10,<br />
resource_patch_search_radius = 12,<br />
tree_removal_probability = 0.7,<br />
tree_removal_max_distance = 32 * 32,<br />
minable =<br />
{<br />
mining_time = 1,<br />
results =<br />
{<br />
{<br />
type = "fluid",<br />
name = "crude-oil",<br />
amount_min = 10,<br />
amount_max = 10,<br />
probability = 1<br />
}<br />
}<br />
},<br />
collision_box = {{ -1.4, -1.4}, {1.4, 1.4}},<br />
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},<br />
autoplace = resource_autoplace.resource_autoplace_settings{<br />
name = "crude-oil",<br />
order = "c", -- Other resources are "b"; oil won't get placed if something else is already there.<br />
base_density = 8.2,<br />
base_spots_per_km2 = 1.8,<br />
random_probability = 1/48,<br />
random_spot_size_minimum = 1,<br />
random_spot_size_maximum = 1, -- don't randomize spot size<br />
additional_richness = 220000, -- this increases the total everywhere, so base_density needs to be decreased to compensate<br />
has_starting_area_placement = false,<br />
resource_index = resource_autoplace.resource_indexes["crude-oil"],<br />
regular_rq_factor_multiplier = 1<br />
},<br />
stage_counts = {0},<br />
stages =<br />
{<br />
sheet =<br />
{<br />
filename = "__base__/graphics/entity/crude-oil/crude-oil.png",<br />
priority = "extra-high",<br />
width = 75,<br />
height = 61,<br />
frame_count = 4,<br />
variation_count = 1<br />
}<br />
},<br />
map_color = {r=0.78, g=0.2, b=0.77},<br />
map_grid = false<br />
}</syntaxhighlight></div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/RecipeCategory&diff=188703Prototype/RecipeCategory2022-03-17T13:38:28Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|PrototypeBase}}<br />
A [[Prototype/Recipe|recipe]] category. The built-in categories can be found [[Data.raw#recipe-category|here]]. See [[Prototype/Recipe#category]]. [[Prototype/Recipe|Recipe]] categories can be used to specify which [[Prototype/CraftingMachine|machine]] can craft which recipes. <br />
<br />
{{Prototype TOC|recipe-category|no-properties=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/FluidIngredientPrototype&diff=188684Types/FluidIngredientPrototype2022-03-15T17:14:46Z<p>Meifraye: /* fluidbox_index */</p>
<hr />
<div>A fluid ingredient definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/IngredientPrototype]] being "fluid".<br />
<br />
== Mandatory properties ==<br />
<br />
=== name ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Fluid]].<br />
<br />
=== amount ===<br />
'''Type''': [[Types/double]]<br />
<br />
== Optional properties ==<br />
<br />
=== temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
Sets the expected temperature of the fluid ingredient.<br />
<br />
=== minimum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
If [[#temperature]] is not set, this sets the expected ''minimum'' temperature of the fluid ingredient.<br />
<br />
=== maximum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
If [[#temperature]] is not set, this sets the expected ''maximum'' temperature of the fluid ingredient.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 0<br />
<br />
Amount of this ingredient that should not be included in the fluid consumption statistics. Usually used together with an equal catalyst amount on the "product" of the catalyst in the recipe.<br />
<br />
=== fluidbox_index ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0 (no specific fluidbox)<br />
<br />
Used to specify which [[Prototype/CraftingMachine#fluid_boxes|fluidbox]] this product should use on the [[Prototype/CraftingMachine|machine]]. It will only use this one [[Prototype/CraftingMachine#fluid_boxes|fluidbox]].<br />
<br />
== Example ==<br />
<br />
<syntaxhighlight lang="lua"><br />
{type="fluid", name="water", amount=50}</syntaxhighlight><br />
<br />
== See also ==<br />
* [[Types/IngredientPrototype]]<br />
* [[Types/ItemIngredientPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/FluidIngredientPrototype&diff=188683Types/FluidIngredientPrototype2022-03-15T17:07:31Z<p>Meifraye: /* fluidbox_index */</p>
<hr />
<div>A fluid ingredient definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/IngredientPrototype]] being "fluid".<br />
<br />
== Mandatory properties ==<br />
<br />
=== name ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Fluid]].<br />
<br />
=== amount ===<br />
'''Type''': [[Types/double]]<br />
<br />
== Optional properties ==<br />
<br />
=== temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
Sets the expected temperature of the fluid ingredient.<br />
<br />
=== minimum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
If [[#temperature]] is not set, this sets the expected ''minimum'' temperature of the fluid ingredient.<br />
<br />
=== maximum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
If [[#temperature]] is not set, this sets the expected ''maximum'' temperature of the fluid ingredient.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 0<br />
<br />
Amount of this ingredient that should not be included in the fluid consumption statistics. Usually used together with an equal catalyst amount on the "product" of the catalyst in the recipe.<br />
<br />
=== fluidbox_index ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0 (no specific fluidbox)<br />
<br />
Used to specify which [[Types/FluidBox|fluidbox]] this product should use on the machine. It will only use this one [[Types/FluidBox|fluidbox]].<br />
<br />
== Example ==<br />
<br />
<syntaxhighlight lang="lua"><br />
{type="fluid", name="water", amount=50}</syntaxhighlight><br />
<br />
== See also ==<br />
* [[Types/IngredientPrototype]]<br />
* [[Types/ItemIngredientPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Reactor&diff=188573Prototype/Reactor2022-03-05T03:48:29Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
A [[nuclear reactor|reactor]].<br />
<br />
{{Prototype TOC|reactor}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|working_light_picture|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|heat_buffer|[[Types/HeatBuffer|HeatBuffer]]}}<br />
The energy output as heat interface.<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
May not be a heat energy source.<br />
This is the energy it pull from,in vanilla it was a burner that consume fuel.<br />
<br />
{{Prototype property|consumption|[[Types/Energy|Energy]]}}<br />
How many energy is converted during the process.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents connected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents unconnected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|heat_connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_connected</code>.<br />
<br />
{{Prototype property|heat_connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_disconnected</code>.<br />
<br />
{{Prototype property|lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|heat_lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|meltdown_action|[[Types/Trigger|Trigger]]|optional=true}}<br />
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.<br />
<br />
{{Prototype property|neighbour_bonus|[[Types/double|double]]|1|optional=true}}<br />
May be negative,but will round up to 0.<br />
<br />
{{Prototype property|scale_energy_usage|[[Types/bool|bool]]|false|optional=true}}<br />
when this is false,reactor will stop consume fuel/energy when temperature is reach the maximum.<br />
<br />
{{Prototype property|use_fuel_glow_color|[[Types/bool|bool]]|false|optional=true}}<br />
Whether the reactor should use [[Prototype/Item#fuel_glow_color|fuel_glow_color]] from the fuel item prototype as light color and tint for <code>working_light_picture</code>.[https://forums.factorio.com/71121]<br />
<br />
{{Prototype property|default_fuel_glow_color|[[Types/Color|Color]]|<nowiki>{1, 1, 1, 1} (white)</nowiki>|optional=true}}<br />
When <code>use_fuel_glow_color</code> is true, this is the color used as <code>working_light_picture</code> tint for fuels that don't have glow color defined.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Reactor&diff=188572Prototype/Reactor2022-03-05T03:45:17Z<p>Meifraye: /* Mandatory properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
A [[nuclear reactor|reactor]].<br />
<br />
{{Prototype TOC|reactor}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|working_light_picture|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|heat_buffer|[[Types/HeatBuffer|HeatBuffer]]}}<br />
The energy output as heat interface.<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
May not be a heat energy source.<br />
This is the energy it pull from,in vanilla it was a burner that consume fuel.<br />
<br />
{{Prototype property|consumption|[[Types/Energy|Energy]]}}<br />
How many energy is converted during the process.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents connected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents unconnected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|heat_connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_connected</code>.<br />
<br />
{{Prototype property|heat_connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_disconnected</code>.<br />
<br />
{{Prototype property|lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|heat_lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|meltdown_action|[[Types/Trigger|Trigger]]|optional=true}}<br />
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.<br />
<br />
{{Prototype property|neighbour_bonus|[[Types/double|double]]|1|optional=true}}<br />
<br />
{{Prototype property|scale_energy_usage|[[Types/bool|bool]]|false|optional=true}}<br />
when this is false,reactor will stop consume fuel/energy when temperature is reach the maximum.<br />
<br />
{{Prototype property|use_fuel_glow_color|[[Types/bool|bool]]|false|optional=true}}<br />
Whether the reactor should use [[Prototype/Item#fuel_glow_color|fuel_glow_color]] from the fuel item prototype as light color and tint for <code>working_light_picture</code>.[https://forums.factorio.com/71121]<br />
<br />
{{Prototype property|default_fuel_glow_color|[[Types/Color|Color]]|<nowiki>{1, 1, 1, 1} (white)</nowiki>|optional=true}}<br />
When <code>use_fuel_glow_color</code> is true, this is the color used as <code>working_light_picture</code> tint for fuels that don't have glow color defined.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Reactor&diff=188571Prototype/Reactor2022-03-05T03:43:33Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
A [[nuclear reactor|reactor]].<br />
<br />
{{Prototype TOC|reactor}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|working_light_picture|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|heat_buffer|[[Types/HeatBuffer|HeatBuffer]]}}<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
May not be a heat energy source.<br />
<br />
{{Prototype property|consumption|[[Types/Energy|Energy]]}}<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents connected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. Each variation represents unconnected heat buffer connection of corresponding index.<br />
<br />
{{Prototype property|heat_connection_patches_connected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_connected</code>.<br />
<br />
{{Prototype property|heat_connection_patches_disconnected|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}<br />
If defined, number of variations must be at least equal to count of [[Types/HeatBuffer#connections|connections]] defined in <code>heat_buffer</code>. When reactor is heated, corresponding variations are drawn over <code>connection_patches_disconnected</code>.<br />
<br />
{{Prototype property|lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|heat_lower_layer_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
<br />
{{Prototype property|meltdown_action|[[Types/Trigger|Trigger]]|optional=true}}<br />
The action is triggered when the reactor dies (is destroyed) at over 90% of max temperature.<br />
<br />
{{Prototype property|neighbour_bonus|[[Types/double|double]]|1|optional=true}}<br />
<br />
{{Prototype property|scale_energy_usage|[[Types/bool|bool]]|false|optional=true}}<br />
when this is false,reactor will stop consume fuel/energy when temperature is reach the maximum.<br />
<br />
{{Prototype property|use_fuel_glow_color|[[Types/bool|bool]]|false|optional=true}}<br />
Whether the reactor should use [[Prototype/Item#fuel_glow_color|fuel_glow_color]] from the fuel item prototype as light color and tint for <code>working_light_picture</code>.[https://forums.factorio.com/71121]<br />
<br />
{{Prototype property|default_fuel_glow_color|[[Types/Color|Color]]|<nowiki>{1, 1, 1, 1} (white)</nowiki>|optional=true}}<br />
When <code>use_fuel_glow_color</code> is true, this is the color used as <code>working_light_picture</code> tint for fuels that don't have glow color defined.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/MiningDrill&diff=188128Prototype/MiningDrill2022-02-02T23:06:08Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
A [[Burner_mining_drill|mining drill]] or [[Pumpjack|Pumpjack]],used for extract [[Item]] or [[Fluid_system|Fluid]] from [[Prototype/ResourceEntity|resource entity]],each "mining operation" might require certain fluid.<br />
<br />
{{Prototype TOC|mining-drill}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits the properties of [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|vector_to_place_result|[[Types/vector|vector]]}}<br />
The position where any item results are placed, when the mining drill is facing north (default direction).<br />
<br />
{{Prototype property|resource_searching_radius|[[Types/double|double]]}}<br />
The distance from the centre of the mining drill to search for resources in.<br />
<br />
This is 2.49 for electric mining drills (a 5x5 area) and 0.99 for burner mining drills (a 2x2 area). The drill searches resource outside its natural boundary box, which is 0.01 (the middle of the entity); making it 2.5 and 1.0 gives it another block radius.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy used by the drill while mining. Can't be less than or equal to 0.<br />
<br />
{{Prototype property|mining_speed|[[Types/double|double]]}}<br />
The speed of this drill.<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The energy source of this mining drill.<br />
<br />
{{Prototype property|resource_categories|[[Types/table|array]] of [[Types/string|string]]}}<br />
The names of the [[Prototype/ResourceCategory]] that can be mined by this drill. For a list on built-in categories, see [[Data.raw#resource-category]].</br><br />
Note: Categories containing resources which produce items, fluids, or items+fluids may be combined on the same entity, but may not work as expected.</br><br />
Examples: Miner does not rotate fluid-resulting resources until depletion. Fluid isn't output (fluid resource change and fluidbox matches previous fluid). Miner with no vector_to_place_result can't output an item result and halts.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|output_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}<br />
<br />
{{Prototype property|input_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}<br />
<br />
{{Prototype property|animations|[[Types/Animation4Way|Animation4Way]]|optional=true}}<br />
Loaded only if <code>graphics_set</code> does not exist.<br />
<br />
{{Prototype property|graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}<br />
<br />
{{Prototype property|wet_mining_graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}<br />
<br />
{{Prototype property|base_picture|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}<br />
Used by the [[pumpjack]] to have a static 4 way sprite.<br />
<br />
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}<br />
<br />
{{Prototype property|radius_visualisation_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite used to show the range of the mining drill.<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|base_render_layer|[[Types/RenderLayer|RenderLayer]]|"lower-object"|optional=true}}<br />
<br />
{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}<br />
Productivity bonus that this machine always has.<br />
<br />
{{Prototype property|monitor_visualization_tint|[[Types/Color|Color]]|optional=true}}<br />
When this mining drill is connected to the circuit network, the resource that it is reading (either the entire resource patch, or the resource in the mining area of the drill, depending on circuit network setting), is tinted in this color when mousing over the mining drill.<br />
<br />
{{Prototype property|circuit_wire_connection_points|[[Types/table|table]] of [[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
Mandatory if circuit_wire_max_distance > 0.<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/table|table]] of [[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
Mandatory if circuit_wire_max_distance > 0.<br />
<br />
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/MiningDrill&diff=188127Prototype/MiningDrill2022-02-02T23:05:26Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithOwner}}<br />
A [[Burner_mining_drill|mining drill]] or [[Pumpjack|Pumpjack]],used for extract [[Item]] or [[Fluid]] from [[Prototype/ResourceEntity|resource entity]],each "mining operation" might require certain fluid.<br />
<br />
{{Prototype TOC|mining-drill}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits the properties of [[Prototype/EntityWithOwner]].<br />
<br />
{{Prototype property|vector_to_place_result|[[Types/vector|vector]]}}<br />
The position where any item results are placed, when the mining drill is facing north (default direction).<br />
<br />
{{Prototype property|resource_searching_radius|[[Types/double|double]]}}<br />
The distance from the centre of the mining drill to search for resources in.<br />
<br />
This is 2.49 for electric mining drills (a 5x5 area) and 0.99 for burner mining drills (a 2x2 area). The drill searches resource outside its natural boundary box, which is 0.01 (the middle of the entity); making it 2.5 and 1.0 gives it another block radius.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy used by the drill while mining. Can't be less than or equal to 0.<br />
<br />
{{Prototype property|mining_speed|[[Types/double|double]]}}<br />
The speed of this drill.<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The energy source of this mining drill.<br />
<br />
{{Prototype property|resource_categories|[[Types/table|array]] of [[Types/string|string]]}}<br />
The names of the [[Prototype/ResourceCategory]] that can be mined by this drill. For a list on built-in categories, see [[Data.raw#resource-category]].</br><br />
Note: Categories containing resources which produce items, fluids, or items+fluids may be combined on the same entity, but may not work as expected.</br><br />
Examples: Miner does not rotate fluid-resulting resources until depletion. Fluid isn't output (fluid resource change and fluidbox matches previous fluid). Miner with no vector_to_place_result can't output an item result and halts.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|output_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}<br />
<br />
{{Prototype property|input_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}<br />
<br />
{{Prototype property|animations|[[Types/Animation4Way|Animation4Way]]|optional=true}}<br />
Loaded only if <code>graphics_set</code> does not exist.<br />
<br />
{{Prototype property|graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}<br />
<br />
{{Prototype property|wet_mining_graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}<br />
<br />
{{Prototype property|base_picture|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}<br />
Used by the [[pumpjack]] to have a static 4 way sprite.<br />
<br />
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}<br />
<br />
{{Prototype property|radius_visualisation_picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite used to show the range of the mining drill.<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|base_render_layer|[[Types/RenderLayer|RenderLayer]]|"lower-object"|optional=true}}<br />
<br />
{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}<br />
Productivity bonus that this machine always has.<br />
<br />
{{Prototype property|monitor_visualization_tint|[[Types/Color|Color]]|optional=true}}<br />
When this mining drill is connected to the circuit network, the resource that it is reading (either the entire resource patch, or the resource in the mining area of the drill, depending on circuit network setting), is tinted in this color when mousing over the mining drill.<br />
<br />
{{Prototype property|circuit_wire_connection_points|[[Types/table|table]] of [[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
Mandatory if circuit_wire_max_distance > 0.<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/table|table]] of [[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
Mandatory if circuit_wire_max_distance > 0.<br />
<br />
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/AutoplaceControl&diff=187855Prototype/AutoplaceControl2022-01-14T23:51:40Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|PrototypeBase}}<br />
A setting in the map creation GUI. Used by the [[Types/AutoplaceSpecification#control|autoplace system]]. Only 255 instances of this prototype may be defined.<br />
<br />
{{Prototype TOC|autoplace-control}}<br />
<br />
== Mandatory properties ==<br />
Inherits all properties from [[PrototypeBase]].<br />
<br />
{{Prototype property|category|[[Types/string|string]]}}<br />
Either "resource", "terrain" or "enemy". Controls in what tab the autoplace is shown in the map generator GUI.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|richness|[[Types/bool|bool]]|false|optional=true}}<br />
Sets whether this control's richness can be set by the player or not,however it can only be adjusted in gui when category is "resource".<br />
<br />
for example,tree do have richness but its category is "terrain",as result you will not able to change it because gui wasn`t display it.<br />
<br />
If your autoplace control is used to generate ores, you probably want this to be true.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Tutorial:Mod_structure&diff=187822Tutorial:Mod structure2022-01-10T20:55:08Z<p>Meifraye: Undo revision 187821 by Meifraye (talk)</p>
<hr />
<div>Mods are expected to have a certain structure in order to be loaded by the game. This page aims to explain that file structure and what each file is used for.<br />
<br />
== Mod folder and file structure ==<br />
<br />
The mod must either be in a folder, or in a folder inside a zip file. The mod folder (no zip file) must either be named in the pattern of <code>{mod-name}_{version-number}</code> or just <code>{mod-name}</code>, for example <code>test-mod-thing</code>. The mod zip must be named in the pattern of <code>{mod-name}_{version-number}</code>, for example <code>test-mod-thing_0.0.1</code>. When using a zip file for the mod, the folder inside the zip file does not have any naming restrictions; only the zip file itself must be named with the <code>{mod-name}_{version-number}</code> pattern. The mod name and its version number are defined in the [[#info.json|info.json]] file.<br />
<br />
=== Files ===<br />
Inside the mod folder, the game automatically reads the following files during load:<br />
* info.json — The only mandatory file. The [[#info.json|info.json]] identifies the mod, defines its version and other general properties.<br />
* changelog.txt — Version history of the mod, to be shown in the mod browser. The changelog file must follow the strict [[Tutorial:Mod changelog format|formatting requirements]].<br />
* thumbnail.png — Thumbnail to be shown on the mod portal and in the mod browser in-game. Ideally a 144x144px image file.<br />
* settings.lua — This and the next two files are used to set up mod [[Tutorial:Mod settings|configuration options]].<br />
* settings-updates.lua<br />
* settings-final-fixes.lua<br />
* data.lua — This and the next two files are used to define [[Prototype definitions|prototypes]].<br />
* data-updates.lua — The load order of the three data*.lua files is explained on [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle].<br />
* data-final-fixes.lua<br />
* control.lua — This file is used for runtime scripting. Runtime scripting is documented on [https://lua-api.factorio.com/latest/index.html lua-api.factorio.com].<br />
<br />
=== Subfolders ===<br />
Furthermore, the following folders inside the mod folder are recognized by the game:<br />
* locale — Can contain up to one subfolder per language, identified with the language code, for example <code>en</code> for English. The subfolder then has to contain at least one *.cfg file which defines the [[Tutorial:Localisation|translations]] for that language.<br />
* scenarios — Custom [[scenario system|scenarios]] can be placed in subfolders of this folder.<br />
* campaigns — Custom campaigns can be placed in subfolders of this folder.<br />
* tutorials — Custom [[Prototype/Tutorial|tutorials]] can be placed in subfolders of this folder.<br />
* migrations — [https://lua-api.factorio.com/latest/Migrations.html Migration files] are placed in this folder. They are a way to handle prototype changes and mod data structure changes between mod versions or game versions.<br />
<br />
=== Example ===<br />
Here is an example directory structure for a mod titled <code>my-armor-mod</code> with a version number of <code>0.3.6</code>:<br />
<br />
<pre><br />
my-armor-mod_0.3.6.zip<br />
|- aFolderName/<br />
|- control.lua<br />
|- data.lua<br />
|- info.json<br />
|- thumbnail.png<br />
</pre><br />
<br />
== info.json ==<br />
<br />
The info.json file identifies the mod and defines its version. If the game encounters a problem when parsing the file, the error message can be found in the [[log file]]. A minimal info.json file can look like this:<br />
{<br />
"name": "test-mod-thing",<br />
"version": "0.0.1",<br />
"title": "My best test mod",<br />
"author": "A very great tester",<br />
"factorio_version": "1.1",<br />
"dependencies": ["? optional-mod"]<br />
}<br />
<br />
The info.json file supports the following fields:<br />
<br />
=== name ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The internal name of mod. The game accepts anything as a mod name, however the mod portal restricts mod names to only consist of alphanumeric characters, dashes and underscores. Note that the mod folder or mod zip file name has to contain the mod name, where the restrictions of the file system apply.<br />
<br />
: The game accepts mod names with a maximum length of 100 characters. The mod portal only accepts mods with names that are longer than 3 characters and shorter than 50 characters.<br />
<br />
=== version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. Defines the version of the mod in the format <code>"number.number.number"</code> for <code>"main.major.minor"</code>, for example <code>"0.6.4"</code>. Each number can range from 0 to 65535.<br />
<br />
=== title === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The display name of the mod, so it is not recommended to use someUgly_pRoGrAmMeR-name here. Can be overwritten with a locale entry in the <code>mod-name</code> category, using the internal mod name as the key.<br />
<br />
: The game will reject a title field that is longer than 100 characters. However, this can be worked around by using the locale entry. The mod portal does not restrict mod title length.<br />
<br />
=== author === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The author of the mod. This field does not have restrictions, it can also be a list of authors etc. The mod portal ignores this field, it will simply display the uploader's name as the author.<br />
<br />
=== contact === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. How the mod author can be contacted, for example an email address.<br />
<br />
=== homepage === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. Where the mod can be found on the internet. Note that the in-game mod browser shows the mod portal link additionally to this field. Please don't put "None" here, it makes the field on the mod portal website look ugly. Just leave the field empty if the mod doesn't have a website/forum thread/discord.<br />
<br />
=== description === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. A short description of what your mod does. This is all that people get to see in-game. Can be overwritten with a locale entry in the <code>mod-description</code> category, using the internal mod name as the key.<br />
<br />
=== factorio_version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: '''Default''': "0.12"<br />
<br />
: Optional field. The major Factorio version that this mod supports. This can only be one version, not multiple. While the field is optional, usually mods are developed for major versions higher than the default 0.12, so the field has to be added anyway.<br />
: Adding a minor version, e.g. "0.18.'''27'''" will make the mod portal reject the mod and the game act weirdly. That means this shouldn't be done; use only main and major version <code>"main.major"</code>, for example <code>"1.0"</code>.<br />
: Mods with the factorio_version "0.18" can also be loaded in 1.0 and the mod portal will return them when queried for factorio_version 1.0 mods.<br />
<br />
=== dependencies ===<br />
: '''Type''': array of [[#Dependency]]<br />
<br />
: '''Default''': ["base"]<br />
<br />
: Optional field. Mods that this mod depends on or is incompatible with. If this mod depends on another, the other mod will load first, see [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle]. An empty array allows get around the default and have no dependencies at all.<br />
<br />
: Example:<br />
: <pre>"dependencies": ["mod-a", "? mod-c > 0.4.3", "! mod-g"]</pre><br />
<br />
:: <h4><span class="mw-headline" id="Dependency">Dependency</span></h4><br />
:: Each dependency is a string that consists of up to three parts: <code>"<prefix> internal-mod-name <equality-operator version>"</code>, for example <code>"? some-mod-everyone-loves >= 4.2.0"</code>. The possible prefixes are: <code>!</code> for incompatibility, <code>?</code> for an optional dependency, <code>(?)</code> for a hidden optional dependency, <code>~</code> for a dependency that does not affect load order, or no prefix for a hard requirement for the other mod. The equality operator (<code><, <=, =, >= or ></code>) combined with the version allows to define dependencies that require certain mod versions, but it is not required. Incompatibility does not support versions, if you use incompatibility you are incompatible with the entire mod.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Tutorial:Mod_structure&diff=187821Tutorial:Mod structure2022-01-10T20:52:29Z<p>Meifraye: /* Mod folder and file structure */</p>
<hr />
<div>Mods are expected to have a certain structure in order to be loaded by the game. This page aims to explain that file structure and what each file is used for.<br />
<br />
== Mod folder and file structure ==<br />
<br />
The mod must either be in a folder, or in a folder inside a zip file. The mod folder (no zip file) must either be named in the pattern of <code>{mod-name}_{version-number}</code> or just <code>{mod-name}</code>, for example <code>test-mod-thing</code>. The mod zip must be named in the pattern of <code>{mod-name}_{version-number}</code>, for example <code>test-mod-thing_0.0.1</code>. When using a zip file for the mod, the folder inside the zip file does not have any naming restrictions; only the zip file itself must be named with the <code>{mod-name}_{version-number}</code> pattern. The mod name and its version number are defined in the [[#info.json|info.json]] file.<br />
<br />
Worth noticing if any filename was included non-ascii character,the zip file might not be reconized by game.<br />
<br />
=== Files ===<br />
Inside the mod folder, the game automatically reads the following files during load:<br />
* info.json — The only mandatory file. The [[#info.json|info.json]] identifies the mod, defines its version and other general properties.<br />
* changelog.txt — Version history of the mod, to be shown in the mod browser. The changelog file must follow the strict [[Tutorial:Mod changelog format|formatting requirements]].<br />
* thumbnail.png — Thumbnail to be shown on the mod portal and in the mod browser in-game. Ideally a 144x144px image file.<br />
* settings.lua — This and the next two files are used to set up mod [[Tutorial:Mod settings|configuration options]].<br />
* settings-updates.lua<br />
* settings-final-fixes.lua<br />
* data.lua — This and the next two files are used to define [[Prototype definitions|prototypes]].<br />
* data-updates.lua — The load order of the three data*.lua files is explained on [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle].<br />
* data-final-fixes.lua<br />
* control.lua — This file is used for runtime scripting. Runtime scripting is documented on [https://lua-api.factorio.com/latest/index.html lua-api.factorio.com].<br />
<br />
=== Subfolders ===<br />
Furthermore, the following folders inside the mod folder are recognized by the game:<br />
* locale — Can contain up to one subfolder per language, identified with the language code, for example <code>en</code> for English. The subfolder then has to contain at least one *.cfg file which defines the [[Tutorial:Localisation|translations]] for that language.<br />
* scenarios — Custom [[scenario system|scenarios]] can be placed in subfolders of this folder.<br />
* campaigns — Custom campaigns can be placed in subfolders of this folder.<br />
* tutorials — Custom [[Prototype/Tutorial|tutorials]] can be placed in subfolders of this folder.<br />
* migrations — [https://lua-api.factorio.com/latest/Migrations.html Migration files] are placed in this folder. They are a way to handle prototype changes and mod data structure changes between mod versions or game versions.<br />
<br />
=== Example ===<br />
Here is an example directory structure for a mod titled <code>my-armor-mod</code> with a version number of <code>0.3.6</code>:<br />
<br />
<pre><br />
my-armor-mod_0.3.6.zip<br />
|- aFolderName/<br />
|- control.lua<br />
|- data.lua<br />
|- info.json<br />
|- thumbnail.png<br />
</pre><br />
<br />
== info.json ==<br />
<br />
The info.json file identifies the mod and defines its version. If the game encounters a problem when parsing the file, the error message can be found in the [[log file]]. A minimal info.json file can look like this:<br />
{<br />
"name": "test-mod-thing",<br />
"version": "0.0.1",<br />
"title": "My best test mod",<br />
"author": "A very great tester",<br />
"factorio_version": "1.1",<br />
"dependencies": ["? optional-mod"]<br />
}<br />
<br />
The info.json file supports the following fields:<br />
<br />
=== name ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The internal name of mod. The game accepts anything as a mod name, however the mod portal restricts mod names to only consist of alphanumeric characters, dashes and underscores. Note that the mod folder or mod zip file name has to contain the mod name, where the restrictions of the file system apply.<br />
<br />
: The game accepts mod names with a maximum length of 100 characters. The mod portal only accepts mods with names that are longer than 3 characters and shorter than 50 characters.<br />
<br />
=== version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. Defines the version of the mod in the format <code>"number.number.number"</code> for <code>"main.major.minor"</code>, for example <code>"0.6.4"</code>. Each number can range from 0 to 65535.<br />
<br />
=== title === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The display name of the mod, so it is not recommended to use someUgly_pRoGrAmMeR-name here. Can be overwritten with a locale entry in the <code>mod-name</code> category, using the internal mod name as the key.<br />
<br />
: The game will reject a title field that is longer than 100 characters. However, this can be worked around by using the locale entry. The mod portal does not restrict mod title length.<br />
<br />
=== author === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The author of the mod. This field does not have restrictions, it can also be a list of authors etc. The mod portal ignores this field, it will simply display the uploader's name as the author.<br />
<br />
=== contact === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. How the mod author can be contacted, for example an email address.<br />
<br />
=== homepage === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. Where the mod can be found on the internet. Note that the in-game mod browser shows the mod portal link additionally to this field. Please don't put "None" here, it makes the field on the mod portal website look ugly. Just leave the field empty if the mod doesn't have a website/forum thread/discord.<br />
<br />
=== description === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. A short description of what your mod does. This is all that people get to see in-game. Can be overwritten with a locale entry in the <code>mod-description</code> category, using the internal mod name as the key.<br />
<br />
=== factorio_version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: '''Default''': "0.12"<br />
<br />
: Optional field. The major Factorio version that this mod supports. This can only be one version, not multiple. While the field is optional, usually mods are developed for major versions higher than the default 0.12, so the field has to be added anyway.<br />
: Adding a minor version, e.g. "0.18.'''27'''" will make the mod portal reject the mod and the game act weirdly. That means this shouldn't be done; use only main and major version <code>"main.major"</code>, for example <code>"1.0"</code>.<br />
: Mods with the factorio_version "0.18" can also be loaded in 1.0 and the mod portal will return them when queried for factorio_version 1.0 mods.<br />
<br />
=== dependencies ===<br />
: '''Type''': array of [[#Dependency]]<br />
<br />
: '''Default''': ["base"]<br />
<br />
: Optional field. Mods that this mod depends on or is incompatible with. If this mod depends on another, the other mod will load first, see [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle]. An empty array allows get around the default and have no dependencies at all.<br />
<br />
: Example:<br />
: <pre>"dependencies": ["mod-a", "? mod-c > 0.4.3", "! mod-g"]</pre><br />
<br />
:: <h4><span class="mw-headline" id="Dependency">Dependency</span></h4><br />
:: Each dependency is a string that consists of up to three parts: <code>"<prefix> internal-mod-name <equality-operator version>"</code>, for example <code>"? some-mod-everyone-loves >= 4.2.0"</code>. The possible prefixes are: <code>!</code> for incompatibility, <code>?</code> for an optional dependency, <code>(?)</code> for a hidden optional dependency, <code>~</code> for a dependency that does not affect load order, or no prefix for a hard requirement for the other mod. The equality operator (<code><, <=, =, >= or ></code>) combined with the version allows to define dependencies that require certain mod versions, but it is not required. Incompatibility does not support versions, if you use incompatibility you are incompatible with the entire mod.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/ItemProductPrototype&diff=187820Types/ItemProductPrototype2022-01-09T20:30:39Z<p>Meifraye: /* A Custom Result */</p>
<hr />
<div>__NOTOC__An item product definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/ProductPrototype]] being "item". It can be specified as a table with named or numbered keys, but not a mix of both.<br />
<br />
== Mandatory properties ==<br />
<br />
=== name or 1 ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Item]].<br />
<br />
== Optional properties ==<br />
<br />
=== amount or 2 ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory when using numbered keys (an array).<br><br />
If <code>amount</code> is present, <code>amount_min</code> and <code>amount_max</code> are not loaded.<br />
<br />
=== probability ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Value between 0 and 1, 0 for 0% chance and 1 for 100% chance.<br />
<br />
=== amount_min ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
=== amount_max ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
If set to a number that is less than <code>amount_min</code>, the game will use <code>amount_min</code> internally.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
'''Default''': 0<br />
<br />
Amount that should not be affected by productivity modules (not yielded from bonus production) and should not be included in the item production statistics.<br><br />
When this value is 0,Product will be produce when green production bar or purple production bar(productivity bar) is full;<br><br />
When this vaule is 65535,Product will ONLY be produce when green production bar is full.<br />
<br />
== Example ==<br />
=== A Custom Result ===<br />
<syntaxhighlight lang="lua"><br />
{type="item",name="iron-plate",amount_min=1,amount_max=3,catalyst_amount=2}<br />
</syntaxhighlight><br />
When green production bar is full.it will produce 1~3 iron plates;<br><br />
When purple production bar is full.it will have 33.33% chance produce 1 iron plates;<br><br />
this is because internally,the range will become (1-2)~(3-2),taht is -1~1 iron plates,<br />
but game will treat negative amount as zero,that is mean range -1~1,or all possible amount {-1,0,1} will become {0,0,1},that is 33.33% chance to get 1 iron plates.<br />
<br />
=== Another Custom Result ===<br />
<syntaxhighlight lang="lua"><br />
{type="item",name="iron-plate",amount_min=1,amount_max=3,catalyst_amount=10}<br />
</syntaxhighlight><br />
When green production bar is full.it will produce 1~3 iron plates;<br><br />
When purple production bar is full.it will NEVER produce iron plates;<br><br />
this is because internally,the range will become (1-10)~(3-10),taht is -9~-7 iron plates,<br />
but game will treat negative amount as zero,that is mean range -9~-7,or all possible amount {-9,-8,-7} will become {0,0,0},that is impossible to get a plate.<br />
<br />
== See also ==<br />
* [[Types/ProductPrototype]]<br />
* [[Types/FluidProductPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/ItemProductPrototype&diff=187819Types/ItemProductPrototype2022-01-09T20:26:41Z<p>Meifraye: </p>
<hr />
<div>__NOTOC__An item product definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/ProductPrototype]] being "item". It can be specified as a table with named or numbered keys, but not a mix of both.<br />
<br />
== Mandatory properties ==<br />
<br />
=== name or 1 ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Item]].<br />
<br />
== Optional properties ==<br />
<br />
=== amount or 2 ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory when using numbered keys (an array).<br><br />
If <code>amount</code> is present, <code>amount_min</code> and <code>amount_max</code> are not loaded.<br />
<br />
=== probability ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Value between 0 and 1, 0 for 0% chance and 1 for 100% chance.<br />
<br />
=== amount_min ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
=== amount_max ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
If set to a number that is less than <code>amount_min</code>, the game will use <code>amount_min</code> internally.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
'''Default''': 0<br />
<br />
Amount that should not be affected by productivity modules (not yielded from bonus production) and should not be included in the item production statistics.<br><br />
When this value is 0,Product will be produce when green production bar or purple production bar(productivity bar) is full;<br><br />
When this vaule is 65535,Product will ONLY be produce when green production bar is full.<br />
<br />
== Example ==<br />
=== A Custom Result ===<br />
<syntaxhighlight lang="lua"><br />
{type="item",name="iron-plate",amount_min=1,amount_max=3,catalyst_amount=2}<br />
</syntaxhighlight><br />
When green production bar is full.it will produce 1~3 iron plates;<br><br />
When purple production bar is full.it will have 33.33% chance produce 1 iron plates;<br><br />
this is because internally,the range will become (1-2)~(3-2),taht is -1~1 iron plates,<br />
but game will treat negative amount as zero,that is mean range -1~1,or all possible amount {-1,0,1} will become {0,0,1},that is 33.33% chance to get 1 iron plates.<br />
<br />
<br />
== See also ==<br />
* [[Types/ProductPrototype]]<br />
* [[Types/FluidProductPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/ItemProductPrototype&diff=187818Types/ItemProductPrototype2022-01-09T20:04:36Z<p>Meifraye: /* catalyst_amount */</p>
<hr />
<div>__NOTOC__An item product definition for a [[Prototype/Recipe]]. Its loading is triggered by the <code>type</code> of a [[Types/ProductPrototype]] being "item". It can be specified as a table with named or numbered keys, but not a mix of both.<br />
<br />
== Mandatory properties ==<br />
<br />
=== name or 1 ===<br />
'''Type''': [[Types/string]]<br />
<br />
The name of a [[Prototype/Item]].<br />
<br />
== Optional properties ==<br />
<br />
=== amount or 2 ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory when using numbered keys (an array).<br><br />
If <code>amount</code> is present, <code>amount_min</code> and <code>amount_max</code> are not loaded.<br />
<br />
=== probability ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Value between 0 and 1, 0 for 0% chance and 1 for 100% chance.<br />
<br />
=== amount_min ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
=== amount_max ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
Mandatory if <code>amount</code> is not specified and named keys are being used.<br />
<br />
If set to a number that is less than <code>amount_min</code>, the game will use <code>amount_min</code> internally.<br />
<br />
=== catalyst_amount ===<br />
'''Type''': [[Types/uint16]]<br />
<br />
'''Default''': 0<br />
<br />
Amount that should not be affected by productivity modules (not yielded from bonus production) and should not be included in the item production statistics.<br><br />
When this value is 0,Product will be produce when green production bar or purple production bar(productivity bar) is full;<br><br />
When this vaule is 65535,Product will ONLY be produce when green production bar is full.<br />
<br />
== See also ==<br />
* [[Types/ProductPrototype]]<br />
* [[Types/FluidProductPrototype]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/TipTrigger&diff=187648Types/TipTrigger2021-11-29T15:34:33Z<p>Meifraye: </p>
<hr />
<div>A [[Types/table]] that is loaded as one of the below listed types, depending on the value of the <code>type</code> key in the table;used in [[Prototype/TipsAndTricksItem]]<br />
<br />
<code>type</code> is a mandatory member of the table and of type [[Types/string|string]]. It may have one of the following values:<br />
* <code>"or"</code> is loaded as a [[#OrTipTrigger|OrTipTrigger]]<br />
* <code>"and"</code> is loaded as a [[#AndTipTrigger|AndTipTrigger]]<br />
* <code>"sequence"</code> is loaded as a [[#SequenceTipTrigger|SequenceTipTrigger]]<br />
* <code>"dependencies-met"</code> is loaded as a [[#DependenciesMetTipTrigger|DependenciesMetTipTrigger]]<br />
* <code>"time-elapsed"</code> is loaded as a [[#TimeElapsedTipTrigger|TimeElapsedTipTrigger]]<br />
* <code>"research"</code> is loaded as a [[#ResearchTechnologyTipTrigger|ResearchTechnologyTipTrigger]]<br />
* <code>"unlock-recipe"</code> is loaded as a [[#UnlockRecipeTipTrigger|UnlockRecipeTipTrigger]]<br />
* <code>"craft-item"</code> is loaded as a [[#CraftItemTipTrigger|CraftItemTipTrigger]]<br />
* <code>"build-entity"</code> is loaded as a [[#BuildEntityTipTrigger|BuildEntityTipTrigger]]<br />
* <code>"manual-transfer"</code> is loaded as a [[#ManualTransferTipTrigger|ManualTransferTipTrigger]]<br />
* <code>"stack-transfer"</code> is loaded as a [[#StackTransferTipTrigger|StackTransferTipTrigger]]<br />
* <code>"entity-transfer"</code> is loaded as a [[#EntityTransferTipTrigger|EntityTransferTipTrigger]]<br />
* <code>"set-recipe"</code> is loaded as a [[#SetRecipeTipTrigger|SetRecipeTipTrigger]]<br />
* <code>"set-filter"</code> is loaded as a [[#SetFilterTipTrigger|SetFilterTipTrigger]]<br />
* <code>"limit-chest"</code> is loaded as a [[#LimitChestTipTrigger|LimitChestTipTrigger]]<br />
* <code>"use-pipette"</code> is loaded as a [[#UsePipetteTipTrigger|UsePipetteTipTrigger]]<br />
* <code>"set-logistic-request"</code> is loaded as a [[#SetLogisticRequestTipTrigger|SetLogisticRequestTipTrigger]]<br />
* <code>"use-confirm"</code> is loaded as a [[#UseConfirmTipTrigger|UseConfirmTipTrigger]]<br />
* <code>"low-power"</code> is loaded as a [[#LowPowerTipTrigger|LowPowerTipTrigger]]<br />
* <code>"paste-entity-settings"</code> is loaded as a [[#PasteEntitySettingsTipTrigger|PasteEntitySettingsTipTrigger]]<br />
* <code>"fast-replace"</code> is loaded as a [[#FastReplaceTipTrigger|FastReplaceTipTrigger]]<br />
* <code>"group-attack"</code> is loaded as a [[#GroupAttackTipTrigger|GroupAttackTipTrigger]]<br />
* <code>"fast-belt-bend"</code> is loaded as a [[#FastBeltBendTipTrigger|FastBeltBendTipTrigger]]<br />
* <code>"belt-traverse"</code> is loaded as a [[#BeltTraverseTipTrigger|BeltTraverseTipTrigger]]<br />
* <code>"place-equipment"</code> is loaded as a [[#PlaceEquipmentTipTrigger|PlaceEquipmentTipTrigger]]<br />
* <code>"clear-cursor"</code> is loaded as a [[#ClearCursorTipTrigger|ClearCursorTipTrigger]]<br />
* <code>"shift-build"</code> is loaded as a [[#ShiftBuildTipTrigger|ShiftBuildTipTrigger]]<br />
* <code>"gate-over-rail-build"</code> is loaded as a [[#GateOverRailBuildTipTrigger|GateOverRailBuildTipTrigger]]<br />
* <code>"manual-wire-drag"</code> is loaded as a [[#ManualWireDragTipTrigger|ManualWireDragTipTrigger]]<br />
<br />
<br />
__TOC__<br />
== OrTipTrigger ==<br />
<code>type = "or"</code><br />
=== triggers ===<br />
'''Type''': [[Types/table]] of [[Types/TipTrigger]]<br />
<br />
Array of other tip triggers, if at least one of them is fulfilled, this tip trigger is considered fulfilled.<br />
<br />
== AndTipTrigger ==<br />
<code>type = "and"</code><br />
=== triggers ===<br />
'''Type''': [[Types/table]] of [[Types/TipTrigger]]<br />
<br />
Array of other tip triggers, if all of them are fulfilled, this tip trigger is considered fulfilled.<br />
<br />
== SequenceTipTrigger ==<br />
<code>type = "sequence"</code><br />
=== triggers ===<br />
'''Type''': [[Types/table]] of [[Types/TipTrigger]]<br />
<br />
Array of other tip triggers.<br />
<br />
== DependenciesMetTipTrigger ==<br />
<code>type = "dependencies-met"</code><br />
This tip trigger is considered fulfilled when the dependencies of the [[Prototype/TipsAndTricksItem]] are fulfilled.<br />
<br />
== TimeElapsedTipTrigger ==<br />
<code>type = "time-elapsed"</code><br />
=== ticks ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
== ResearchTechnologyTipTrigger ==<br />
<code>type = "research"</code><br />
=== technology ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Technology]]. Mandatory.<br />
<br />
== UnlockRecipeTipTrigger ==<br />
<code>type = "unlock-recipe"</code><br />
=== recipe ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Recipe]]. Mandatory.<br />
<br />
== CraftItemTipTrigger ==<br />
<code>type = "craft-item"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== item ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Item]]. Optional.<br />
<br />
=== consecutive ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional. Can only be used with <code>event_type</code> "crafting-finished".<br />
<br />
=== event_type ===<br />
'''Type''': [[Types/string]]<br />
<br />
Mandatory. One of "crafting-of-single-item-ordered", "crafting-of-multiple-items-ordered" or "crafting-finished".<br />
<br />
== BuildEntityTipTrigger ==<br />
<code>type = "build-entity"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== entity ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== match_type_only ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
=== build_by_dragging ===<br />
'''Type''': [[Types/bool]]<br />
<br />
Optional.<br />
<br />
=== consecutive ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional. Building is considered consecutive when the built entity is the same as the last built entity.<br />
<br />
=== linear_power_pole_line ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
=== build_in_line ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
== ManualTransferTipTrigger ==<br />
<code>type = "manual-transfer"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== StackTransferTipTrigger ==<br />
<code>type = "stack-transfer"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== transfer ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': any transfer<br />
<br />
Optional. One of "stack", "inventory" or "whole-inventory".<br />
<br />
== EntityTransferTipTrigger ==<br />
<code>type = "entity-transfer"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== transfer ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': any transfer<br />
<br />
Optional. One of "in" or "out".<br />
<br />
== SetRecipeTipTrigger ==<br />
<code>type = "set-recipe"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== recipe ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Recipe]]. Optional.<br />
<br />
=== machine ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== consecutive ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
=== uses_fluid ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': any (= it does not matter)<br />
<br />
Optional.<br />
<br />
== SetFilterTipTrigger ==<br />
<code>type = "set-filter"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== entity ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== match_type_only ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
=== consecutive ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
== LimitChestTipTrigger ==<br />
<code>type = "limit-chest"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== UsePipetteTipTrigger ==<br />
<code>type = "use-pipette"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== SetLogisticRequestTipTrigger ==<br />
<code>type = "set-logistic-request"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== logistic_chest_only ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
== UseConfirmTipTrigger ==<br />
<code>type = "use-confirm"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== LowPowerTipTrigger ==<br />
<code>type = "low-power"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== PasteEntitySettingsTipTrigger ==<br />
<code>type = "paste-entity-settings"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== source ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== target ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== match_type_only ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
== FastReplaceTipTrigger ==<br />
<code>type = "fast-replace"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== source ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== target ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Entity]]. Optional.<br />
<br />
=== match_type_only ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
Optional.<br />
<br />
== GroupAttackTipTrigger ==<br />
<code>type = "group-attack"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== FastBeltBendTipTrigger ==<br />
<code>type = "fast-belt-bend"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== BeltTraverseTipTrigger ==<br />
<code>type = "belt-traverse"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== PlaceEquipmentTipTrigger ==<br />
<code>type = "place-equipment"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
=== equipment ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Equipment]]. Optional.<br />
<br />
== ClearCursorTipTrigger ==<br />
<code>type = "clear-cursor"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== ShiftBuildTipTrigger ==<br />
<code>type = "shift-build"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== GateOverRailBuildTipTrigger ==<br />
<code>type = "gate-over-rail-build"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.<br />
<br />
== ManualWireDragTipTrigger ==<br />
<code>type = "manual-wire-drag"</code><br />
=== count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 1<br />
<br />
Optional.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Tree&diff=187459Tree2021-11-09T03:30:37Z<p>Meifraye: /* Good methods to remove trees */</p>
<hr />
<div>{{Languages}}<br />
{{:Infobox:Tree}}<br />
'''Trees''' are plants in Factorio. They can be mined for [[wood]], and are the only source of it. Trees are obstacles to construction and must be cleared to provide building space, but they also reduce [[pollution]], so take care not to remove more than necessary. Currently, trees cannot be replanted.<br />
<br />
== Achievements ==<br />
{{Achievement|run-forrest-run}}<br />
{{Achievement|pyromaniac}}<br />
<br />
== Good methods to remove trees ==<br />
<br />
* Mining by hand (*)<br />
* Shooting swaths of trees with a [[shotgun]] or [[combat shotgun]]<br />
* Using [[grenade]]s to blow them up<br />
* Using [[Poison capsule|poison]] to kill them<br />
* Having construction robots harvest them using a [[deconstruction planner]] (*)<br />
* Knocking them down by driving a [[tank]] over them<br />
* Burning them with a [[flamethrower]], causing a forest fire<br />
* Burning them with a flamethrower while in a tank<br />
* Using [[atomic bomb]]s to blow them up<br />
<br />
<small><i>(*) Usable to collect wood. Dead trees will give 2 wood and have a mining time of 0.5. Live trees will give 4 wood and have a mining time of 0.55. All other methods destroy both the tree and the wood.</i></small><br />
<br />
== Fires ==<br />
[[File:ForestFireBegins.gif|frame|A forest fire spreads rapidly after a few moments.]]<br />
Trees can be set on fire by [[flamethrower]]s and [[flamethrower turret]]s. The fire will spread from tree to tree, releasing high amounts of [[pollution]] and leaving stumps and charred trees behind.<br />
<br />
Once on fire, trees cannot be extinguished, but the spread of the fire can be limited by creating a [[wikipedia:Firebreak|fire break]].<br />
<br />
== Pollution removal ==<br />
<br />
Every single tree absorbs a small amount of pollution in its chunk per second. If the total pollution in a chunk is above 60 units, once per second some of the trees in that chunk each have a chance to either lose one stage of leaves or have their leaves become one stage more gray. Regardless of whether the tree loses leaves or gets grayer, 10 pollution are absorbed by the tree.<br><br />
A tree stops losing leaves/becoming more gray once the sum of its gray percentage and its leaves lost percentage is above 120%. 50% of trees stop their leaf progression one stage earlier. As the grayness and leaf stage are then locked for that tree forever, it is possible for trees to keep some leaves in heavily polluted chunks but in turn be very gray, or the other way around.<br><br />
The less dense the leaves, the slower the tree absorbs pollution, however tree grayness does not affect pollution absorption.<br />
<br />
{| class="wikitable"<br />
! Object !! Stage !! Pollution per second<br />
|-<br />
| rowspan="4" | [[File:Green tree.png|120px]] Tree, red tree, brown tree || 0 (Max leaf density) || -0.001<br />
|-<br />
| 1 || -0.00067<br />
|-<br />
| 2 || -0.00033<br />
|-<br />
| 3 (Min leaf density) || 0<br />
|-<br />
| [[File:Dead dry hairy tree.png|120px]] Dead dry hairy tree || No stages || -0.0001<br />
|-<br />
| [[File:Dead grey trunk.png|120px]] Dead gray trunk || No stages || -0.0001<br />
|-<br />
| [[File:Dead tree desert.png|120px]] Dead tree - desert|| No stages || -0.0001<br />
|-<br />
| [[File:Dry hairy tree.png|120px]] Dry hairy tree || No stages || -0.0001<br />
|-<br />
| [[File:Dry tree.png|120px]] Dry tree || No stages || -0.0001<br />
|-<br />
|}<br />
<br />
== History ==<br />
<br />
{{history|0.18.0|<br />
* Added animation to trees.}}<br />
<br />
{{history|0.17.0|<br />
* New graphics.}}<br />
<br />
{{history|0.16.0|<br />
* Tanks no longer take miniscule amounts of damage from hitting trees.}}<br />
<br />
{{history|0.15.28|<br />
* Damaging a tree with impact or physical damage generates some leaves.}}<br />
<br />
{{history|0.13.0|<br />
* Added fire. Fire will spread between trees and cause forest fires, causing a large amount of pollution to be released.}}<br />
<br />
{{history|0.12.0|<br />
* Trees degenerate slowly when there high pollution levels.<br />
* Trees regenerate health slowly.<br />
* Trees have generally smaller bounding boxes, so it is easier to walk through forest.<br />
* New tree graphics. Trees have 4 levels of leaves and the leaves are colorable.<br />
* Trees emit leaves (based on the tree color) when being mined and destroyed.<br />
* Trees emit branches when mined or destroyed.}}<br />
<br />
{{history|0.9.2|<br />
* Changed the amount of wood in dry tree from 1 -> 4.}}<br />
<br />
{{history|0.9.0|<br />
* New graphics: 10 types of trees that replace the outdated 2 types.}}<br />
<br />
{{history|0.3.0|<br />
* New tree graphics (8 dry trees 12 big trees).}}<br />
<br />
== See also ==<br />
<br />
* [[Wood]]<br />
* [[Pollution]]</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/PipeConnectionDefinition&diff=187397Types/PipeConnectionDefinition2021-11-01T08:01:18Z<p>Meifraye: </p>
<hr />
<div>usually as part of [[Types/FluidBox]].<br />
<br />
== Basics ==<br />
Definition of a pipe connection. Used in fluidboxes.<br />
<br />
== Mandatory properties ==<br />
Either <code>position</code> or <code>positions</code> must be specified. (<code>position</code> takes priority)<br />
<br />
=== position ===<br />
'''Type''': [[Types/vector]]<br />
<br />
where the pipe can connect to this fluidbox regardless the directions of entity.<br />
<br />
Position of the pipe connection.<br />
=== positions ===<br />
'''Type''': [[Types/table]] of [[Types/vector]]<br />
<br />
where the pipe can connect to this fluidbox,but with directions,<br />
Table must have 4 members, which are 4 explicit positions for 4 directions of entity. Positions must correspond to directions going one after another.<br />
<br />
== Optional properties ==<br />
=== max_underground_distance ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
0 means not underground.<br />
<br />
=== type ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': "input-output"<br />
<br />
Possible values:<br />
* "input"<br />
* "input-output"<br />
* "output"</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/PipeConnectionDefinition&diff=187396Types/PipeConnectionDefinition2021-11-01T07:57:17Z<p>Meifraye: /* Mandatory properties */</p>
<hr />
<div>== Basics ==<br />
Definition of a pipe connection. Used in fluidboxes.<br />
<br />
== Mandatory properties ==<br />
Either <code>position</code> or <code>positions</code> must be specified. (<code>position</code> takes priority)<br />
<br />
=== position ===<br />
'''Type''': [[Types/vector]]<br />
<br />
where the pipe can connect to this fluidbox regardless the directions of entity.<br />
<br />
Position of the pipe connection.<br />
=== positions ===<br />
'''Type''': [[Types/table]] of [[Types/vector]]<br />
<br />
where the pipe can connect to this fluidbox,but with directions,<br />
Table must have 4 members, which are 4 explicit positions for 4 directions of entity. Positions must correspond to directions going one after another.<br />
<br />
== Optional properties ==<br />
=== max_underground_distance ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
0 means not underground.<br />
<br />
=== type ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': "input-output"<br />
<br />
Possible values:<br />
* "input"<br />
* "input-output"<br />
* "output"</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/PipeConnectionDefinition&diff=187395Types/PipeConnectionDefinition2021-11-01T07:56:44Z<p>Meifraye: /* Mandatory properties */ reformatting</p>
<hr />
<div>== Basics ==<br />
Definition of a pipe connection. Used in fluidboxes.<br />
<br />
== Mandatory properties ==<br />
Either <code>position</code> or <code>positions</code> must be specified. (<code>position</code> takes priority)<br />
<br />
=== position ===<br />
'''Type''': [[Types/vector]]<br />
where the pipe can connect to this fluidbox regardless the directions of entity.<br />
<br />
Position of the pipe connection.<br />
=== positions ===<br />
'''Type''': [[Types/table]] of [[Types/vector]]<br />
where the pipe can connect to this fluidbox,but with directions,<br />
Table must have 4 members, which are 4 explicit positions for 4 directions of entity. Positions must correspond to directions going one after another.<br />
<br />
== Optional properties ==<br />
=== max_underground_distance ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
0 means not underground.<br />
<br />
=== type ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': "input-output"<br />
<br />
Possible values:<br />
* "input"<br />
* "input-output"<br />
* "output"</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/FluidBox&diff=187394Types/FluidBox2021-11-01T07:51:29Z<p>Meifraye: /* Basics */ temporary defail info,for the past I was stuck here,need improvement</p>
<hr />
<div>== Basics ==<br />
[[File:Fluidboxes.png|thumb|550px|Visual representation of base_area, base_level and height. When all the fluidboxes are connected, the water leaves fluidbox A and flows into the other 3 boxes through fluidbox B until the water level is equal in all boxes. For more info about fluids, see [[Fluid system#See also]].]]<br />
Used to set the fluid amount an entity can hold, as well as the connection points for pipes leading into and out of the entity.<br />
<br />
<br />
for each entity,they may have mutiple fluid box,<br />
it can come from both energy source,crafting machines` fluidboxes or just normal property storage tank and pumps etc.<br />
<br />
for each fluidbox,it should only storage ONE type of fluid at time,<br />
but it do storage mutiple fluid(call fluid mixing,a forbidden technique),<br />
to avoid fluid mixing,you can setting up filter for certain fluid,<br />
or it is a crafting machine that will automatically disable unused fluid box.<br />
<br />
for each fluidbox,it may have mutiple connection point(shown as blue arrow in alt mode,some entity won`t display its connection point tho),<br />
fluid may flow in or out depanding on connection point setting,<br />
and connection point may depand on direction this entity currently facing,which will be defined as a table of connections.<br />
<br />
== Mandatory properties ==<br />
<br />
=== pipe_connections ===<br />
'''Type''': [[Types/table]] of [[Types/PipeConnectionDefinition]]<br />
<br />
Max number of members is 255.<br />
<br />
== Optional properties ==<br />
<br />
=== base_area ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Must be greater than 0.<br />
<br />
=== base_level ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 0<br />
<br />
=== height ===<br />
'''Type''': [[Types/double]]<br />
<br />
'''Default''': 1<br />
<br />
Must be greater than 0.<br />
<br />
=== filter ===<br />
'''Type''': [[Types/string]]<br />
<br />
Name of a [[Prototype/Fluid]]. Can be used to specify which fluid is allowed to enter this fluid box. [https://forums.factorio.com/viewtopic.php?f=28&t=46302]<br />
<br />
=== render_layer ===<br />
'''Type''': [[Types/RenderLayer]]<br />
<br />
'''Default''': "object"<br />
<br />
=== pipe_covers ===<br />
'''Type''': [[Types/Sprite4Way]]<br />
<br />
The pictures to show when another fluid box connects to this one.<br />
<br />
=== pipe_picture ===<br />
'''Type''': [[Types/Sprite4Way]]<br />
<br />
=== minimum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
The minimum temperature allowed into the fluidbox. Only applied if a <code>filter</code> is specified [https://forums.factorio.com/viewtopic.php?p=496738#p496738].<br />
<br />
<syntaxhighlight lang="lua">minimum_temperature = 100.0</syntaxhighlight><br />
<br />
=== maximum_temperature ===<br />
'''Type''': [[Types/double]]<br />
<br />
The maximum temperature allowed into the fluidbox. Only applied if a <code>filter</code> is specified [https://forums.factorio.com/viewtopic.php?p=496738#p496738].<br />
<br />
<syntaxhighlight lang="lua">maximum_temperature = 1000.0</syntaxhighlight><br />
<br />
=== production_type ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': "None"<br />
<br />
Possible values:<br />
* "None"<br />
* "input"<br />
* "input-output"<br />
* "output"<br />
<br />
=== secondary_draw_order ===<br />
'''Type''': [[Types/int8]]<br />
<br />
'''Default''': 1<br />
<br />
Set the secondary draw order for all orientations. Used to determine render order for sprites with the same <code>render_layer</code> in the same position. Sprites with a higher <code>secondary_draw_order</code> are drawn on top.<br />
<br />
=== secondary_draw_orders ===<br />
'''Type''': [[Types/table]] of [[Types/int8]]<br />
<br />
'''Default''': {north = 1, east = 1, south = 1, west = 1}<br />
<br />
Set the secondary draw order for each orientation. Used to determine render order for sprites with the same <code>render_layer</code> in the same position. Sprites with a higher <code>secondary_draw_order</code> are drawn on top.<br />
<br />
== Example ==<br />
<br />
<syntaxhighlight lang="lua">fluid_box =<br />
{<br />
base_area = 1,<br />
height = 2,<br />
base_level = -1,<br />
pipe_covers = pipecoverspictures(),<br />
pipe_connections =<br />
{<br />
{type = "input-output", position = {-2, 0.5}},<br />
{type = "input-output", position = {2, 0.5}}<br />
},<br />
production_type = "input-output"<br />
},<br />
</syntaxhighlight></div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Technology&diff=187266Prototype/Technology2021-10-22T16:26:56Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|PrototypeBase}}<br />
A [[technologies|technology]].<br />
<br />
{{Prototype TOC|technology}}<br />
<br />
== General properties ==<br />
Inherits all properties from [[PrototypeBase]].<br />
<br />
{{Prototype property|icons, icon, icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]}}<br />
<br />
=== name ===<br />
:''See [[PrototypeBase#name ]]''<br />
<br />
Inherited from [[PrototypeBase]]. If the name ends with <code>-number</code>, the number is ignored for localization purposes. E. g. if the name is <code>whatever-name-3</code>, the game looks for the <code>technology-name.whatever-name</code> localization. The technology tree will also show the number on the technology icon.<br />
<br />
== Technology data ==<br />
<!-- <br />
Anchor and property for the TOC at the top --><span id="normal">{{#subobject:normal<br />
|Prototype property name=normal<br />
|Prototype property type=[[Prototype/Technology#Technology_data|Technology data]] or [[Types/bool|bool]]<br />
|Prototype property optional=true<br />
|Prototype property pagename={{FULLPAGENAME}}<br />
}}</span><!-- <br />
Anchor and property for the TOC at the top --><span id="expensive">{{#subobject:expensive<br />
|Prototype property name=expensive<br />
|Prototype property type=[[Prototype/Technology#Technology_data|Technology data]] or [[Types/bool|bool]]<br />
|Prototype property optional=true<br />
|Prototype property pagename={{FULLPAGENAME}}<br />
}}</span><!-- <br />
--><br />
If the technology does not have a difficulty, this is located directly in the prototype. Otherwise, if the "normal" or "expensive" property exists, the technology has difficulty. Then, the technology data has to be specified for each difficulty instead of directly in the prototype. If at least one difficulty has technology data defined, the other difficulty can be set to <code>false</code>. This will disable the technology for the difficulty, same as setting it <code>enabled = false</code>. If it is enabled (by script etc), it will use the data from the other difficulty. Not setting a difficulty, e.g. <code>normal = nil</code>, is possible and gives that difficulty the exact same properties as the difficulty that is defined.<br />
<br />
{{Prototype property|upgrade|[[Types/bool|bool]]|false|optional=true}}<br />
When set to true, and the technology contains several levels, only the relevant one is displayed in the technology screen.<br />
<syntaxhighlight lang="lua"> {<br />
type = "technology",<br />
name = "physical-projectile-damage-2",<br />
...<br />
upgrade = "true"<br />
}</syntaxhighlight><br />
<br />
{{Prototype property|enabled|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|hidden|[[Types/bool|bool]]|false|optional=true}}<br />
Hides the technology from the tech screen.<br />
<br />
{{Prototype property|visible_when_disabled|[[Types/bool|bool]]|false|optional=true}}<br />
Controls whether the technology is shown in the tech GUI when it is disabled (enabled = false).<br />
<br />
{{Prototype property|ignore_tech_cost_multiplier|[[Types/bool|bool]]|false|optional=true}}<br />
Controls whether the technology cost ignores the tech cost multiplier set in the [https://lua-api.factorio.com/latest/Concepts.html#DifficultySettings DifficultySettings], e.g. 4 for the default expensive difficulty.<br />
<br />
{{Prototype property|unit|[[Types/table|table]]}}<br />
[[Types/table|table]] with the following key/value pairs:<br />
* count — [[Types/uint64|uint64]] — How many units are needed. Must be larger than 0. May not be specified if count_formula is specified.<br />
* count_formula — [[Types/string|string]] — Formula that specifies how many units are needed per level of the infinite technology. May not be specified if count is specified. The formula is executed following the BODMAS order.<br />
: Supported operators & characters:<br />
: {| class="wikitable"<br />
|-<br />
! Operator !! meaning<br />
|-<br />
| + || Addition<br />
|-<br />
| - || Subtraction<br />
|-<br />
| * || Multiplication<br />
|-<br />
| ^ || Power, raise the preceding base number by the following exponent number<br />
|-<br />
| () || Brackets for order, supported nested brackets<br />
|-<br />
| l or L || The current level of the technology<br />
|-<br />
| Digits || Are treated as numbers<br />
|-<br />
| . || Decimal point in number<br />
|-<br />
| SPACE || Space characters are ignored<br />
|}<br />
* time — [[Types/double|double]] — How much time is needed per one unit, in lab with crafting speed 1 it is the number of seconds.<br />
* ingredients — [[Types/table|table]] of [[Types/IngredientPrototype|IngredientPrototype]] — list of ingredients needed for one unit of research. The item types must all be [[Prototype/Tool|tools]].<br />
<br />
:<syntaxhighlight lang="lua"><br />
unit =<br />
{<br />
count_formula = "2^(L-6)*1000",<br />
ingredients =<br />
{<br />
{"automation-science-pack", 1},<br />
{"logistic-science-pack", 1},<br />
{"chemical-science-pack", 1},<br />
{"production-science-pack", 1},<br />
{"utility-science-pack", 1},<br />
{"space-science-pack", 1}<br />
},<br />
time = 60<br />
}</syntaxhighlight><br />
<br />
Note:this formula thing can also be used in runtime api[https://lua-api.factorio.com/latest/LuaGameScript.html#LuaGameScript.evaluate_expression].<br />
{{Prototype property|max_level|[[Types/uint32|uint32]] or [[Types/string|string]]|Same as the level of the technology, which is 0 for non-upgrades, and the level of the upgrade for upgrades.|optional=true}}<br />
"infinite" for infinite technologies, otherwise uint.<br />
<br />
{{Prototype property|prerequisites|[[Types/table|table]] of [[Types/string|string]]|optional=true}}<br />
List of technologies needed to be researched before this one can be researched.<br />
prerequisites = {"explosives", "military-2"}<br />
<br />
{{Prototype property|effects|[[Types/table|table]] of [[Types/ModifierPrototype]]|optional=true}}<br />
List of effects of the technology (applied when the technology is researched).<br />
<br />
<syntaxhighlight lang="lua"><br />
{<br />
{<br />
type = "unlock-recipe",<br />
recipe = "land-mine"<br />
}<br />
}<br />
</syntaxhighlight></div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Vehicle&diff=187265Prototype/Vehicle2021-10-22T16:10:58Z<p>Meifraye: /* Extra info */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
Abstract base of all vehicles.<br />
<br />
{{Prototype TOC|''abstract''}}<br />
<br />
== Extensions ==<br />
* [[Prototype/Car]] '''car'''<br />
* [[Prototype/RollingStock]] <abstract><br />
** [[Prototype/ArtilleryWagon]] '''artillery-wagon'''<br />
** [[Prototype/CargoWagon]] '''cargo-wagon'''<br />
** [[Prototype/FluidWagon]] '''fluid-wagon'''<br />
** [[Prototype/Locomotive]] '''locomotive'''<br />
* [[Prototype/SpiderVehicle]] '''spider-vehicle'''<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|weight|[[Types/double|double]]}}<br />
Must be positive. <br />
Weight of the entity used for physics calculation when car hits something.<br />
<br />
{{Prototype property|braking_power or braking_force|[[Types/Energy|Energy]] or [[Types/double|double]]}}<br />
Two different ways to set braking force. At least one must exist. Must be positive.<br />
<br />
{{Prototype property|friction or friction_force|[[Types/double|double]]}}<br />
Two different ways to set friction force. At least one must exist. Must be positive.<br />
<br />
{{Prototype property|energy_per_hit_point|[[Types/double|double]]}}<br />
The (movement) energy used per hit point (1 hit point = 1 health damage) taken and dealt for this vehicle during collisions. The smaller the number, the more damage this vehicle and the rammed entity take during collisions: <code>damage = energy / energy_per_hit_point</code>.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|terrain_friction_modifier|[[Types/float|float]]|1|optional=true}}<br />
Must be in the [0, 1] interval.<br />
<br />
{{Prototype property|sound_minimum_speed|[[Types/double|double]]|1 / 60.0|optional=true}}<br />
Must be positive. Sound is scaled by speed.<br />
<br />
{{Prototype property|sound_scaling_ratio|[[Types/double|double]]|1.0|optional=true}}<br />
Must be positive. Sound is scaled by speed.<br />
<br />
{{Prototype property|stop_trigger_speed|[[Types/double|double]]|0.0|optional=true}}<br />
<br />
{{Prototype property|crash_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|stop_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|equipment_grid|[[Types/string|string]]|optional=true}}<br />
The name of the [[Prototype/EquipmentGrid|equipment grid]] this vehicle has.<br />
<br />
{{Prototype property|minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite that represents this vehicle on the map/minimap.<br />
<br />
{{Prototype property|selected_minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite that represents this vehicle on the map/minimap when it is selected.<br />
<br />
{{Prototype property|allow_passengers|[[Types/bool|bool]]|true|optional=true}}<br />
Determines whether this vehicle accepts passengers. This includes both drivers and gunners, if applicable.<br />
<br />
== Extra info ==<br />
enable_inventory_bar is not apply in this prototype,However its sub-class,[[Prototype/CargoWagon]],always has this functionality.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Vehicle&diff=187264Prototype/Vehicle2021-10-22T16:10:39Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
Abstract base of all vehicles.<br />
<br />
{{Prototype TOC|''abstract''}}<br />
<br />
== Extensions ==<br />
* [[Prototype/Car]] '''car'''<br />
* [[Prototype/RollingStock]] <abstract><br />
** [[Prototype/ArtilleryWagon]] '''artillery-wagon'''<br />
** [[Prototype/CargoWagon]] '''cargo-wagon'''<br />
** [[Prototype/FluidWagon]] '''fluid-wagon'''<br />
** [[Prototype/Locomotive]] '''locomotive'''<br />
* [[Prototype/SpiderVehicle]] '''spider-vehicle'''<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|weight|[[Types/double|double]]}}<br />
Must be positive. <br />
Weight of the entity used for physics calculation when car hits something.<br />
<br />
{{Prototype property|braking_power or braking_force|[[Types/Energy|Energy]] or [[Types/double|double]]}}<br />
Two different ways to set braking force. At least one must exist. Must be positive.<br />
<br />
{{Prototype property|friction or friction_force|[[Types/double|double]]}}<br />
Two different ways to set friction force. At least one must exist. Must be positive.<br />
<br />
{{Prototype property|energy_per_hit_point|[[Types/double|double]]}}<br />
The (movement) energy used per hit point (1 hit point = 1 health damage) taken and dealt for this vehicle during collisions. The smaller the number, the more damage this vehicle and the rammed entity take during collisions: <code>damage = energy / energy_per_hit_point</code>.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|terrain_friction_modifier|[[Types/float|float]]|1|optional=true}}<br />
Must be in the [0, 1] interval.<br />
<br />
{{Prototype property|sound_minimum_speed|[[Types/double|double]]|1 / 60.0|optional=true}}<br />
Must be positive. Sound is scaled by speed.<br />
<br />
{{Prototype property|sound_scaling_ratio|[[Types/double|double]]|1.0|optional=true}}<br />
Must be positive. Sound is scaled by speed.<br />
<br />
{{Prototype property|stop_trigger_speed|[[Types/double|double]]|0.0|optional=true}}<br />
<br />
{{Prototype property|crash_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|stop_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|equipment_grid|[[Types/string|string]]|optional=true}}<br />
The name of the [[Prototype/EquipmentGrid|equipment grid]] this vehicle has.<br />
<br />
{{Prototype property|minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite that represents this vehicle on the map/minimap.<br />
<br />
{{Prototype property|selected_minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}<br />
The sprite that represents this vehicle on the map/minimap when it is selected.<br />
<br />
{{Prototype property|allow_passengers|[[Types/bool|bool]]|true|optional=true}}<br />
Determines whether this vehicle accepts passengers. This includes both drivers and gunners, if applicable.<br />
<br />
== Extra info ==<br />
enable_inventory_bar is not apply in this prototype,However its sub-class,[[Prototype/Prototype/CargoWagon]],always has this functionality.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/CargoWagon&diff=187263Prototype/CargoWagon2021-10-22T16:09:23Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/RollingStock}}<br />
A [[cargo wagon]].<br />
<br />
{{Prototype TOC|cargo-wagon}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/RollingStock]].<br />
<br />
{{Prototype property|inventory_size|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
<br />
<br />
== Extra info ==<br />
enable_inventory_bar is not apply in this prototype,However its functionality is always set to true.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/SimulationDefinition&diff=187262Types/SimulationDefinition2021-10-22T16:03:41Z<p>Meifraye: /* addition api */</p>
<hr />
<div>Used by [[Prototype/TipsAndTricksItem]] and by main menu simulations ([[Prototype/UtilityConstants]]).<br />
<br />
== Optional properties ==<br />
<br />
=== save ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
The save file that is used for this simulation. If not given and <code>generate_map</code> is true, a map gets generated by the game.<br />
<br />
=== init_file ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
This code is run as a (silent) console command inside the simulation when it is first initialized. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== init ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': ""<br />
<br />
Only loaded if <code>init_file</code> is not present.<br />
<br />
This code is run as a (silent) console command inside the simulation when it is first initialized. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== update_file ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
This code is run as a (silent) console command inside the simulation every time the simulation is updated. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== update ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': ""<br />
<br />
Only loaded if <code>update_file</code> is not present.<br />
<br />
This code is run as a (silent) console command inside the simulation every time the simulation is updated. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== init_update_count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
Amount of ticks that this simulation should run for before the simulation is shown to the player. These updates happen after init/init_file has been run and at the highest possible rate (> 60 UPS).<br />
<br />
=== length ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
How long this simulation takes. In the main menu simulations, another simulation will start after this simulation ends.<br />
<br />
=== generate_map ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
If <code>save</code> is not given and this is true, a map gets generated by the game for use in the simulation.<br />
<br />
=== checkboard ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': true<br />
<br />
If this is true, the map of the simulation is set to be a lab-tile checkerboard in the area of {{-20, -15},{20, 15}} when the scenario is first initialized (before init/init_file run).<br />
<br />
=== volume_modifier ===<br />
'''Type''': [[Types/float]]<br />
<br />
Multiplier for the simulation volume set by the player in the sound settings.<br />
<br />
=== override_volume ===<br />
'''Type''': [[Types/bool]]<br />
<br />
If true, overrides the simulation volume set by the player in the sound settings, simply setting the volume modifier to 1.<br />
<br />
== Addition API ==<br />
<br />
Simulation-only APIs:<br />
<syntaxhighlight lang="lua"><br />
game.create_test_player{name=string}<br />
game.activate_rail_planner{position=position,ghost_mode=bool}<br />
game.deactivate_rail_planner()<br />
game.move_cursor{position=position,speed=number}<br />
game.activate_selection()<br />
game.finish_selection()<br />
game.deactivate_selection()<br />
game.scroll_clipboard_forwards()<br />
game.scroll_clipboard_backwards()<br />
game.camera_player_cursor_position [RW]<br />
game.camera_position [RW]<br />
game.camera_zoom [W]<br />
game.camera_player [W]<br />
game.camera_player_cursor_direction [W]<br />
game.camera_alt_info [W]<br />
game.smart_belt_building [W]<br />
<br />
player.drag_start_position [W]<br />
player.raw_build_from_cursor{ghost_mode=bool,created_by_moving=bool,position=position}<br />
<br />
surface.create_entities_from_blueprint_string{string=string,position=position,force=force,direction=defines.direction,flip_horizonal=bool,flip_vertical=bool,by_player=player}<br />
</syntaxhighlight></div>Meifrayehttps://wiki.factorio.com/index.php?title=Types/SimulationDefinition&diff=187261Types/SimulationDefinition2021-10-22T16:01:10Z<p>Meifraye: added temporary,in case someone can`t find it in both prototype and lua api page</p>
<hr />
<div>Used by [[Prototype/TipsAndTricksItem]] and by main menu simulations ([[Prototype/UtilityConstants]]).<br />
<br />
== Optional properties ==<br />
<br />
=== save ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
The save file that is used for this simulation. If not given and <code>generate_map</code> is true, a map gets generated by the game.<br />
<br />
=== init_file ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
This code is run as a (silent) console command inside the simulation when it is first initialized. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== init ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': ""<br />
<br />
Only loaded if <code>init_file</code> is not present.<br />
<br />
This code is run as a (silent) console command inside the simulation when it is first initialized. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== update_file ===<br />
'''Type''': [[Types/FileName]]<br />
<br />
This code is run as a (silent) console command inside the simulation every time the simulation is updated. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== update ===<br />
'''Type''': [[Types/string]]<br />
<br />
'''Default''': ""<br />
<br />
Only loaded if <code>update_file</code> is not present.<br />
<br />
This code is run as a (silent) console command inside the simulation every time the simulation is updated. Since this is run as a console command, the restrictions of console commands apply, e.g. <code>require</code> is not available<sup>[https://lua-api.factorio.com/latest/Libraries.html]</sup>.<br />
<br />
=== init_update_count ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
Amount of ticks that this simulation should run for before the simulation is shown to the player. These updates happen after init/init_file has been run and at the highest possible rate (> 60 UPS).<br />
<br />
=== length ===<br />
'''Type''': [[Types/uint32]]<br />
<br />
'''Default''': 0<br />
<br />
How long this simulation takes. In the main menu simulations, another simulation will start after this simulation ends.<br />
<br />
=== generate_map ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': false<br />
<br />
If <code>save</code> is not given and this is true, a map gets generated by the game for use in the simulation.<br />
<br />
=== checkboard ===<br />
'''Type''': [[Types/bool]]<br />
<br />
'''Default''': true<br />
<br />
If this is true, the map of the simulation is set to be a lab-tile checkerboard in the area of {{-20, -15},{20, 15}} when the scenario is first initialized (before init/init_file run).<br />
<br />
=== volume_modifier ===<br />
'''Type''': [[Types/float]]<br />
<br />
Multiplier for the simulation volume set by the player in the sound settings.<br />
<br />
=== override_volume ===<br />
'''Type''': [[Types/bool]]<br />
<br />
If true, overrides the simulation volume set by the player in the sound settings, simply setting the volume modifier to 1.<br />
<br />
== addition api ==<br />
<br />
Simulation-only APIs:<br />
game.create_test_player{name=string}<br />
game.activate_rail_planner{position=position,ghost_mode=bool}<br />
game.deactivate_rail_planner()<br />
game.move_cursor{position=position,speed=number}<br />
game.activate_selection()<br />
game.finish_selection()<br />
game.deactivate_selection()<br />
game.scroll_clipboard_forwards()<br />
game.scroll_clipboard_backwards()<br />
game.camera_player_cursor_position [RW]<br />
game.camera_position [RW]<br />
game.camera_zoom [W]<br />
game.camera_player [W]<br />
game.camera_player_cursor_direction [W]<br />
game.camera_alt_info [W]<br />
game.smart_belt_building [W]<br />
<br />
player.drag_start_position [W]<br />
player.raw_build_from_cursor{ghost_mode=bool,created_by_moving=bool,position=position}<br />
<br />
surface.create_entities_from_blueprint_string{string=string,position=position,force=force,direction=defines.direction,flip_horizonal=bool,flip_vertical=bool,by_player=player}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Generator&diff=187259Prototype/Generator2021-10-21T16:02:20Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
An entity that produces power from fluids, for example a [[steam engine]].<br />
<br />
{{Prototype TOC|generator}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
Must be an electric energy source.<br />
<br />
{{Prototype property|fluid_box|[[Types/FluidBox|FluidBox]]}}<br />
<br />
{{Prototype property|horizontal_animation|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|vertical_animation|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|effectivity|[[Types/double|double]]}}<br />
The effectivity of the generator with 0.5 being half as effective as a regular steam-engine generator.<br />
<br />
{{Prototype property|fluid_usage_per_tick|[[Types/double|double]]}}<br />
The number of fluid units the generator uses per tick.<br />
<br />
{{Prototype property|maximum_temperature|[[Types/double|double]]}}<br />
The maximum temperature to which the efficiency can increase. After this temperature the generator will run at 100% efficiency. Note: higher temperatures can still be consumed.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|smoke|[[Types/table|table]] of [[Types/SmokeSource|SmokeSource]]|optional=true}}<br />
Array of 1 or more smoke sources.<br />
<br />
{{Prototype property|burns_fluid|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|scale_fluid_usage|[[Types/bool|bool]]|false|optional=true}}<br />
Scales the generator's fluid usage to its maximum power output.<br />
<br />
{{Prototype property|min_perceived_performance|[[Types/double|double]]|0.25|optional=true}}<br />
Animation runs at least this fast. This corresponds to the sound.<br />
<br />
{{Prototype property|performance_to_sound_speedup|[[Types/double|double]]|0.5|optional=true}}<br />
<br />
{{Prototype property|max_power_output|[[Types/Energy|Energy]]|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Cargo_wagon&diff=187255Cargo wagon2021-10-20T13:19:48Z<p>Meifraye: /* Use as a big chest */</p>
<hr />
<div>{{Languages}}<br />
{{:Infobox:Cargo wagon}}<br />
The '''Cargo wagon''' is used in conjunction with [[locomotive]]s to form [[train]]s for the [[railway]].<br />
<br />
A wagon is used to transport items and can be filled and emptied like a chest, but with many more inserters at the same time. Up to 12 inserters per wagon are possible (from both sides).<br />
The [[Inserter capacity bonus (research)|inserter item stack size]] is important to fill the wagon fast!<br />
<br />
In manual-mode cargo wagons can only be filled or emptied when they are not moving. In automated-mode it is the same, but additionally they can only filled/empty, when stopped on a train-stop (not at a signal). A spot where inserters are positioned to transfer cargo for wagons is called a [[Railway#Stations|train station]].<br />
<br />
Wagons have a [[Stack#Stack limitation|stack limitation]] option the same way chests do, which can be used to limit the number of transported items. <br />
Each stack in the cargo wagon can be filtered. This works in the same way as the quickbar; the default key to define or remove the filter is the middle mouse button. [[Player]]s can enter a cargo wagon and control any connected locomotives.<br />
<br />
== Processing of items before transport ==<br />
<br />
A cargo wagon can be filled with 2000 items of ores ([[Copper ore|copper]], [[Iron ore|iron]], ...) or 4000 items of processed plates ([[Copper plate]]s, [[iron plate]]s, ...). This can make preprocessing of ores into plates near the mines a useful strategy, because the transport of plates is more efficient.<br />
<br />
Stack size is not the only factor to consider when comparing train transport of preprocessed items to raw items. Some raw items craft into a smaller amount of processed items. One example are iron plates, 5 iron plates can be crafted into 1 steel plate which means that when transported by train, the throughput increases by 5 times.<br />
<br />
== Use as a big chest ==<br />
<br />
It is possible to use the cargo wagon as a "big chest": Place rails, put an unmoving wagon on it and inserters around. The advantages of this construction are:<br />
* Cargo can be transferred with many more inserters than with a chest, bypassing the limitations of the [[Inserter capacity bonus (research)|inserter stack size bonus]].<br />
* Items are transported instantly over the length of the wagon. Correctly configured, this is faster than a transport belt.<br />
* Cargo can set both filter to individual slot and limition bar allows precise logistic control without too much setting.<br />
<br />
== History ==<br />
{{history|0.15.0|<br />
* Cargo wagons can have settings copied from any distance like Locomotives.<br />
* Train stop can output the contents of the stopped train's cargo to the [[circuit network]].}}<br />
<br />
{{history|0.14.0|<br />
* Added support for equipment grids in cargo wagons.}}<br />
<br />
{{History|0.13.0|<br />
* New cargo wagon graphics.<br />
* Increased inventory size of cargo wagon from 30 to 40 stacks.}}<br />
<br />
{{History|0.11.18|<br />
* Increased inventory size of cargo wagon from 20 to 30 stacks.}}<br />
<br />
{{History|0.10.1|<br />
* Increased inventory size of cargo wagon from 15 to 20 stacks.}}<br />
<br />
{{History|0.10.0|<br />
* Cargo wagon can have filters in the inventory.}}<br />
<br />
{{history|0.4.1|<br />
* Smooth (precise) rolling stock placement.<br />
* Rotating while building affects the direction of the rolling stock.<br />
* Rolling stocks can be disconnected from both sides.}}<br />
<br />
{{History|0.4.0|<br />
* Introduced}}<br />
<br />
== See also ==<br />
* [[Locomotive]]<br />
* [[Fluid wagon]]<br />
* [[Railway]]<br />
<br />
{{LogisticsNav}}<br />
{{C|Railway}}<br />
{{C|Rolling stock}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Cargo_wagon&diff=187254Cargo wagon2021-10-20T13:19:18Z<p>Meifraye: </p>
<hr />
<div>{{Languages}}<br />
{{:Infobox:Cargo wagon}}<br />
The '''Cargo wagon''' is used in conjunction with [[locomotive]]s to form [[train]]s for the [[railway]].<br />
<br />
A wagon is used to transport items and can be filled and emptied like a chest, but with many more inserters at the same time. Up to 12 inserters per wagon are possible (from both sides).<br />
The [[Inserter capacity bonus (research)|inserter item stack size]] is important to fill the wagon fast!<br />
<br />
In manual-mode cargo wagons can only be filled or emptied when they are not moving. In automated-mode it is the same, but additionally they can only filled/empty, when stopped on a train-stop (not at a signal). A spot where inserters are positioned to transfer cargo for wagons is called a [[Railway#Stations|train station]].<br />
<br />
Wagons have a [[Stack#Stack limitation|stack limitation]] option the same way chests do, which can be used to limit the number of transported items. <br />
Each stack in the cargo wagon can be filtered. This works in the same way as the quickbar; the default key to define or remove the filter is the middle mouse button. [[Player]]s can enter a cargo wagon and control any connected locomotives.<br />
<br />
== Processing of items before transport ==<br />
<br />
A cargo wagon can be filled with 2000 items of ores ([[Copper ore|copper]], [[Iron ore|iron]], ...) or 4000 items of processed plates ([[Copper plate]]s, [[iron plate]]s, ...). This can make preprocessing of ores into plates near the mines a useful strategy, because the transport of plates is more efficient.<br />
<br />
Stack size is not the only factor to consider when comparing train transport of preprocessed items to raw items. Some raw items craft into a smaller amount of processed items. One example are iron plates, 5 iron plates can be crafted into 1 steel plate which means that when transported by train, the throughput increases by 5 times.<br />
<br />
== Use as a big chest ==<br />
<br />
It is possible to use the cargo wagon as a "big chest": Place rails, put an unmoving wagon on it and inserters around. The advantages of this construction are:<br />
* Cargo can be transferred with many more inserters than with a chest, bypassing the limitations of the [[Inserter capacity bonus (research)|inserter stack size bonus]].<br />
* Items are transported instantly over the length of the wagon. Correctly configured, this is faster than a transport belt.<br />
* Cargo can set both filter to individual slot and limition bar all precise logistic control without too much setting.<br />
<br />
== History ==<br />
{{history|0.15.0|<br />
* Cargo wagons can have settings copied from any distance like Locomotives.<br />
* Train stop can output the contents of the stopped train's cargo to the [[circuit network]].}}<br />
<br />
{{history|0.14.0|<br />
* Added support for equipment grids in cargo wagons.}}<br />
<br />
{{History|0.13.0|<br />
* New cargo wagon graphics.<br />
* Increased inventory size of cargo wagon from 30 to 40 stacks.}}<br />
<br />
{{History|0.11.18|<br />
* Increased inventory size of cargo wagon from 20 to 30 stacks.}}<br />
<br />
{{History|0.10.1|<br />
* Increased inventory size of cargo wagon from 15 to 20 stacks.}}<br />
<br />
{{History|0.10.0|<br />
* Cargo wagon can have filters in the inventory.}}<br />
<br />
{{history|0.4.1|<br />
* Smooth (precise) rolling stock placement.<br />
* Rotating while building affects the direction of the rolling stock.<br />
* Rolling stocks can be disconnected from both sides.}}<br />
<br />
{{History|0.4.0|<br />
* Introduced}}<br />
<br />
== See also ==<br />
* [[Locomotive]]<br />
* [[Fluid wagon]]<br />
* [[Railway]]<br />
<br />
{{LogisticsNav}}<br />
{{C|Railway}}<br />
{{C|Rolling stock}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/ActiveDefenseEquipment&diff=187251Prototype/ActiveDefenseEquipment2021-10-19T08:22:07Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/Equipment}}<br />
Used by [[discharge defense]] and [[personal laser defense]].<br />
<br />
{{Prototype TOC|active-defense-equipment}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Equipment]].<br />
<br />
{{Prototype property|automatic|[[Types/bool|bool]]}}<br />
<br />
{{Prototype property|attack_parameters|[[Types/AttackParameters|AttackParameters]]}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Roboport&diff=187161Prototype/Roboport2021-10-09T15:49:17Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
A [[roboport]].<br />
<br />
{{Prototype TOC|roboport}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The roboport's energy source. Must be an electric or void energy source.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy the roboport uses when idle.<br />
<br />
{{Prototype property|recharge_minimum|[[Types/Energy|Energy]]}}<br />
<br />
{{Prototype property|robot_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of robot slots in the roboport.<br />
<br />
{{Prototype property|material_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of repair pack slots in the roboport.<br />
<br />
{{Prototype property|base|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_patch|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_animation|[[Types/Animation|Animation]]}}<br />
The animation played when the roboport is idle.<br />
<br />
{{Prototype property|door_animation_up|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|door_animation_down|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|request_to_open_door_timeout|[[Types/uint32|uint32]]}}<br />
<br />
{{Prototype property|recharging_animation|[[Types/Animation|Animation]]}}<br />
The animation played at each charging point when a robot is charging there.<br />
<br />
{{Prototype property|spawn_and_station_height|[[Types/float|float]]}}<br />
Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.<br />
<br />
{{Prototype property|charge_approach_distance|[[Types/float|float]]}}<br />
the distance from the roboport at which robots will wait to charge.<br />
notablely,if robots are already in range,then it will simplely wait at spot.<br />
<br />
{{Prototype property|logistics_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|construction_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|charging_energy|[[Types/Energy|Energy]]}}<br />
The amount of energy that is given to a robot per tick.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|open_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|close_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|default_available_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_available_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_connection_point|[[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
<br />
{{Prototype property|spawn_and_station_shadow_height_offset|[[Types/float|float]]|0|optional=true}}<br />
<br />
{{Prototype property|draw_logistic_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_construction_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|recharging_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
The light emitted when charging a robot.<br />
<br />
{{Prototype property|charging_station_count|[[Types/uint32|uint32]]|0|optional=true}}<br />
how many charging point this roboport has,if value is 0,roboport will try to use charging_offsets to know charging point instead.<br />
(in vanilla game,roboport charging point is defined by charging_offsets)<br />
<br />
{{Prototype property|charging_distance|[[Types/float|float]]|0.0|optional=true}}<br />
<br />
{{Prototype property|charging_station_shift|[[Types/vector|vector]]|optional=true}}<br />
<br />
{{Prototype property|charging_threshold_distance|[[Types/float|float]]|1.0|optional=true}}<br />
Unused.(only used in [[Prototype/RoboportEquipment|personal roboport]])<br />
<br />
{{Prototype property|robot_vertical_acceleration|[[Types/float|float]]|0.01|optional=true}}<br />
<br />
{{Prototype property|stationing_offset|[[Types/vector|vector]]|optional=true}}<br />
The offset from the centre of the roboport at which robots will enter and exit.<br />
<br />
{{Prototype property|robot_limit|[[Types/ItemCountType|ItemCountType]]|max uint|optional=true}}<br />
Unused.(only used in [[Prototype/RoboportEquipment|personal roboport]])<br />
<br />
{{Prototype property|robots_shrink_when_entering_and_exiting|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|charging_offsets|[[Types/table|table]] of [[Types/vector|vector]]|optional=true}}<br />
The offsets from the centre of the roboport at which robots will charge. Only used if charging_station_count is equal to zero.<br />
<br />
{{Prototype property|logistics_connection_distance|[[Types/float|float]]|optional=true}}<br />
Must be >= <code>logistics_radius</code>.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/RoboportEquipment&diff=187160Prototype/RoboportEquipment2021-10-09T15:46:26Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/Equipment}}<br />
Used by [[personal roboport]].<br />
<br />
{{Prototype TOC|roboport-equipment}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/Equipment]].<br />
<br />
{{Prototype property|recharging_animation|[[Types/Animation|Animation]]}}<br />
The animation played at each charging point when a robot is charging there.<br />
<br />
{{Prototype property|spawn_and_station_height|[[Types/float|float]]}}<br />
Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.<br />
<br />
{{Prototype property|charge_approach_distance|[[Types/float|float]]}}<br />
Presumably, the distance from the roboport at which robots will wait to charge.<br />
<br />
{{Prototype property|construction_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|charging_energy|[[Types/Energy|Energy]]}}<br />
== Optional properties ==<br />
<br />
{{Prototype property|spawn_and_station_shadow_height_offset|[[Types/float|float]]|0|optional=true}}<br />
<br />
{{Prototype property|draw_logistic_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_construction_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|recharging_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
The light emitted when charging a robot.<br />
<br />
{{Prototype property|charging_station_count|[[Types/uint32|uint32]]|0|optional=true}}<br />
<br />
{{Prototype property|charging_distance|[[Types/float|float]]|0.0|optional=true}}<br />
<br />
{{Prototype property|charging_station_shift|[[Types/vector|vector]]|optional=true}}<br />
<br />
{{Prototype property|charging_threshold_distance|[[Types/float|float]]|1.0|optional=true}}<br />
this defines how long can robot charging from this robopot,however bots are still required to reach charging spot and bot cannot be full battery.<br />
<br />
{{Prototype property|robot_vertical_acceleration|[[Types/float|float]]|0.01|optional=true}}<br />
<br />
{{Prototype property|stationing_offset|[[Types/vector|vector]]||optional=true}}<br />
The offset from the centre of the roboport at which robots will enter and exit.<br />
<br />
{{Prototype property|robot_limit|[[Types/ItemCountType|ItemCountType]]|max uint|optional=true}}<br />
How many robots can exist in the network (cumulative).<br />
<br />
{{Prototype property|robots_shrink_when_entering_and_exiting|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|charging_offsets|[[Types/table|table]] of [[Types/vector|vector]]|optional=true}}<br />
The offsets from the centre of the roboport at which robots will charge.<br />
<br />
{{Prototype property|spawn_minimum|[[Types/Energy|Energy]]|0.2 * energy_source.buffer_capacity|optional=true}}<br />
Minimum amount of energy that needs to available inside the roboport's buffer so that robots can be spawned.<br />
<br />
{{Prototype property|burner|[[Types/EnergySource|EnergySource]]|optional=true}}<br />
Must be a burner energy source. Add this is if the roboport should be fueled directly instead of using power from the equipment grid.<br />
<br />
{{Prototype property|power|[[Types/Energy|Energy]]|optional=true}}<br />
Mandatory if <code>burner</code> is present. The size of the buffer of the burner energy source, so effectively the amount of power that the energy source can produce per tick.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Roboport&diff=187159Prototype/Roboport2021-10-09T15:31:08Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
A [[roboport]].<br />
<br />
{{Prototype TOC|roboport}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The roboport's energy source. Must be an electric or void energy source.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy the roboport uses when idle.<br />
<br />
{{Prototype property|recharge_minimum|[[Types/Energy|Energy]]}}<br />
<br />
{{Prototype property|robot_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of robot slots in the roboport.<br />
<br />
{{Prototype property|material_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of repair pack slots in the roboport.<br />
<br />
{{Prototype property|base|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_patch|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_animation|[[Types/Animation|Animation]]}}<br />
The animation played when the roboport is idle.<br />
<br />
{{Prototype property|door_animation_up|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|door_animation_down|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|request_to_open_door_timeout|[[Types/uint32|uint32]]}}<br />
<br />
{{Prototype property|recharging_animation|[[Types/Animation|Animation]]}}<br />
The animation played at each charging point when a robot is charging there.<br />
<br />
{{Prototype property|spawn_and_station_height|[[Types/float|float]]}}<br />
Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.<br />
<br />
{{Prototype property|charge_approach_distance|[[Types/float|float]]}}<br />
the distance from the roboport at which robots will wait to charge.<br />
notablely,if robots are already in range,then it will simplely wait at spot.<br />
<br />
{{Prototype property|logistics_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|construction_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|charging_energy|[[Types/Energy|Energy]]}}<br />
The amount of energy that is given to a robot per tick.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|open_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|close_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|default_available_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_available_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_connection_point|[[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
<br />
{{Prototype property|spawn_and_station_shadow_height_offset|[[Types/float|float]]|0|optional=true}}<br />
<br />
{{Prototype property|draw_logistic_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_construction_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|recharging_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
The light emitted when charging a robot.<br />
<br />
{{Prototype property|charging_station_count|[[Types/uint32|uint32]]|0|optional=true}}<br />
how many charging point this roboport has,if value is 0,roboport will try to use charging_offsets to know charging point instead.<br />
(in vanilla game,roboport charging point is defined by charging_offsets)<br />
<br />
{{Prototype property|charging_distance|[[Types/float|float]]|0.0|optional=true}}<br />
<br />
{{Prototype property|charging_station_shift|[[Types/vector|vector]]|optional=true}}<br />
<br />
{{Prototype property|charging_threshold_distance|[[Types/float|float]]|1.0|optional=true}}<br />
<br />
{{Prototype property|robot_vertical_acceleration|[[Types/float|float]]|0.01|optional=true}}<br />
<br />
{{Prototype property|stationing_offset|[[Types/vector|vector]]|optional=true}}<br />
The offset from the centre of the roboport at which robots will enter and exit.<br />
<br />
{{Prototype property|robot_limit|[[Types/ItemCountType|ItemCountType]]|max uint|optional=true}}<br />
Unused.<br />
<br />
{{Prototype property|robots_shrink_when_entering_and_exiting|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|charging_offsets|[[Types/table|table]] of [[Types/vector|vector]]|optional=true}}<br />
The offsets from the centre of the roboport at which robots will charge. Only used if charging_station_count is equal to zero.<br />
<br />
{{Prototype property|logistics_connection_distance|[[Types/float|float]]|optional=true}}<br />
Must be >= <code>logistics_radius</code>.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Roboport&diff=187158Prototype/Roboport2021-10-09T15:28:25Z<p>Meifraye: /* Mandatory properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
A [[roboport]].<br />
<br />
{{Prototype TOC|roboport}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The roboport's energy source. Must be an electric or void energy source.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy the roboport uses when idle.<br />
<br />
{{Prototype property|recharge_minimum|[[Types/Energy|Energy]]}}<br />
<br />
{{Prototype property|robot_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of robot slots in the roboport.<br />
<br />
{{Prototype property|material_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of repair pack slots in the roboport.<br />
<br />
{{Prototype property|base|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_patch|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_animation|[[Types/Animation|Animation]]}}<br />
The animation played when the roboport is idle.<br />
<br />
{{Prototype property|door_animation_up|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|door_animation_down|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|request_to_open_door_timeout|[[Types/uint32|uint32]]}}<br />
<br />
{{Prototype property|recharging_animation|[[Types/Animation|Animation]]}}<br />
The animation played at each charging point when a robot is charging there.<br />
<br />
{{Prototype property|spawn_and_station_height|[[Types/float|float]]}}<br />
Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.<br />
<br />
{{Prototype property|charge_approach_distance|[[Types/float|float]]}}<br />
the distance from the roboport at which robots will wait to charge.<br />
notablely,if robots are already in range,then it will simplely wait at spot.<br />
<br />
{{Prototype property|logistics_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|construction_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|charging_energy|[[Types/Energy|Energy]]}}<br />
The amount of energy that is given to a robot per tick.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|open_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|close_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|default_available_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_available_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_connection_point|[[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
<br />
{{Prototype property|spawn_and_station_shadow_height_offset|[[Types/float|float]]|0|optional=true}}<br />
<br />
{{Prototype property|draw_logistic_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_construction_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|recharging_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
The light emitted when charging a robot.<br />
<br />
{{Prototype property|charging_station_count|[[Types/uint32|uint32]]|0|optional=true}}<br />
<br />
{{Prototype property|charging_distance|[[Types/float|float]]|0.0|optional=true}}<br />
<br />
{{Prototype property|charging_station_shift|[[Types/vector|vector]]|optional=true}}<br />
<br />
{{Prototype property|charging_threshold_distance|[[Types/float|float]]|1.0|optional=true}}<br />
<br />
{{Prototype property|robot_vertical_acceleration|[[Types/float|float]]|0.01|optional=true}}<br />
<br />
{{Prototype property|stationing_offset|[[Types/vector|vector]]|optional=true}}<br />
The offset from the centre of the roboport at which robots will enter and exit.<br />
<br />
{{Prototype property|robot_limit|[[Types/ItemCountType|ItemCountType]]|max uint|optional=true}}<br />
Unused.<br />
<br />
{{Prototype property|robots_shrink_when_entering_and_exiting|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|charging_offsets|[[Types/table|table]] of [[Types/vector|vector]]|optional=true}}<br />
The offsets from the centre of the roboport at which robots will charge. Only used if charging_station_count is equal to zero.<br />
<br />
{{Prototype property|logistics_connection_distance|[[Types/float|float]]|optional=true}}<br />
Must be >= <code>logistics_radius</code>.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Tutorial:Mod_structure&diff=186435Tutorial:Mod structure2021-06-23T07:10:36Z<p>Meifraye: </p>
<hr />
<div>Mods are expected to have a certain structure in order to be loaded by the game. This page aims to explain that file structure and what each file is used for.<br />
<br />
== Mod folder and file structure ==<br />
<br />
The mod must either be in a folder, or in a folder inside a zip file. The mod folder (no zip file) must either be named in the pattern of <code>{mod-name}_{version-number}</code> or just <code>{mod-name}</code>, for example <code>test-mod-thing</code>. The mod zip must be named in the pattern of <code>{mod-name}_{version-number}</code>, for example <code>test-mod-thing_0.0.1</code>. When using a zip file for the mod, the folder inside the zip file does not have any naming restrictions; only the zip file itself must be named with the <code>{mod-name}_{version-number}</code> pattern. The mod name and its version number are defined in the [[#info.json|info.json]] file.<br />
<br />
=== Files ===<br />
Inside the mod folder, the game automatically reads the following files during load:<br />
* info.json — The only mandatory file. The [[#info.json|info.json]] identifies the mod, defines its version and other general properties.<br />
* changelog.txt — Version history of the mod, to be shown in the mod browser. The changelog file must follow the strict [https://forums.factorio.com/viewtopic.php?f=25&t=67140 check this for further info].<br />
* thumbnail.png — Thumbnail to be shown on the mod portal and in the mod browser in-game. Ideally a 144x144px image file.<br />
* settings.lua — This and the next two files are used to set up mod [[Tutorial:Mod settings|configuration options]].<br />
* settings-updates.lua<br />
* settings-final-fixes.lua<br />
* data.lua — This and the next two files are used to define [[Prototype definitions|prototypes]].<br />
* data-updates.lua — The load order of the three data*.lua files is explained on [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle].<br />
* data-final-fixes.lua<br />
* control.lua — This file is used for runtime scripting. Runtime scripting is documented on [https://lua-api.factorio.com/latest/index.html lua-api.factorio.com].<br />
<br />
=== Subfolders ===<br />
Furthermore, the following folders inside the mod folder are recognized by the game:<br />
* locale — Can contain up to one subfolder per language, identified with the language code, for example <code>en</code> for English. The subfolder then has to contain at least one *.cfg file which defines the [[Tutorial:Localisation|translations]] for that language.<br />
* scenarios — Custom [[scenario system|scenarios]] can be placed in subfolders of this folder.<br />
* campaigns — Custom campaigns can be placed in subfolders of this folder.<br />
* tutorials — Custom [[Prototype/Tutorial|tutorials]] can be placed in subfolders of this folder.<br />
* migrations — [https://lua-api.factorio.com/latest/Migrations.html Migration files] are placed in this folder. They are a way to handle prototype changes and mod data structure changes between mod versions or game versions.<br />
<br />
=== Example ===<br />
Here is an example directory structure for a mod titled <code>my-armor-mod</code> with a version number of <code>0.3.6</code>:<br />
<br />
<pre><br />
my-armor-mod_0.3.6.zip<br />
|- aFolderName/<br />
|- control.lua<br />
|- data.lua<br />
|- info.json<br />
|- thumbnail.png<br />
</pre><br />
<br />
== info.json ==<br />
<br />
The info.json file identifies the mod and defines its version. If the game encounters a problem when parsing the file, the error message can be found in the [[log file]]. A minimal info.json file can look like this:<br />
{<br />
"name": "test-mod-thing",<br />
"version": "0.0.1",<br />
"title": "My best test mod",<br />
"author": "A very great tester",<br />
"factorio_version": "1.1",<br />
"dependencies": ["? optional-mod"]<br />
}<br />
<br />
The info.json file supports the following fields:<br />
<br />
=== name ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The internal name of mod. The game accepts anything as a mod name, however the mod portal restricts mod names to only consist of alphanumeric characters, dashes and underscores. Note that the mod folder or mod zip file name has to contain the mod name, where the restrictions of the file system apply.<br />
<br />
: The game accepts mod names with a maximum length of 100 characters. The mod portal only accepts mods with names that are longer than 3 characters and shorter than 50 characters.<br />
<br />
=== version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. Defines the version of the mod in the format <code>"number.number.number"</code> for <code>"main.major.minor"</code>, for example <code>"0.6.4"</code>. Each number can range from 0 to 65535.<br />
<br />
=== title === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The display name of the mod, so it is not recommended to use someUgly_pRoGrAmMeR-name here. Can be overwritten with a locale entry in the <code>mod-name</code> category, using the internal mod name as the key.<br />
<br />
: The game will reject a title field that is longer than 100 characters. However, this can be worked around by using the locale entry. The mod portal does not restrict mod title length.<br />
<br />
=== author === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Mandatory field. The author of the mod. This field does not have restrictions, it can also be a list of authors etc. The mod portal ignores this field, it will simply display the uploader's name as the author.<br />
<br />
=== contact === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. How the mod author can be contacted, for example an email address.<br />
<br />
=== homepage === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. Where the mod can be found on the internet. Note that the in-game mod browser shows the mod portal link additionally to this field. Please don't put "None" here, it makes the field on the mod portal website look ugly. Just leave the field empty if the mod doesn't have a website/forum thread/discord.<br />
<br />
=== description === <br />
: '''Type''': [[Types/string|string]]<br />
<br />
: Optional field. A short description of what your mod does. This is all that people get to see in-game. Can be overwritten with a locale entry in the <code>mod-description</code> category, using the internal mod name as the key.<br />
<br />
=== factorio_version ===<br />
: '''Type''': [[Types/string|string]]<br />
<br />
: '''Default''': "0.12"<br />
<br />
: Optional field. The major Factorio version that this mod supports. This can only be one version, not multiple. While the field is optional, usually mods are developed for major versions higher than the default 0.12, so the field has to be added anyway.<br />
: Adding a minor version, e.g. "0.18.'''27'''" will make the mod portal reject the mod and the game act weirdly. That means this shouldn't be done; use only main and major version <code>"main.major"</code>, for example <code>"1.0"</code>.<br />
: Mods with the factorio_version "0.18" can also be loaded in 1.0 and the mod portal will return them when queried for factorio_version 1.0 mods.<br />
<br />
=== dependencies ===<br />
: '''Type''': array of [[#Dependency]]<br />
<br />
: '''Default''': ["base"]<br />
<br />
: Optional field. Mods that this mod depends on or is incompatible with. If this mod depends on another, the other mod will load first, see [https://lua-api.factorio.com/latest/Data-Lifecycle.html Data-Lifecycle]. An empty array allows get around the default and have no dependencies at all.<br />
<br />
: Example:<br />
: <pre>"dependencies": ["mod-a", "? mod-c > 0.4.3", "! mod-g"]</pre><br />
<br />
:: <h4><span class="mw-headline" id="Dependency">Dependency</span></h4><br />
:: Each dependency is a string that consists of up to three parts: <code>"<prefix> internal-mod-name <equality-operator version>"</code>, for example <code>"? some-mod-everyone-loves >= 4.2.0"</code>. The possible prefixes are: <code>!</code> for incompatibility, <code>?</code> for an optional dependency, <code>(?)</code> for a hidden optional dependency, <code>~</code> for a dependency that does not affect load order, or no prefix for a hard requirement for the other mod. The equality operator (<code><, <=, =, >= or ></code>) combined with the version allows to define dependencies that require certain mod versions, but it is not required. Incompatibility does not support versions, if you use incompatibility you are incompatible with the entire mod.</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/LinkedContainer&diff=186373Prototype/LinkedContainer2021-06-15T09:05:21Z<p>Meifraye: </p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
A container that shares its inventory with containers with the same [https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.link_id link_id], which can be set via the GUI. The link IDs are per prototype and force,so only containers with the '''same ID''' , '''same prototype name''' and '''same force''' will share inventories.<br />
<br />
{{Prototype TOC|linked-container}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|inventory_size|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
Must be > 0.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|picture|[[Types/Sprite|Sprite]]|optional=true}}<br />
<br />
{{Prototype property|gui_mode|[[Types/string|string]]|all|optional=true}}<br />
Players that can access the GUI to change the link ID. Possible options: "all", "none", "admins".<br />
<br />
{{Prototype property|scale_info_icons|[[Types/bool|bool]]|false|optional=true}}</div>Meifrayehttps://wiki.factorio.com/index.php?title=Prototype/Roboport&diff=186310Prototype/Roboport2021-06-04T20:44:57Z<p>Meifraye: /* Optional properties */</p>
<hr />
<div>{{Prototype parent|Prototype/EntityWithHealth}}<br />
A [[roboport]].<br />
<br />
{{Prototype TOC|roboport}}<br />
<br />
== Mandatory properties ==<br />
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].<br />
<br />
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}}<br />
The roboport's energy source. Must be an electric or void energy source.<br />
<br />
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}<br />
The amount of energy the roboport uses when idle.<br />
<br />
{{Prototype property|recharge_minimum|[[Types/Energy|Energy]]}}<br />
<br />
{{Prototype property|robot_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of robot slots in the roboport.<br />
<br />
{{Prototype property|material_slots_count|[[Types/ItemStackIndex|ItemStackIndex]]}}<br />
The number of repair pack slots in the roboport.<br />
<br />
{{Prototype property|base|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_patch|[[Types/Sprite|Sprite]]}}<br />
<br />
{{Prototype property|base_animation|[[Types/Animation|Animation]]}}<br />
The animation played when the roboport is idle.<br />
<br />
{{Prototype property|door_animation_up|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|door_animation_down|[[Types/Animation|Animation]]}}<br />
<br />
{{Prototype property|request_to_open_door_timeout|[[Types/uint32|uint32]]}}<br />
<br />
{{Prototype property|recharging_animation|[[Types/Animation|Animation]]}}<br />
The animation played at each charging point when a robot is charging there.<br />
<br />
{{Prototype property|spawn_and_station_height|[[Types/float|float]]}}<br />
Presumably states the height of the charging stations and thus an additive offset for the charging_offsets.<br />
<br />
{{Prototype property|charge_approach_distance|[[Types/float|float]]}}<br />
Presumably, the distance from the roboport at which robots will wait to charge.<br />
<br />
{{Prototype property|logistics_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|construction_radius|[[Types/float|float]]}}<br />
Can't be negative.<br />
<br />
{{Prototype property|charging_energy|[[Types/Energy|Energy]]}}<br />
The amount of energy that is given to a robot per tick.<br />
<br />
== Optional properties ==<br />
<br />
{{Prototype property|open_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|close_door_trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}<br />
<br />
{{Prototype property|default_available_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_logistic_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_available_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|default_total_construction_output_signal|[[Types/SignalIDConnector|SignalIDConnector]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_connection_point|[[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}}<br />
<br />
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}<br />
The maximum circuit wire distance for this entity.<br />
<br />
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|circuit_connector_sprites|[[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}}<br />
<br />
{{Prototype property|spawn_and_station_shadow_height_offset|[[Types/float|float]]|0|optional=true}}<br />
<br />
{{Prototype property|draw_logistic_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|draw_construction_radius_visualization|[[Types/bool|bool]]|true|optional=true}}<br />
<br />
{{Prototype property|recharging_light|[[Types/LightDefinition|LightDefinition]]|optional=true}}<br />
The light emitted when charging a robot.<br />
<br />
{{Prototype property|charging_station_count|[[Types/uint32|uint32]]|0|optional=true}}<br />
<br />
{{Prototype property|charging_distance|[[Types/float|float]]|0.0|optional=true}}<br />
<br />
{{Prototype property|charging_station_shift|[[Types/vector|vector]]|optional=true}}<br />
<br />
{{Prototype property|charging_threshold_distance|[[Types/float|float]]|1.0|optional=true}}<br />
<br />
{{Prototype property|robot_vertical_acceleration|[[Types/float|float]]|0.01|optional=true}}<br />
<br />
{{Prototype property|stationing_offset|[[Types/vector|vector]]|optional=true}}<br />
The offset from the centre of the roboport at which robots will enter and exit.<br />
<br />
{{Prototype property|robot_limit|[[Types/ItemCountType|ItemCountType]]|max uint|optional=true}}<br />
How many robots can exist in the network (cumulative),Currently only used for the personal roboport.<br />
<br />
{{Prototype property|robots_shrink_when_entering_and_exiting|[[Types/bool|bool]]|false|optional=true}}<br />
<br />
{{Prototype property|charging_offsets|[[Types/table|table]] of [[Types/vector|vector]]|optional=true}}<br />
The offsets from the centre of the roboport at which robots will charge. Only used if charging_station_count is equal to zero.<br />
<br />
{{Prototype property|logistics_connection_distance|[[Types/float|float]]|optional=true}}<br />
Must be >= <code>logistics_radius</code>.</div>Meifraye