pub struct Furnace {Show 32 fields
pub name: &'static str,
pub crafting_categories: &'static [&'static str],
pub crafting_speed: f64,
pub energy_source: EnergySource,
pub energy_usage: &'static str,
pub result_inventory_size: i64,
pub source_inventory_size: i64,
pub hidden: Option<bool>,
pub order: Option<&'static str>,
pub subgroup: Option<&'static str>,
pub collision_box: Option<BoundingBox>,
pub flags: Option<&'static [&'static str]>,
pub icon: Option<&'static str>,
pub minable: Option<MinableProperties>,
pub selection_box: Option<BoundingBox>,
pub max_health: Option<f64>,
pub fluid_boxes: Option<LuaAny>,
pub module_slots: Option<i64>,
pub factoriopedia_description: Option<&'static str>,
pub hidden_in_factoriopedia: Option<bool>,
pub localised_description: Option<&'static str>,
pub localised_name: Option<&'static str>,
pub parameter: Option<bool>,
pub factoriopedia_alternative: Option<&'static str>,
pub additional_pastable_entities: Option<&'static [&'static str]>,
pub alert_icon_scale: Option<f64>,
pub allow_copy_paste: Option<bool>,
pub ambient_sounds_group: Option<&'static str>,
pub build_grid_size: Option<i64>,
pub deconstruction_alternative: Option<&'static str>,
pub draw_stateless_visualisations_in_ghost: Option<bool>,
pub drawing_box_vertical_extension: Option<f64>,
}Expand description
Minimal FurnacePrototype for data.extend.
A furnace. Normal furnaces only process “smelting” category recipes, but you can make furnaces that process other recipe categories.
The difference to assembling machines is that furnaces automatically choose their recipe based on input. See Furnace Recipe Selection for how the recipe is chosen.
type = "furnace" is injected by the Lua generator.
Fields§
§name: &'static strUnique textual identification of the prototype. May only contain alphanumeric characters, dashes and underscores. May not exceed a length of 200 characters.
For a list of all names used in vanilla, see data.raw.
crafting_categories: &'static [&'static str]A list of recipe categories this crafting machine can use.
crafting_speed: f64How 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.
energy_source: EnergySourceDefines how the crafting machine is powered.
When using an electric energy source and drain is not specified, it will be set to energy_usage ÷ 30 automatically.
energy_usage: &'static strSets how much energy this machine uses while crafting. Energy usage has to be positive.
result_inventory_size: i64The number of output slots.
source_inventory_size: i64The number of input slots, but not more than 1.
Prototype property hidden.
order: Option<&'static str>Used to order prototypes in inventory, recipes and GUIs. May not exceed a length of 200 characters.
subgroup: Option<&'static str>The name of an ItemSubGroup.
collision_box: Option<BoundingBox>Specification of the entity collision boundaries. Empty collision box means no collision and is used for smoke, projectiles, particles, explosions etc.
The {0,0} coordinate in the collision box will match the entity position. It should be near the center of the collision box, to keep correct entity drawing order. The bounding box must include the {0,0} coordinate.
Note, that for buildings, it is customary to leave 0.1 wide border between the edge of the tile and the edge of the building, this lets the player move between the building and electric poles/inserters etc.
flags: Option<&'static [&'static str]>Prototype property flags.
icon: Option<&'static str>Path to the icon file.
Either this or icons is mandatory for entities that have at least one of these flags active: "placeable-neutral", "placeable-player“, "placeable-enemy".
Only loaded if icons is not defined.
minable: Option<MinableProperties>The item given to the player when they mine the entity and other properties relevant to mining this entity.
selection_box: Option<BoundingBox>Specification of the entity selection area. When empty the entity will have no selection area (and thus is not selectable).
The selection box is usually a little bit bigger than the collision box. For tileable entities (like buildings) it should match the tile size of the building.
max_health: Option<f64>The unit health can never go over the maximum. Default health of units on creation is set to max. Must be greater than 0.
fluid_boxes: Option<LuaAny>The crafting machine’s fluid boxes. If an assembling machine has fluid boxes and AssemblingMachinePrototype::fluid_boxes_off_when_no_fluid_recipe is true, the assembling machine can only be rotated when a recipe consuming or producing fluid is set, or if it has one of the other properties listed at the top of this page.
For assembling machines, any filters set on the fluidboxes are ignored.
module_slots: Option<i64>The number of module slots in this machine.
factoriopedia_description: Option<&'static str>Provides additional description used in factoriopedia.
Prototype property hidden_in_factoriopedia.
localised_description: Option<&'static str>Overwrites the description set in the locale file. The description is usually shown in the tooltip of the prototype.
localised_name: Option<&'static str>Overwrites the name set in the locale file. Can be used to easily set a procedurally-generated name because the LocalisedString format allows to insert parameters into the name directly from the Lua script.
parameter: Option<bool>Whether the prototype is a special type which can be used to parametrize blueprints and doesn’t have other function.
factoriopedia_alternative: Option<&'static str>The ID type corresponding to the prototype that inherits from this.
For example, if this is an EntityPrototype, this property’s type is EntityID.
additional_pastable_entities: Option<&'static [&'static str]>Names of the entity prototypes this entity prototype can be pasted on to in addition to the standard supported types.
This is used to allow copying between types that aren’t compatible on the C++ code side, by allowing mods to receive the on_entity_settings_pasted event for the given entity and do the setting pasting via script.
alert_icon_scale: Option<f64>Prototype property alert_icon_scale.
allow_copy_paste: Option<bool>Prototype property allow_copy_paste.
ambient_sounds_group: Option<&'static str>Prototype property ambient_sounds_group.
build_grid_size: Option<i64>Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid, like rails).
Internally forced to be 2 for RailPrototype, RailRemnantsPrototype, TrainStopPrototype, RailSupportPrototype and CargoBayPrototype.
Internally forced to be 256 for SpacePlatformHubPrototype.
deconstruction_alternative: Option<&'static str>Used to merge multiple entities into one entry in the deconstruction planner.
draw_stateless_visualisations_in_ghost: Option<bool>Prototype property draw_stateless_visualisations_in_ghost.
drawing_box_vertical_extension: Option<f64>Specification of extra vertical space needed to see the whole entity in GUIs. This is used to calculate the correct zoom and positioning in the entity info gui, for example in the entity tooltip.