Prototype/MiningDrill: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (resource categories is table of strings)
(Updated styling of prototype doc migration note)
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Prototype parent|Prototype/EntityWithHealth}}
<div class="stub"><p>'''The prototype docs have moved to a new website with an improved format.''' This documentation page can now be found here: [https://lua-api.factorio.com/latest/prototypes/MiningDrillPrototype.html https://lua-api.factorio.com/latest/prototypes/MiningDrillPrototype.html]
A mining drill.
 
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
 
 
 
{{Prototype parent|Prototype/EntityWithOwner}}
A mining drill for automatically extracting resources from [[Prototype/ResourceEntity|resource entities]]. This prototype type is used by [[burner mining drill]], [[electric mining drill]] and [[pumpjack]] in vanilla.


{{Prototype TOC|mining-drill}}
{{Prototype TOC|mining-drill}}


== Mandatory properties ==
== Mandatory properties ==
 
This prototype inherits the properties of [[Prototype/EntityWithOwner]].
This prototype inherits the properties of [[Prototype/EntityWithHealth]].


{{Prototype property|vector_to_place_result|[[Types/vector|vector]]}}
{{Prototype property|vector_to_place_result|[[Types/vector|vector]]}}
The position where the (mine) result is placed, when the mining drill is facing south (?).
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.


{{Prototype property|resource_searching_radius|[[Types/double|double]]}}
{{Prototype property|resource_searching_radius|[[Types/double|double]]}}
Line 17: Line 22:


{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
{{Prototype property|energy_usage|[[Types/Energy|Energy]]}}
The amount of energy used by the drill while mining. Can't be less than or equal to 0
The amount of energy used by the drill while mining. Can't be less than or equal to 0.


{{Prototype property|mining_speed|[[Types/double|double]]}}
{{Prototype property|mining_speed|[[Types/double|double]]}}
Line 26: Line 31:


{{Prototype property|resource_categories|[[Types/table|array]] of [[Types/string|string]]}}
{{Prototype property|resource_categories|[[Types/table|array]] of [[Types/string|string]]}}
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]].
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>
 
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>
{{Prototype property|animations|[[Types/Animation4Way|Animation4Way]]}}
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.
The animations to use.


== Optional properties ==
== Optional properties ==
Line 36: Line 40:


