Prototype/Lamp: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Added prototype type to page)
(undocumented requirement seen in 0.17.4)
Line 17: Line 17:
Type: [[Types/Energy]]
Type: [[Types/Energy]]


The amount of energy the lamp uses.
The amount of energy the lamp uses. Must be greater than > 0.


=== light ===
=== light ===

Revision as of 17:24, 3 March 2019

Basics

Prototype type: lamp

A lamp to provide light, using energy. Based on Prototype/EntityWithHealth.

Usage in base

Properties

energy_source

Type: Types/EnergySource

The type of energy the lamp uses. Must be an electric energy source.

energy_usage_per_tick

Type: Types/Energy

The amount of energy the lamp uses. Must be greater than > 0.

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.

picture_on

Type: Types/Sprite

The lamp's entity if it's on.

picture_off

Type: Types/Sprite

The lamp's entity if it's off.

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

circuit_connector_sprites

Type: Types/CircuitConnectorSprites

The pictures displayed for circuit connections to this lamp. Not mandatory.

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

{
    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
  }