Prototype/CraftingMachine: Difference between revisions
(typos/grammar) |
(wording) |
||
Line 4: | Line 4: | ||
The abstract basis of the assembling machines and furnaces. Contains the properties that both of them have. | The abstract basis of the assembling machines and furnaces. Contains the properties that both of them have. | ||
Note that crafting | Note that a crafting machine cannot be rotated unless it has fluid boxes. | ||
== Extensions == | == Extensions == | ||
Line 47: | Line 47: | ||
The animation played when crafting. When the crafting machine is idle, the animation will be paused. | The animation played when crafting. When the crafting machine is idle, the animation will be paused. | ||
Note that crafting | Note that a crafting machine cannot be rotated unless it has fluid boxes. When they cannot be rotated, only the north rotation of the animation will be used. | ||
=== idle_animation === | === idle_animation === | ||
Line 54: | Line 54: | ||
The animation played when idle. Idle animation must have the same frame count as animation. | The animation played when idle. Idle animation must have the same frame count as animation. | ||
Note that crafting | Note that a crafting machine cannot be rotated unless it has fluid boxes. When they cannot be rotated, only the north rotation of the idle animation will be used. | ||
== Optional properties == | == Optional properties == | ||
Line 63: | Line 63: | ||
Can have off_when_no_fluid_recipe key that has a [[Types/bool]] value. off_when_no_fluid_recipe defaults to false. | Can have off_when_no_fluid_recipe key that has a [[Types/bool]] value. off_when_no_fluid_recipe defaults to false. | ||
Note that crafting | Note that a crafting machine cannot be rotated unless it has fluid boxes. If it has fluid boxes ''and'' off_when_no_fluid_recipe is true, the crafting machine can only be rotated when a recipe consuming or producing fluid is set. | ||
<syntaxhighlight lang="lua">fluid_boxes = | <syntaxhighlight lang="lua">fluid_boxes = |
Revision as of 13:03, 28 March 2019
Basics
This type is abstract and cannot be created directly.
The abstract basis of the assembling machines and furnaces. Contains the properties that both of them have.
Note that a crafting machine cannot be rotated unless it has fluid boxes.
Extensions
- Prototype/AssemblingMachine assembling-machine
- Prototype/RocketSilo rocket-silo
- Prototype/Furnace furnace
Mandatory properties
This prototype inherits all the properties from Prototype/EntityWithHealth.
energy_usage
Type: Types/Energy
Sets how much energy this machine uses while crafting. Energy usage has to be positive.
crafting_speed
Type: Types/double
How fast this crafting machine can craft. 1 means that for example a 1 second long recipe take 1 second to craft. 0.5 means it takes 2 seconds, and 2 means it takes 0.5 seconds.
Crafting speed has to be positive.
crafting_categories
Type: Types/table of Types/strings
A list of recipe categories this crafting machine can use.
Example:
crafting_categories = {"crafting", "smelting"}
energy_source
Type: Types/EnergySource
Defines how the crafting machine is powered.
animation
Type: Types/Animation4Way
The animation played when crafting. When the crafting machine is idle, the animation will be paused.
Note that a crafting machine cannot be rotated unless it has fluid boxes. When they cannot be rotated, only the north rotation of the animation will be used.
idle_animation
Type: Types/Animation4Way
The animation played when idle. Idle animation must have the same frame count as animation.
Note that a crafting machine cannot be rotated unless it has fluid boxes. When they cannot be rotated, only the north rotation of the idle animation will be used.
Optional properties
fluid_boxes
Type: Types/table of Types/FluidBox
Can have off_when_no_fluid_recipe key that has a Types/bool value. off_when_no_fluid_recipe defaults to false.
Note that a crafting machine cannot be rotated unless it has fluid boxes. If it has fluid boxes and off_when_no_fluid_recipe is true, the crafting machine can only be rotated when a recipe consuming or producing fluid is set.
fluid_boxes =
{
{
production_type = "input",
pipe_picture = assembler2pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = assembler2pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 2} }},
secondary_draw_orders = { north = -1 }
},
off_when_no_fluid_recipe = true
},
allowed_effects
Type: Types/EffectTypeLimitation
Sets the module effects that are allowed to be used on this machine.
has_backer_name
Type: Types/bool
Default: false
scale_entity_info_icon
Type: Types/bool
Default: false
always_draw_idle_animation
Type: Types/bool
Default: false
module_specification
Type: Types/ModuleSpecification
The number of module slots in this machine, and their icon positions.
module_specification = {
module_info_icon_shift = {
0,
0.8
},
module_slots = 2
},
working_visualisations
Type: Types/table of Types/WorkingVisualisation