Skip to main content

MiningDrill

Struct MiningDrill 

Source
pub struct MiningDrill {
Show 32 fields pub name: &'static str, pub energy_source: EnergySource, pub energy_usage: &'static str, pub mining_speed: f64, pub resource_categories: &'static [&'static str], pub resource_searching_radius: f64, pub vector_to_place_result: LuaAny, 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 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>, pub enemy_map_color: Option<Color>,
}
Expand description

Minimal MiningDrillPrototype for data.extend.

A mining drill for automatically extracting resources from resource entities. This prototype type is used by burner mining drill, electric mining drill and pumpjack in vanilla.

type = "mining-drill" is injected by the Lua generator.

Fields§

§name: &'static str

Unique 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.

§energy_source: EnergySource

The energy source of this mining drill.

§energy_usage: &'static str

The amount of energy used by the drill while mining. Can’t be less than or equal to 0.

§mining_speed: f64

The speed of this drill.

§resource_categories: &'static [&'static str]

The names of the ResourceCategory that can be mined by this drill. For a list of built-in categories, see here.

Note: Categories containing resources which produce items, fluids, or items+fluids may be combined on the same entity, but may not work as expected. 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.

§resource_searching_radius: f64

The distance from the center of the mining drill to search for resources in.

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.

§vector_to_place_result: LuaAny

The position where any item results are placed, when the mining drill is facing north (default direction). If the drill does not produce any solid items but uses a fluidbox output instead (e.g. pumpjacks), a vector of {0,0} disables the yellow arrow alt-mode indicator for the placed item location.

§hidden: Option<bool>

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.

§module_slots: Option<i64>

The number of module slots in this machine.

§factoriopedia_description: Option<&'static str>

Provides additional description used in factoriopedia.

§hidden_in_factoriopedia: Option<bool>

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.

§enemy_map_color: Option<Color>

Prototype property enemy_map_color.

Trait Implementations§

Source§

impl Clone for MiningDrill

Source§

fn clone(&self) -> MiningDrill

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MiningDrill

Source§

impl Debug for MiningDrill

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MiningDrill

Source§

fn default() -> MiningDrill

Returns the “default value” for a type. Read more
Source§

impl PartialEq for MiningDrill

Source§

fn eq(&self, other: &MiningDrill) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MiningDrill

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.