Prototype/Lamp: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎Optional properties: added draw_circuit_wires default)
(Removed old prototype docs)
Tag: Replaced
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Basics ==
<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]
Prototype type: '''lamp'''


A lamp to provide light, using energy. Based on [[Prototype/EntityWithHealth]].
</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>
 
== Usage in base ==
* [[Lamp]]
 
== Mandatory properties ==
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].
 
=== picture_on ===
'''Type''': [[Types/Sprite]]
 
The lamps graphics when it's on.
 
=== picture_off ===
'''Type''': [[Types/Sprite]]
 
The lamps graphics when it's off.
 
=== energy_usage_per_tick ===
'''Type''': [[Types/Energy]]
 
The amount of energy the lamp uses. Must be greater than > 0.
 
=== energy_source ===
'''Type''': [[Types/EnergySource]]
 
Must be an electric or void energy source.
 
== Optional properties ==
 
=== light ===
'''Type''': [[Types/LightDefinition]]
 
What color the lamp will be when it is on, and receiving power.
 
=== light_when_colored ===
'''Type''': [[Types/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''': [[Types/WireConnectionPoint]]
 
Defines how wires visually connect to this lamp.
 
=== circuit_wire_max_distance ===
'''Type''': [[Types/double]]
 
'''Default''': 0
 
The maximum circuit wire distance for this entity.
 
=== draw_copper_wires ===
'''Type''': [[Types/bool]]
 
'''Default''': true
 
=== draw_circuit_wires ===
'''Type''': [[Types/bool]]
 
'''Default''': true
 
=== circuit_connector_sprites ===
'''Type''': [[Types/CircuitConnectorSprites]]
 
The pictures displayed for circuit connections to this lamp.
 
=== glow_size ===
'''Type''': [[Types/float]]
 
'''Default''': 0
 
=== glow_color_intensity ===
'''Type''': [[Types/float]]
 
'''Default''': 0
 
=== darkness_for_all_lamps_on ===
'''Type''': [[Types/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''': [[Types/float]]
 
'''Default''': 0.3
 
darkness_for_all_lamps_on must be > darkness_for_all_lamps_off. Values must be between 0 and 1.
 
=== signal_to_color_mapping ===
'''Type''': [[Types/table]] of [[Types/SignalColorMapping]]
 
=== glow_render_mode ===
'''Type''': [[Types/string]]
 
'''Default''': "additive"
 
Options: "additive", "multiplicative"
 
==Example==
<syntaxhighlight lang="lua">{
    type = "lamp",
    name = "small-lamp",
    icon = "__base__/graphics/icons/small-lamp.png",
    icon_size = 32,
    flags = {"placeable-neutral", "player-creation"},
    minable = {hardness = 0.2, mining_time = 0.5, result = "small-lamp"},
    max_health = 100,
    corpse = "small-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
  }</syntaxhighlight>

Latest revision as of 14:32, 25 October 2024

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.