Prototype/Lamp: Difference between revisions
(Must be an electric energy source.) |
(1.1.51: Prototype/EntityWithOwner added) |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Prototype parent|Prototype/EntityWithOwner}} | |||
A lamp to provide light, using energy | A [[lamp]] to provide light, using energy. | ||
{{Prototype TOC|lamp}} | |||
== | == Mandatory properties == | ||
This prototype inherits all the properties from [[Prototype/EntityWithOwner]]. | |||
{{Prototype property|picture_on|[[Types/Sprite|Sprite]]}} | |||
The lamps graphics when it's on. | |||
The | {{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. | |||
The | {{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. | 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. | |||
This refers to when the light is in a | |||
{{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. | |||
{{Prototype property|draw_copper_wires|[[Types/bool|bool]]|true|optional=true}} | |||
{{Prototype property|draw_circuit_wires|[[Types/bool|bool]]|true|optional=true}} | |||
The pictures displayed for circuit connections to this lamp | {{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 95: | Line 65: | ||
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 113: | Line 83: | ||
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 124: | Line 96: | ||
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 146: | Line 119: | ||
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 171: | Line 145: | ||
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 190: | Line 165: | ||
{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 19:27, 21 January 2022
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
}