Prototype/Lamp: Difference between revisions
Muppet9010 (talk | contribs) (undocumented requirement seen in 0.17.4) |
(Updated styling of prototype doc migration note) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | <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/LampPrototype.html https://lua-api.factorio.com/latest/prototypes/LampPrototype.html] | ||
</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 [[lamp]] to provide light, using energy. | |||
{{Prototype TOC|lamp}} | |||
== | == Mandatory properties == | ||
This prototype inherits all the properties from [[Prototype/EntityWithOwner]]. | |||
The | {{Prototype property|picture_on|[[Types/Sprite|Sprite]]}} | ||
The lamps graphics when it's on. | |||
{{Prototype property|picture_off|[[Types/Sprite|Sprite]]}} | |||
The lamps graphics when it's off. | |||
{{Prototype property|energy_usage_per_tick|[[Types/Energy|Energy]]}} | |||
The amount of energy the lamp uses. Must be greater than > 0. | |||
{{Prototype property|energy_source|[[Types/EnergySource|EnergySource]]}} | |||
Must be an electric or void energy source. The emissions set on the energy source are ignored so lamps cannot produce pollution. | |||
== Optional properties == | |||
{{Prototype property|light|[[Types/LightDefinition|LightDefinition]]|optional=true}} | |||
What color the lamp will be when it is on, and receiving power. | |||
{{Prototype property|light_when_colored|[[Types/LightDefinition|LightDefinition]]|optional=true}} | |||
This refers to when the light is in a circuit network, and is lit a certain color based on a Circuit value. | |||
{{Prototype property|circuit_wire_connection_point|[[Types/WireConnectionPoint|WireConnectionPoint]]|optional=true}} | |||
Defines how wires visually connect to this lamp. | Defines how wires visually connect to this lamp. | ||
{{Prototype property|circuit_wire_max_distance|[[Types/double|double]]|0|optional=true}} | |||
The maximum circuit wire distance for this entity. | |||
The maximum circuit wire distance for this | |||
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}} | |||
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}} | |||
{{Prototype property|circuit_connector_sprites|[[Types/CircuitConnectorSprites|CircuitConnectorSprites]]|optional=true}} | |||
The pictures displayed for circuit connections to this lamp. | |||
{{Prototype property|glow_size|[[Types/float|float]]|0|optional=true}} | |||
{{Prototype property|glow_color_intensity|[[Types/float|float]]|0|optional=true}} | |||
{{Prototype property|darkness_for_all_lamps_on|[[Types/float|float]]|0.5|optional=true}} | |||
darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1. | darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1. | ||
{{Prototype property|darkness_for_all_lamps_off|[[Types/float|float]]|0.3|optional=true}} | |||
darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1. | darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1. | ||
{{Prototype property|always_on|[[Types/bool|bool]]|false|optional=true}} | |||
Whether the lamp should always be on. | |||
{{Prototype property|signal_to_color_mapping|[[Types/table|table]] of [[Types/SignalColorMapping|SignalColorMapping]]|optional=true}} | |||
{{Prototype property|glow_render_mode|[[Types/string|string]]|"additive"|optional=true}} | |||
Options: "additive", "multiplicative" | Options: "additive", "multiplicative" | ||
==Example== | == Example == | ||
<syntaxhighlight lang="lua">{ | <syntaxhighlight lang="lua">{ | ||
type = "lamp", | type = "lamp", | ||
Line 97: | Line 71: | ||
icon_size = 32, | icon_size = 32, | ||
flags = {"placeable-neutral", "player-creation"}, | flags = {"placeable-neutral", "player-creation"}, | ||
minable = { | minable = {mining_time = 0.1, result = "small-lamp"}, | ||
max_health = 100, | max_health = 100, | ||
corpse = " | corpse = "lamp-remnants", | ||
collision_box = {{-0.15, -0.15}, {0.15, 0.15}}, | collision_box = {{-0.15, -0.15}, {0.15, 0.15}}, | ||
selection_box = {{-0.5, -0.5}, {0.5, 0.5}}, | selection_box = {{-0.5, -0.5}, {0.5, 0.5}}, | ||
Line 115: | Line 89: | ||
glow_size = 6, | glow_size = 6, | ||
glow_color_intensity = 0.135, | glow_color_intensity = 0.135, | ||
picture_off = { | picture_off = | ||
{ | |||
layers = | |||
{ | |||
{ | { | ||
filename = "__base__/graphics/entity/small-lamp/lamp.png", | filename = "__base__/graphics/entity/small-lamp/lamp.png", | ||
Line 126: | Line 102: | ||
direction_count = 1, | direction_count = 1, | ||
shift = util.by_pixel(0,3), | shift = util.by_pixel(0,3), | ||
hr_version = { | hr_version = | ||
{ | |||
filename = "__base__/graphics/entity/small-lamp/hr-lamp.png", | filename = "__base__/graphics/entity/small-lamp/hr-lamp.png", | ||
priority = "high", | priority = "high", | ||
Line 148: | Line 125: | ||
shift = util.by_pixel(4,5), | shift = util.by_pixel(4,5), | ||
draw_as_shadow = true, | draw_as_shadow = true, | ||
hr_version = { | hr_version = | ||
{ | |||
filename = "__base__/graphics/entity/small-lamp/hr-lamp-shadow.png", | filename = "__base__/graphics/entity/small-lamp/hr-lamp-shadow.png", | ||
priority = "high", | priority = "high", | ||
Line 173: | Line 151: | ||
direction_count = 1, | direction_count = 1, | ||
shift = util.by_pixel(0, -7), | shift = util.by_pixel(0, -7), | ||
hr_version = { | hr_version = | ||
{ | |||
filename = "__base__/graphics/entity/small-lamp/hr-lamp-light.png", | filename = "__base__/graphics/entity/small-lamp/hr-lamp-light.png", | ||
priority = "high", | priority = "high", | ||
Line 192: | Line 171: | ||
{type="virtual", name="signal-yellow", color={r=1,g=1,b=0}}, | {type="virtual", name="signal-yellow", color={r=1,g=1,b=0}}, | ||
{type="virtual", name="signal-pink", color={r=1,g=0,b=1}}, | {type="virtual", name="signal-pink", color={r=1,g=0,b=1}}, | ||
{type="virtual", name="signal-cyan", color={r=0,g=1,b=1}} | {type="virtual", name="signal-cyan", color={r=0,g=1,b=1}} | ||
}, | }, | ||
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/LampPrototype.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/Lamp
A lamp to provide light, using energy.
Mandatory properties
This prototype inherits all the properties from Prototype/EntityWithOwner.
picture_on
Type: Sprite
The lamps graphics when it's on.
picture_off
Type: Sprite
The lamps graphics when it's off.
energy_usage_per_tick
Type: Energy
The amount of energy the lamp uses. Must be greater than > 0.
energy_source
Type: EnergySource
Must be an electric or void energy source. The emissions set on the energy source are ignored so lamps cannot produce pollution.
Optional properties
light
Type: LightDefinition
What color the lamp will be when it is on, and receiving power.
light_when_colored
Type: LightDefinition
This refers to when the light is in a circuit network, and is lit a certain color based on a Circuit value.
circuit_wire_connection_point
Type: WireConnectionPoint
Defines how wires visually connect to this lamp.
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
circuit_connector_sprites
Type: CircuitConnectorSprites
The pictures displayed for circuit connections to this lamp.
glow_size
Type: float
Default: 0
glow_color_intensity
Type: float
Default: 0
darkness_for_all_lamps_on
Type: float
Default: 0.5
darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1.
darkness_for_all_lamps_off
Type: float
Default: 0.3
darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1.
always_on
Type: bool
Default: false
Whether the lamp should always be on.
signal_to_color_mapping
Type: table of SignalColorMapping
glow_render_mode
Type: string
Default: "additive"
Options: "additive", "multiplicative"
Example
{
type = "lamp",
name = "small-lamp",
icon = "__base__/graphics/icons/small-lamp.png",
icon_size = 32,
flags = {"placeable-neutral", "player-creation"},
minable = {mining_time = 0.1, result = "small-lamp"},
max_health = 100,
corpse = "lamp-remnants",
collision_box = {{-0.15, -0.15}, {0.15, 0.15}},
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
energy_source =
{
type = "electric",
usage_priority = "lamp"
},
energy_usage_per_tick = "5KW",
darkness_for_all_lamps_on = 0.5,
darkness_for_all_lamps_off = 0.3,
light = {intensity = 0.9, size = 40, color = {r=1.0, g=1.0, b=1.0}},
light_when_colored = {intensity = 1, size = 6, color = {r=1.0, g=1.0, b=1.0}},
glow_size = 6,
glow_color_intensity = 0.135,
picture_off =
{
layers =
{
{
filename = "__base__/graphics/entity/small-lamp/lamp.png",
priority = "high",
width = 42,
height = 36,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(0,3),
hr_version =
{
filename = "__base__/graphics/entity/small-lamp/hr-lamp.png",
priority = "high",
width = 83,
height = 70,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(0.25,3),
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/small-lamp/lamp-shadow.png",
priority = "high",
width = 38,
height = 24,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(4,5),
draw_as_shadow = true,
hr_version =
{
filename = "__base__/graphics/entity/small-lamp/hr-lamp-shadow.png",
priority = "high",
width = 76,
height = 47,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(4, 4.75),
draw_as_shadow = true,
scale = 0.5
}
}
}
},
picture_on =
{
filename = "__base__/graphics/entity/small-lamp/lamp-light.png",
priority = "high",
width = 46,
height = 40,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(0, -7),
hr_version =
{
filename = "__base__/graphics/entity/small-lamp/hr-lamp-light.png",
priority = "high",
width = 90,
height = 78,
frame_count = 1,
axially_symmetrical = false,
direction_count = 1,
shift = util.by_pixel(0, -7),
scale = 0.5
}
},
signal_to_color_mapping =
{
{type="virtual", name="signal-red", color={r=1,g=0,b=0}},
{type="virtual", name="signal-green", color={r=0,g=1,b=0}},
{type="virtual", name="signal-blue", color={r=0,g=0,b=1}},
{type="virtual", name="signal-yellow", color={r=1,g=1,b=0}},
{type="virtual", name="signal-pink", color={r=1,g=0,b=1}},
{type="virtual", name="signal-cyan", color={r=0,g=1,b=1}}
},
circuit_wire_connection_point = circuit_connector_definitions["lamp"].points,
circuit_connector_sprites = circuit_connector_definitions["lamp"].sprites,
circuit_wire_max_distance = default_circuit_wire_max_distance
}