{{Prototype property|input_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}
{{Prototype property|input_fluid_box|[[Types/FluidBox|FluidBox]]|optional=true}}
{{Prototype property|animations|[[Types/Animation4Way|Animation4Way]]|optional=true}}
Loaded only if <code>graphics_set</code> does not exist.
{{Prototype property|graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}
{{Prototype property|wet_mining_graphics_set|[[Types/MiningDrillGraphicsSet|MiningDrillGraphicsSet]]|optional=true}}


{{Prototype property|base_picture|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
{{Prototype property|base_picture|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
 
Used by the [[pumpjack]] to have a static 4 way sprite.
{{Prototype property|shadow_animations|[[Types/Animation4Way|Animation4Way]]|optional=true}}


{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}
{{Prototype property|allowed_effects|[[Types/EffectTypeLimitation|EffectTypeLimitation]]|All effects are allowed|optional=true}}


{{Prototype property|radius_visualization_picture|[[Types/Sprite|Sprite]]|optional=true}}
{{Prototype property|radius_visualisation_picture|[[Types/Sprite|Sprite]]|optional=true}}
The sprite used to show the range of the mining drill.
The sprite used to show the range of the mining drill.
{{Prototype property|storage_slots|[[Types/ItemStackIndex|ItemStackIndex]]|1|optional=true}}
The output slot(s).


{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}}
Line 59: Line 66:


{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}
{{Prototype property|base_productivity|[[Types/float|float]]|0|optional=true}}
Productivity bonus that this machine always has.
Productivity bonus that this machine always has. Values below 0 are allowed, however the sum of the resulting effect together with modules and research is limited to be at least 0%, see [[Types/Effect#productivity]].


{{Prototype property|monitor_visualization_tint|[[Types/Color|Color]]|optional=true}}
{{Prototype property|monitor_visualization_tint|[[Types/Color|Color]]|optional=true}}
Line 71: Line 78:


{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}
{{Prototype property|module_specification|[[Types/ModuleSpecification|ModuleSpecification]]|optional=true}}
{{Prototype property|input_fluid_patch_sprites|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Only read if <code>input_fluid_box</code> exists. Even then it's optional.
{{Prototype property|input_fluid_patch_shadow_sprites|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Only read if <code>input_fluid_box</code> exists. Even then it's optional.
{{Prototype property|input_fluid_patch_window_sprites|[[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Only read if <code>input_fluid_box</code> exists. Even then it's optional.
{{Prototype property|input_fluid_patch_shadow_animations|[[Types/Animation4Way|Animation4Way]]|optional=true}}
Only read if <code>input_fluid_box</code> exists. Even then it's optional.
{{Prototype property|input_fluid_patch_window_base_sprites|[[Types/table|table]] of [[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Only read if <code>input_fluid_box</code> exists. Even then it's optional.
{{Prototype property|input_fluid_patch_window_flow_sprites|[[Types/table|table]] of [[Types/Sprite4Way|Sprite4Way]]|optional=true}}
Mandatory if <code>input_fluid_patch_window_base_sprites</code> exists.
input_fluid_patch_window_base_sprites count has to match input_fluid_patch_window_flow_sprites count.

Latest revision as of 10:43, 21 September 2023

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/MiningDrillPrototype.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.


Prototype definitions » PrototypeBase » Prototype/Entity » Prototype/EntityWithHealth » Prototype/EntityWithOwner » Prototype/MiningDrill


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.


Prototype/MiningDrill — mining-drill
energy_source::EnergySource
energy_usage::Energy
mining_speed::double
resource_categories::array of string
resource_searching_radius::double
vector_to_place_result::vector
allowed_effects::EffectTypeLimitation (optional)
animations::Animation4Way (optional)
base_picture::Sprite4Way (optional)
base_productivity::float (optional)
base_render_layer::RenderLayer (optional)
circuit_connector_sprites::table of CircuitConnectorSprites (optional)
circuit_wire_connection_points::table of WireConnectionPoint (optional)
circuit_wire_max_distance::double (optional)
draw_circuit_wires::bool (optional)
draw_copper_wires::bool (optional)
graphics_set::MiningDrillGraphicsSet (optional)
input_fluid_box::FluidBox (optional)
module_specification::ModuleSpecification (optional)
monitor_visualization_tint::Color (optional)
output_fluid_box::FluidBox (optional)
radius_visualisation_picture::Sprite (optional)
wet_mining_graphics_set::MiningDrillGraphicsSet (optional)
Inherited from Prototype/EntityWithOwner
allow_run_time_change_of_is_military_target::bool (optional)
is_military_target::bool (optional)
Inherited from Prototype/EntityWithHealth
alert_when_damaged::bool (optional)
attack_reaction::AttackReaction (optional)
corpse::string or table of strings (optional)
create_ghost_on_death::bool (optional)
damaged_trigger_effect::TriggerEffect (optional)
dying_explosion::ExplosionDefinition or table of ExplosionDefinition (optional)
dying_trigger_effect::TriggerEffect (optional)
healing_per_tick::float (optional)
hide_resistances::bool (optional)
integration_patch::Sprite4Way (optional)
integration_patch_render_layer::RenderLayer (optional)
loot::Loot (optional)
max_health::float (optional)
random_corpse_variation::bool (optional)
repair_sound::Sound (optional)
repair_speed_modifier::float (optional)
resistances::Resistances (optional)
Inherited from Prototype/Entity
icons, icon, icon_size (IconSpecification)::IconSpecification
additional_pastable_entities::table of string (optional)
alert_icon_scale::float (optional)
alert_icon_shift::vector (optional)
allow_copy_paste::bool (optional)
autoplace::AutoplaceSpecification (optional)
build_base_evolution_requirement::double (optional)
build_grid_size::uint8 (optional)
build_sound::Sound (optional)
close_sound::Sound (optional)
collision_box::BoundingBox (optional)
collision_mask::CollisionMask (optional)
created_effect::Trigger (optional)
created_smoke::CreateTrivialSmokeEffectItem (optional)
drawing_box::BoundingBox (optional)
emissions_per_second::double (optional)
enemy_map_color::Color (optional)
fast_replaceable_group::string (optional)
flags::EntityPrototypeFlags (optional)
friendly_map_color::Color (optional)
hit_visualization_box::BoundingBox (optional)
map_color::Color (optional)
map_generator_bounding_box::BoundingBox (optional)
minable::MinableProperties (optional)
mined_sound::Sound (optional)
mining_sound::Sound (optional)
next_upgrade::string (optional)
open_sound::Sound (optional)
placeable_by::ItemToPlace or table of ItemToPlace (optional)
protected_from_tile_building::bool (optional)
radius_visualisation_specification::RadiusVisualisationSpecification (optional)
remains_when_mined::string or table of string (optional)
remove_decoratives::string (optional)
rotated_sound::Sound (optional)
selectable_in_game::bool (optional)
selection_box::BoundingBox (optional)
selection_priority::uint8 (optional)
shooting_cursor_size::double (optional)
sticker_box::BoundingBox (optional)
subgroup::string (optional)
tile_height::uint32 (optional)
tile_width::uint32 (optional)
trigger_target_mask::TriggerTargetMask (optional)
vehicle_impact_sound::Sound (optional)
water_reflection::WaterReflectionDefinition (optional)
working_sound::WorkingSound (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

This prototype inherits the properties of Prototype/EntityWithOwner.

vector_to_place_result

Type: vector
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.

resource_searching_radius

Type: double
The distance from the centre 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.

energy_usage

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

mining_speed

Type: double
The speed of this drill.

energy_source

Type: EnergySource
The energy source of this mining drill.

resource_categories

Type: array of string
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.
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.

Optional properties

output_fluid_box

Type: FluidBox

input_fluid_box

Type: FluidBox

animations

Type: Animation4Way
Loaded only if graphics_set does not exist.

graphics_set

Type: MiningDrillGraphicsSet

wet_mining_graphics_set

Type: MiningDrillGraphicsSet

base_picture

Type: Sprite4Way
Used by the pumpjack to have a static 4 way sprite.

allowed_effects

Type: EffectTypeLimitation
Default: All effects are allowed

radius_visualisation_picture

Type: Sprite
The sprite used to show the range of the mining drill.

circuit_wire_max_distance

Type: double
Default: 0
The maximum circuit wire distance for this entity.

draw_copper_wires

Type: bool
Default: true

draw_circuit_wires

Type: bool
Default: true

base_render_layer

Type: RenderLayer
Default: "lower-object"

base_productivity

Type: float
Default: 0
Productivity bonus that this machine always has. Values below 0 are allowed, however the sum of the resulting effect together with modules and research is limited to be at least 0%, see Types/Effect#productivity.

monitor_visualization_tint

Type: Color
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.

circuit_wire_connection_points

Type: table of WireConnectionPoint
Mandatory if circuit_wire_max_distance > 0.

circuit_connector_sprites

Type: table of CircuitConnectorSprites
Mandatory if circuit_wire_max_distance > 0.

module_specification

Type: ModuleSpecification