Prototype/CraftingMachine
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