summaryrefslogtreecommitdiff
path: root/homedecor_lighting
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-05-27 15:07:25 -0400
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-05-27 15:07:25 -0400
commit65fce91b5c5cd26c945bec2b4073df8664b9a8e4 (patch)
tree719ab3b1594c1b874697536808e635200a15b424 /homedecor_lighting
parent9e49bc6167e9ee9900fdd205026c3143687ed33e (diff)
downloaddreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.gz
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.bz2
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.tar.xz
dreambuilder_modpack-65fce91b5c5cd26c945bec2b4073df8664b9a8e4.zip
update digistuff, farming, homedecor, signs_lib, simple streetlights
Diffstat (limited to 'homedecor_lighting')
-rw-r--r--homedecor_lighting/depends.txt1
-rw-r--r--homedecor_lighting/init.lua1389
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_base.pngbin0 -> 83 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_bottom.pngbin95 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides.pngbin93 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.pngbin0 -> 106 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png)bin203 -> 203 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_tb.pngbin94 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.pngbin0 -> 104 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png)bin204 -> 204 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_tb_edges.pngbin0 -> 96 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides.pngbin95 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.pngbin0 -> 100 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png (renamed from homedecor_lighting/textures/homedecor_glowlight_top_overlay.png)bin423 -> 423 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.pngbin307 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides.pngbin96 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.pngbin0 -> 97 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.pngbin0 -> 313 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.pngbin187 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_top.pngbin93 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_glowlight_top_glare.pngbin0 -> 423 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large.pngbin360 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large_light.pngbin0 -> 661 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.pngbin0 -> 210 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.pngbin377 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.pngbin0 -> 493 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.pngbin0 -> 282 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.pngbin379 -> 0 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.pngbin0 -> 493 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.pngbin0 -> 287 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_plasma_lamp_off.pngbin0 -> 68 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_table_generic_light_source_off.pngbin0 -> 450 bytes
-rw-r--r--homedecor_lighting/textures/homedecor_table_generic_light_source_on.png (renamed from homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png)bin594 -> 594 bytes
33 files changed, 898 insertions, 492 deletions
diff --git a/homedecor_lighting/depends.txt b/homedecor_lighting/depends.txt
index 67304af..cc75649 100644
--- a/homedecor_lighting/depends.txt
+++ b/homedecor_lighting/depends.txt
@@ -6,3 +6,4 @@ creative
moreblocks?
building_blocks?
darkage?
+mesecons?
diff --git a/homedecor_lighting/init.lua b/homedecor_lighting/init.lua
index 3650ec8..6398504 100644
--- a/homedecor_lighting/init.lua
+++ b/homedecor_lighting/init.lua
@@ -1,171 +1,790 @@
--- This file supplies glowlights
+-- This file supplies the majority of homedecor's lighting
local S = homedecor.gettext
-local glowlight_nodebox = {
- half = homedecor.nodebox.slab_y(1/2),
- quarter = homedecor.nodebox.slab_y(1/4),
- small_cube = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
- },
-}
+local function is_protected(pos, clicker)
+ if minetest.is_protected(pos, clicker:get_player_name()) then
+ minetest.record_protection_violation(pos,
+ clicker:get_player_name())
+ return true
+ end
+ return false
+end
-minetest.register_node(":homedecor:glowlight_half", {
- description = S("Thick Glowlight"),
- tiles = {
- "homedecor_glowlight_top.png",
- "homedecor_glowlight_bottom.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png",
- "homedecor_glowlight_thick_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_top_overlay.png", color = "white"},
- "",
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
- },
- node_box = glowlight_nodebox.half,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+local actions = {
+ action_off = function(pos, node)
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ if minetest.get_meta(pos):get_int("toggled") > 0 then
+ minetest.swap_node(pos, {
+ name = string.sub(node.name, 1, sep - 1).."_off",
+ param2 = node.param2
+ })
+ end
end,
-})
+ action_on = function(pos, node)
+ minetest.get_meta(pos):set_int("toggled", 1)
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ minetest.swap_node(pos, {
+ name = string.sub(node.name, 1, sep - 1).."_on",
+ param2 = node.param2
+ })
+ end
+}
-minetest.register_node(":homedecor:glowlight_quarter", {
- description = S("Thin Glowlight"),
- tiles = {
- "homedecor_glowlight_top.png",
- "homedecor_glowlight_bottom.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png",
- "homedecor_glowlight_thin_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_top_overlay.png", color = "white"},
- "",
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
- wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
- wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
- },
- node_box = glowlight_nodebox.quarter,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX-1,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
- end,
-})
+local rules_xz = {
+ {x = -1, y = 0, z = 0}, -- borrowed from extrawires crossing
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = 0, y = 0, z = 1},
+}
-minetest.register_node(":homedecor:glowlight_small_cube", {
- description = S("Small Glowlight Cube"),
- tiles = {
- "homedecor_glowlight_cube_tb.png",
- "homedecor_glowlight_cube_tb.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png",
- "homedecor_glowlight_cube_sides.png"
- },
- overlay_tiles = {
- { name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- { name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
- },
- use_texture_alpha = true,
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- drawtype = "nodebox",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = {
- type = "wallmounted",
- wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
- wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
- wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
- },
- node_box = glowlight_nodebox.small_cube,
- groups = { snappy = 3, ud_param2_colorable = 1 },
- light_source = default.LIGHT_MAX-1,
- sounds = default.node_sound_glass_defaults(),
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
- end,
-})
+local rules_alldir = {
+ {x = 0, y = 0, z = -1}, -- borrowed from lightstones
+ {x = 1, y = 0, z = 0},
+ {x = -1, y = 0, z = 0},
+ {x = 0, y = 0, z = 1},
+ {x = 1, y = 1, z = 0},
+ {x = 1, y = -1, z = 0},
+ {x = -1, y = 1, z = 0},
+ {x = -1, y = -1, z = 0},
+ {x = 0, y = 1, z = 1},
+ {x = 0, y = -1, z = 1},
+ {x = 0, y = 1, z = -1},
+ {x = 0, y = -1, z = -1},
+ {x = 0, y = -1, z = 0},
+}
-homedecor.register("plasma_lamp", {
- description = S("Plasma Lamp/Light"),
- drawtype = "mesh",
- mesh = "plasma_lamp.obj",
- tiles = {
- "default_gold_block.png",
- {
+local rules_toponly = {
+ {x = 1, y = 1, z = 0},
+ {x = -1, y = 1, z = 0},
+ {x = 0, y = 1, z = 1},
+ {x = 0, y = 1, z = -1},
+}
+
+if minetest.get_modpath("mesecons") then
+ homedecor.mesecon_wall_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_wall_light.effector.rules = mesecon.rules.wallmounted_get
+
+ homedecor.mesecon_xz_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_xz_light.effector.rules = rules_xz
+
+ homedecor.mesecon_alldir_light = {
+ effector = table.copy(actions),
+ }
+ homedecor.mesecon_alldir_light.effector.rules = rules_alldir
+
+ homedecor.mesecon_toponly_light = {
+ effector = table.copy(actions)
+ }
+ homedecor.mesecon_toponly_light.effector.rules = rules_toponly
+
+end
+
+-- digilines compatibility
+-- the following functions are based on the so-named ones in Jeija's digilines mod
+
+local on_digiline_receive_std = function(pos, node, channel, msg)
+ local meta = minetest.get_meta(pos)
+ local setchan = meta:get_string("channel")
+ if setchan ~= channel then return end
+ local num = tonumber(msg)
+ if msg == "colon" or msg == "period" or msg == "off" or (num and (num >= 0 and num <= 9)) then
+ minetest.swap_node(pos, { name = "led_marquee:marquee_"..msg, param2 = node.param2})
+ end
+end
+
+local on_digiline_receive_string = function(pos, node, channel, msg)
+ local meta = minetest.get_meta(pos)
+ local setchan = meta:get_string("channel")
+
+ if setchan ~= channel then return end
+ if msg and msg ~= "" and type(msg) == "string" then
+ if msg == "off"
+ or msg == "low"
+ or msg == "med"
+ or msg == "hi"
+ or msg == "max" then
+ local basename = string.sub(node.name, 1, string.find(node.name, "_", -5) - 1)
+ minetest.swap_node(pos, {name = basename.."_"..msg, param2 = node.param2})
+ end
+ end
+end
+
+local repl = {
+ ["off"] ="low",
+ ["low"] ="med",
+ ["med"] ="hi",
+ ["hi"] ="max",
+ ["max"] ="off",
+}
+
+local player_last_clicked = {}
+
+local dl_onreceive
+local dl_digiline
+local dl_on_punch
+local function dl_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local delim = string.find(node.name, "_", -5)
+ local basename = string.sub(node.name, 1, delim - 1)
+ local suffix = string.sub(node.name, delim + 1)
+ minetest.set_node(pos, {name = basename.."_"..repl[suffix], param2 = node.param2})
+end
+
+if minetest.get_modpath("digilines") then
+ minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local name = player:get_player_name()
+ local pos = player_last_clicked[name]
+ if pos and formname == "homedecor:lamp_set_channel" then
+ if is_protected(pos, player) then return end
+ if (fields.channel) then
+ local meta = minetest.get_meta(pos)
+ meta:set_string("channel", fields.channel)
+ end
+ end
+ end)
+
+ dl_digiline = {
+ effector = {
+ action = on_digiline_receive_string,
+ },
+ rules = rules_xz
+ }
+
+ function dl_on_punch(pos, node, puncher, pointed_thing)
+ if is_protected(pos, puncher) then return end
+
+ if puncher:get_player_control().sneak then
+ local name = puncher:get_player_name()
+ player_last_clicked[name] = pos
+ local meta = minetest.get_meta(pos)
+ local form = "field[channel;Channel;]"
+ minetest.show_formspec(name, "homedecor:lamp_set_channel", form)
+ end
+ end
+
+ function dl_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local delim = string.find(node.name, "_", -5)
+ local basename = string.sub(node.name, 1, delim - 1)
+ local suffix = string.sub(node.name, delim + 1)
+ minetest.swap_node(pos, {name = basename.."_"..repl[suffix], param2 = node.param2})
+ end
+end
+
+local brightness_tab = {
+ 0xffd0d0d0,
+ 0xffd8d8d8,
+ 0xffe0e0e0,
+ 0xffe8e8e8,
+ 0xffffffff,
+}
+
+function homedecor.toggle_light(pos, node, clicker, itemstack, pointed_thing)
+ if is_protected(pos, clicker) then return end
+ local sep = string.find(node.name, "_o", -5)
+ local onoff = string.sub(node.name, sep + 1)
+ local newname = string.sub(node.name, 1, sep - 1)..((onoff == "off") and "_on" or "_off")
+ minetest.swap_node(pos, {name = newname, param2 = node.param2})
+end
+
+for _, onoff in ipairs({"on", "off"}) do
+
+ local onflag = (onoff == "on")
+ local offon = "on" -- always the inverse of 'onoff'
+ if onoff == "on" then offon = "off" end
+
+ local tiles
+ local overlay
+ local nici
+ if not onflag then nici = 1 end
+
+ local glowlight_nodebox = {
+ half = homedecor.nodebox.slab_y(1/2),
+ quarter = homedecor.nodebox.slab_y(1/4),
+ small_cube = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ }
+
+ local base = "homedecor_glowlight_base.png"
+
+ local tb_edges = "homedecor_glowlight_tb_edges.png"
+ local sides_edges = "homedecor_glowlight_thick_sides_edges.png"
+ local sides_glare = "homedecor_glowlight_thick_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_half_"..onoff, {
+ description = S("Thick Glowlight"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
+ },
+ node_box = glowlight_nodebox.half,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and default.LIGHT_MAX or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_half_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ sides_edges = "homedecor_glowlight_thin_sides_edges.png"
+ sides_glare = "homedecor_glowlight_thin_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_quarter_"..onoff, {
+ description = S("Thin Glowlight"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
+ },
+ node_box = glowlight_nodebox.quarter,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_quarter_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ tb_edges = "homedecor_glowlight_cube_tb_edges.png"
+ sides_edges = "homedecor_glowlight_cube_sides_edges.png"
+ sides_glare = "homedecor_glowlight_cube_sides_glare.png"
+
+ if onflag then
+ tiles = {
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..tb_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ "("..base.."^"..sides_edges..")^[brighten",
+ }
+ overlay = {
+ { name = "homedecor_glowlight_cube_top_glare.png", color = "white"},
+ "",
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ { name = sides_glare, color = "white"},
+ }
+ else
+ tiles = {
+ base.."^"..tb_edges,
+ base.."^"..tb_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ base.."^"..sides_edges,
+ }
+ overlay = nil
+ end
+
+ minetest.register_node(":homedecor:glowlight_small_cube_"..onoff, {
+ description = S("Small Glowlight Cube"),
+ tiles = tiles,
+ overlay_tiles = overlay,
+ use_texture_alpha = true,
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ drawtype = "nodebox",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = {
+ type = "wallmounted",
+ wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
+ wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
+ wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
+ },
+ node_box = glowlight_nodebox.small_cube,
+ groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:glowlight_small_cube_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ local lighttex
+
+ if onflag then
+ lighttex = {
name="homedecor_plasma_storm.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
}
- },
- use_texture_alpha = true,
- light_source = default.LIGHT_MAX - 1,
- sunlight_propagates = true,
- groups = {cracky=3,oddly_breakable_by_hand=3},
- sounds = default.node_sound_glass_defaults(),
-})
+ else
+ lighttex = "homedecor_plasma_lamp_off.png"
+ end
-homedecor.register("plasma_ball", {
- description = S("Plasma Ball"),
- mesh = "homedecor_plasma_ball.obj",
- tiles = {
- { name = "homedecor_generic_plastic.png", color = homedecor.color_black },
- {
+ homedecor.register("plasma_lamp_"..onoff, {
+ description = S("Plasma Lamp/Light"),
+ drawtype = "mesh",
+ mesh = "plasma_lamp.obj",
+ tiles = {
+ "default_gold_block.png",
+ lighttex
+ },
+ use_texture_alpha = true,
+ light_source = onflag and (default.LIGHT_MAX - 1) or nil,
+ sunlight_propagates = true,
+ groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:plasma_lamp_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+
+ local lighttex = "homedecor_blanktile.png"
+ if onflag then
+ lighttex = {
name = "homedecor_plasma_ball_streamers.png",
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
+ }
+ end
+
+ homedecor.register("plasma_ball_"..onoff, {
+ description = S("Plasma Ball"),
+ mesh = "homedecor_plasma_ball.obj",
+ tiles = {
+ { name = "homedecor_generic_plastic.png", color = homedecor.color_black },
+ lighttex,
+ "homedecor_plasma_ball_glass.png"
},
- "homedecor_plasma_ball_glass.png"
- },
- inventory_image = "homedecor_plasma_ball_inv.png",
- selection_box = {
+ inventory_image = "homedecor_plasma_ball_inv.png",
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
+ },
+ walkable = false,
+ use_texture_alpha = true,
+ light_source = onflag and (default.LIGHT_MAX - 5) or nil,
+ sunlight_propagates = true,
+ groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:plasma_ball_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ local gl_cbox = {
type = "fixed",
- fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
- },
- walkable = false,
- use_texture_alpha = true,
- light_source = default.LIGHT_MAX - 5,
- sunlight_propagates = true,
- groups = {cracky=3,oddly_breakable_by_hand=3},
- sounds = default.node_sound_glass_defaults(),
-})
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
+ }
+
+ local lighttex
+ if onflag then
+ lighttex = "homedecor_light.png"
+ else
+ lighttex = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("ground_lantern_"..onoff, {
+ description = S("Ground Lantern/Light"),
+ mesh = "homedecor_ground_lantern.obj",
+ tiles = { lighttex, "homedecor_generic_metal_wrought_iron.png" },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_ground_lantern_inv.png",
+ wield_image = "homedecor_ground_lantern_inv.png",
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = gl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ground_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ local hl_cbox = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
+ }
+
+ homedecor.register("hanging_lantern_"..onoff, {
+ description = S("Hanging Lantern/Light"),
+ mesh = "homedecor_hanging_lantern.obj",
+ tiles = { "homedecor_generic_metal_wrought_iron.png", lighttex },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_hanging_lantern_inv.png",
+ wield_image = "homedecor_hanging_lantern_inv.png",
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = hl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:hanging_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+
+ local cl_cbox = {
+ type = "fixed",
+ fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
+ }
+
+ homedecor.register("ceiling_lantern_"..onoff, {
+ drawtype = "mesh",
+ mesh = "homedecor_ceiling_lantern.obj",
+ tiles = { lighttex, "homedecor_generic_metal_wrought_iron.png" },
+ use_texture_alpha = true,
+ inventory_image = "homedecor_ceiling_lantern_inv.png",
+ description = S("Ceiling Lantern/Light"),
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ selection_box = cl_cbox,
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ceiling_lantern_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_toponly_light
+ })
+
+ if minetest.get_modpath("darkage") then
+ sm_light = default.LIGHT_MAX-5
+ else
+ local lighttex
+ if onflag then
+ lighttex = "homedecor_lattice_lantern_large_light.png"
+ else
+ lighttex = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("lattice_lantern_large_"..onoff, {
+ description = S("Lattice lantern/Light (large)"),
+ tiles = { lighttex.."^homedecor_lattice_lantern_large_overlay.png" },
+ groups = { snappy = 3, not_in_creative_inventory = nici },
+ light_source = onflag and default.LIGHT_MAX or nil,
+ sounds = default.node_sound_glass_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:lattice_lantern_large_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_alldir_light
+ })
+ end
+
+ local lighttex_tb
+ local lighttex_sides
+
+ if onflag then
+ lighttex_tb = "homedecor_lattice_lantern_small_tb_light.png"
+ lighttex_sides = "homedecor_lattice_lantern_small_sides_light.png"
+ else
+ lighttex_tb = "homedecor_table_generic_light_source_off.png"
+ lighttex_sides = "homedecor_table_generic_light_source_off.png"
+ end
+
+ homedecor.register("lattice_lantern_small_"..onoff, {
+ description = S("Lattice lantern/light (small)"),
+ tiles = {
+ lighttex_tb.."^homedecor_lattice_lantern_small_tb_overlay.png",
+ lighttex_tb.."^homedecor_lattice_lantern_small_tb_overlay.png",
+ lighttex_sides.."^homedecor_lattice_lantern_small_sides_overlay.png"
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ node_box = {
+ type = "fixed",
+ fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ },
+ groups = { snappy = 3, not_in_creative_inventory = nici },
+ light_source = onflag and (default.LIGHT_MAX - 2) or nil,
+ sounds = default.node_sound_glass_defaults(),
+ on_place = minetest.rotate_node,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:lattice_lantern_small_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_wall_light
+ })
+
+ -- "gooseneck" style desk lamps
+
+ local dlamp_cbox = {
+ type = "wallmounted",
+ wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
+ }
+
+ homedecor.register("desk_lamp_"..onoff, {
+ description = S("Desk Lamp/Light"),
+ mesh = "homedecor_desk_lamp.obj",
+ tiles = {
+ "homedecor_generic_metal.png",
+ "homedecor_generic_metal.png",
+ { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[5] },
+ },
+ inventory_image = "homedecor_desk_lamp_inv.png",
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "unifieddyes_palette_colorwallmounted.png",
+ selection_box = dlamp_cbox,
+ node_box = dlamp_cbox,
+ walkable = false,
+ groups = {snappy=3, ud_param2_colorable = 1, not_in_creative_inventory = nici},
+ after_place_node = function(pos, placer, itemstack, pointed_thing)
+ unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
+ end,
+ on_rotate = unifieddyes.fix_after_screwdriver_nsew,
+ light_source = onflag and (default.LIGHT_MAX - 2) or nil,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:desk_lamp_on"}, inherit_color = true },
+ }
+ },
+ mesecons = homedecor.mesecon_xz_light
+ })
+
+ -- "kitchen"/"dining room" ceiling lamp
+
+ homedecor.register("ceiling_lamp_"..onoff, {
+ description = S("Ceiling Lamp/Light"),
+ mesh = "homedecor_ceiling_lamp.obj",
+ tiles = {
+ "homedecor_generic_metal_brass.png",
+ "homedecor_ceiling_lamp_glass.png",
+ "homedecor_table_generic_light_source_"..onoff..".png",
+ { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
+ },
+ inventory_image = "homedecor_ceiling_lamp_inv.png",
+ light_source = onflag and default.LIGHT_MAX or nil,
+ groups = {snappy=3, not_in_creative_inventory = nici},
+ walkable = false,
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:ceiling_lamp_on"}},
+ }
+ },
+ mesecons = homedecor.mesecon_toponly_light
+ })
+
+-- rope lighting
+
+ minetest.register_node(":homedecor:rope_light_on_floor_"..onoff, {
+ description = "Rope lighting (on floor)",
+ inventory_image = "homedecor_rope_light_on_floor.png",
+ paramtype = "light",
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ walkable = false,
+ sunlight_propagates = true,
+ tiles = { "homedecor_table_generic_light_source_"..onoff..".png" },
+ drawtype = "nodebox",
+ node_box = {
+ type = "connected",
+ fixed = {},
+ connect_front = { -1/16, -8/16, -8/16, 1/16, -6/16, 1/16 },
+ connect_left = { -8/16, -8/16, -1/16, 1/16, -6/16, 1/16 },
+ connect_back = { -1/16, -8/16, -1/16, 1/16, -6/16, 8/16 },
+ connect_right = { -1/16, -8/16, -1/16, 8/16, -6/16, 1/16 },
+ disconnected_sides = {
+ { -6/16, -8/16, -6/16, -4/16, -6/16, 6/16 },
+ { 4/16, -8/16, -6/16, 6/16, -6/16, 6/16 },
+ { -6/16, -8/16, -6/16, 6/16, -6/16, -4/16 },
+ { -6/16, -8/16, 4/16, 6/16, -6/16, 6/16 }
+ },
+ },
+ connects_to = {
+ "homedecor:rope_light_on_floor_on",
+ "homedecor:rope_light_on_floor_off",
+ "group:mesecon_conductor_craftable"
+ },
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_stone_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:rope_light_on_floor_on"} },
+ }
+ },
+ mesecons = {
+ conductor = {
+ state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
+ onstate = "homedecor:rope_light_on_floor_on",
+ offstate = "homedecor:rope_light_on_floor_off",
+ rules = rules_xz
+ },
+ }
+ })
+
+ minetest.register_node(":homedecor:rope_light_on_ceiling_"..onoff, {
+ description = "Rope lighting (on ceiling)",
+ inventory_image = "homedecor_rope_light_on_ceiling.png",
+ paramtype = "light",
+ light_source = onflag and (default.LIGHT_MAX - 3) or nil,
+ walkable = false,
+ sunlight_propagates = true,
+ tiles = { "homedecor_table_generic_light_source_"..onoff..".png" },
+ drawtype = "nodebox",
+ node_box = {
+ type = "connected",
+ fixed = {},
+ connect_front = { -1/16, 8/16, -8/16, 1/16, 6/16, 1/16 },
+ connect_left = { -8/16, 8/16, -1/16, 1/16, 6/16, 1/16 },
+ connect_back = { -1/16, 8/16, -1/16, 1/16, 6/16, 8/16 },
+ connect_right = { -1/16, 8/16, -1/16, 8/16, 6/16, 1/16 },
+ disconnected_sides = {
+ { -6/16, 8/16, -6/16, -4/16, 6/16, 6/16 },
+ { 4/16, 8/16, -6/16, 6/16, 6/16, 6/16 },
+ { -6/16, 8/16, -6/16, 6/16, 6/16, -4/16 },
+ { -6/16, 8/16, 4/16, 6/16, 6/16, 6/16 }
+ },
+ },
+ connects_to = {
+ "homedecor:rope_light_on_ceiling_on",
+ "homedecor:rope_light_on_ceiling_off",
+ "group:mesecon_conductor_craftable"
+ },
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3, not_in_creative_inventory = nici},
+ sounds = default.node_sound_stone_defaults(),
+ on_rightclick = homedecor.toggle_light,
+ drop = {
+ items = {
+ {items = {"homedecor:rope_light_on_ceiling_on"}},
+ }
+ },
+ mesecons = {
+ conductor = {
+ state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
+ onstate = "homedecor:rope_light_on_ceiling_on",
+ offstate = "homedecor:rope_light_on_ceiling_off",
+ rules = rules_alldir
+ },
+ }
+ })
+
+end
+
+-- Light sources and other items that either don't turn on/off
+-- or which need special light-control code.
local tc_cbox = {
type = "fixed",
@@ -304,116 +923,101 @@ homedecor.register("oil_lamp_tabletop", {
sounds = default.node_sound_glass_defaults(),
})
-local gl_cbox = {
+local chains_sbox = {
type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
+ fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
}
-minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
-
-homedecor.register("ground_lantern", {
- description = S("Ground Lantern/Light"),
- mesh = "homedecor_ground_lantern.obj",
- tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_ground_lantern_inv.png",
- wield_image = "homedecor_ground_lantern_inv.png",
- groups = {snappy=3},
- light_source = 11,
- selection_box = gl_cbox,
- walkable = false
-})
-
-local hl_cbox = {
+local topchains_sbox = {
type = "fixed",
- fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
+ fixed = {
+ { -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
+ { -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
+ }
}
-homedecor.register("hanging_lantern", {
- description = S("Hanging Lantern/Light"),
- mesh = "homedecor_hanging_lantern.obj",
- tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_hanging_lantern_inv.png",
- wield_image = "homedecor_hanging_lantern_inv.png",
- groups = {snappy=3},
- light_source = 11,
- selection_box = hl_cbox,
- walkable = false
+minetest.register_node(":homedecor:chain_steel_top", {
+ description = S("Hanging chain (ceiling mount, steel)"),
+ drawtype = "mesh",
+ mesh = "homedecor_chains_top.obj",
+ tiles = {"basic_materials_chain_steel.png"},
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ paramtype = "light",
+ inventory_image = "basic_materials_chain_steel_inv.png",
+ groups = {cracky=3},
+ selection_box = topchains_sbox,
})
-local cl_cbox = {
- type = "fixed",
- fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
-}
-
-homedecor.register("ceiling_lantern", {
+minetest.register_node(":homedecor:chain_brass_top", {
+ description = S("Hanging chain (ceiling mount, brass)"),
drawtype = "mesh",
- mesh = "homedecor_ceiling_lantern.obj",
- tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
- use_texture_alpha = true,
- inventory_image = "homedecor_ceiling_lantern_inv.png",
- description = S("Ceiling Lantern/Light"),
- groups = {snappy=3},
- light_source = 11,
- selection_box = cl_cbox,
- walkable = false
+ mesh = "homedecor_chains_top.obj",
+ tiles = {"basic_materials_chain_brass.png"},
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ paramtype = "light",
+ inventory_image = "basic_materials_chain_brass_inv.png",
+ groups = {cracky=3},
+ selection_box = topchains_sbox,
})
-local sm_light = default.LIGHT_MAX-2
-
-if minetest.get_modpath("darkage") then
- minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
- sm_light = default.LIGHT_MAX-5
-else
- homedecor.register("lattice_lantern_large", {
- description = S("Lattice lantern/Light (large)"),
- tiles = { 'homedecor_lattice_lantern_large.png' },
- groups = { snappy = 3 },
- light_source = default.LIGHT_MAX,
- sounds = default.node_sound_glass_defaults(),
- })
-end
-
-homedecor.register("lattice_lantern_small", {
- description = S("Lattice lantern (small)"),
+minetest.register_node(":homedecor:chandelier_steel", {
+ description = S("Chandelier (steel)"),
+ paramtype = "light",
+ light_source = 12,
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
tiles = {
- 'homedecor_lattice_lantern_small_tb.png',
- 'homedecor_lattice_lantern_small_tb.png',
- 'homedecor_lattice_lantern_small_sides.png'
- },
- selection_box = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
+ "basic_materials_chain_steel.png",
+ "homedecor_candle_flat.png",
+ {
+ name="homedecor_candle_flame.png",
+ animation={
+ type="vertical_frames",
+ aspect_w=16,
+ aspect_h=16,
+ length=3.0
+ }
+ }
},
- groups = { snappy = 3 },
- light_source = sm_light,
- sounds = default.node_sound_glass_defaults(),
- on_place = minetest.rotate_node
+ drawtype = "mesh",
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3},
+ sounds = default.node_sound_stone_defaults(),
})
-local brightness_tab = {
- 0xffd0d0d0,
- 0xffd8d8d8,
- 0xffe0e0e0,
- 0xffe8e8e8,
- 0xffffffff,
-}
+minetest.register_node(":homedecor:chandelier_brass", {
+ description = S("Chandelier (brass)"),
+ paramtype = "light",
+ light_source = 12,
+ walkable = false,
+ climbable = true,
+ sunlight_propagates = true,
+ tiles = {
+ "basic_materials_chain_brass.png",
+ "homedecor_candle_flat.png",
+ {
+ name="homedecor_candle_flame.png",
+ animation={
+ type="vertical_frames",
+ aspect_w=16,
+ aspect_h=16,
+ length=3.0
+ }
+ }
+ },
+ drawtype = "mesh",
+ mesh = "homedecor_chandelier.obj",
+ groups = {cracky=3},
+ sounds = default.node_sound_stone_defaults(),
+})
-- table lamps and standing lamps
-local repl = {
- ["off"] ="low",
- ["low"] ="med",
- ["med"] ="hi",
- ["hi"] ="max",
- ["max"] ="off",
-}
-
local lamp_colors = {
"white",
"blue",
@@ -436,13 +1040,14 @@ local slamp_cbox = {
local function reg_lamp(suffix, nxt, light, brightness)
local wool_brighten = (light or 0) * 15
+ local onoff = (suffix == "off") and "off" or "on"
homedecor.register("table_lamp_"..suffix, {
description = S("Table Lamp/Light"),
mesh = "homedecor_table_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[brightness] },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@@ -457,17 +1062,14 @@ local function reg_lamp(suffix, nxt, light, brightness)
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
not_in_creative_inventory=((light ~= nil) and 1) or nil,
},
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- node.name = "homedecor:table_lamp_"..repl[suffix]
- minetest.set_node(pos, node)
- end,
- on_construct = unifieddyes.on_construct,
drop = {
items = {
- {items = {"homedecor:table_lamp_off"}, inherit_color = true },
+ {items = {"homedecor:table_lamp_hi"}, inherit_color = true },
}
- }
-
+ },
+ digiline = dl_digiline,
+ on_rightclick = dl_on_rightclick,
+ on_punch = dl_on_punch
})
homedecor.register("standing_lamp_"..suffix, {
@@ -475,7 +1077,7 @@ local function reg_lamp(suffix, nxt, light, brightness)
mesh = "homedecor_standing_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
+ { name = "homedecor_table_generic_light_source_"..onoff..".png", color = brightness_tab[brightness] },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@@ -491,17 +1093,15 @@ local function reg_lamp(suffix, nxt, light, brightness)
selection_box = slamp_cbox,
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- node.name = "homedecor:standing_lamp_"..repl[suffix]
- minetest.set_node(pos, node)
- end,
- on_construct = unifieddyes.on_construct,
--expand = { top="air" },
drop = {
items = {
- {items = {"homedecor:standing_lamp_off"}, inherit_color = true },
+ {items = {"homedecor:standing_lamp_hi"}, inherit_color = true },
}
- }
+ },
+ digiline = dl_digiline,
+ on_rightclick = dl_on_rightclick,
+ on_punch = dl_on_punch
})
-- for old maps that had the original 3dforniture mod
@@ -514,72 +1114,6 @@ reg_lamp("med", "hi", 7, 3 )
reg_lamp("hi", "max", 11, 4 )
reg_lamp("max", "off", 14, 5 )
--- "gooseneck" style desk lamps
-
-local dlamp_cbox = {
- type = "wallmounted",
- wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
-}
-
-homedecor.register("desk_lamp", {
- description = S("Desk Lamp/Light"),
- mesh = "homedecor_desk_lamp.obj",
- tiles = {
- "homedecor_generic_metal.png",
- "homedecor_generic_metal.png",
- { name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
- { name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[5] },
- },
- inventory_image = "homedecor_desk_lamp_inv.png",
- paramtype = "light",
- paramtype2 = "colorwallmounted",
- palette = "unifieddyes_palette_colorwallmounted.png",
- selection_box = dlamp_cbox,
- node_box = dlamp_cbox,
- walkable = false,
- groups = {snappy=3, ud_param2_colorable = 1},
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
- end,
- on_rotate = unifieddyes.fix_after_screwdriver_nsew
-})
-
--- "kitchen"/"dining room" ceiling lamp
-
-homedecor.register("ceiling_lamp", {
- description = S("Ceiling Lamp/Light"),
- mesh = "homedecor_ceiling_lamp.obj",
- tiles = {
- "homedecor_generic_metal_brass.png",
- "homedecor_ceiling_lamp_glass.png",
- "homedecor_table_standing_lamp_lightbulb.png",
- { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
- },
- inventory_image = "homedecor_ceiling_lamp_inv.png",
- light_source = default.LIGHT_MAX,
- groups = {snappy=3},
- walkable = false,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.set_node(pos, {name = "homedecor:ceiling_lamp_off"})
- end,
-})
-
-homedecor.register("ceiling_lamp_off", {
- description = S("Ceiling Lamp/Light (off)"),
- mesh = "homedecor_ceiling_lamp.obj",
- tiles = {
- "homedecor_generic_metal_brass.png",
- "homedecor_ceiling_lamp_glass.png",
- { "homedecor_table_standing_lamp_lightbulb.png", color = 0xffd0d0d0 },
- { name = "homedecor_generic_plastic.png", color = 0xff442d04 },
- },
- groups = {snappy=3, not_in_creative_inventory=1},
- walkable = false,
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.set_node(pos, {name = "homedecor:ceiling_lamp"})
- end,
- drop = "homedecor:ceiling_lamp"
-})
-- conversion LBM for param2 coloring
@@ -743,156 +1277,7 @@ minetest.register_lbm({
end
})
-local chains_sbox = {
- type = "fixed",
- fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
-}
-
-local topchains_sbox = {
- type = "fixed",
- fixed = {
- { -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
- { -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
- }
-}
-
-minetest.register_node(":homedecor:chain_steel_top", {
- description = S("Hanging chain (ceiling mount, steel)"),
- drawtype = "mesh",
- mesh = "homedecor_chains_top.obj",
- tiles = {"basic_materials_chain_steel.png"},
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- paramtype = "light",
- inventory_image = "basic_materials_chain_steel_inv.png",
- groups = {cracky=3},
- selection_box = topchains_sbox,
-})
-
-minetest.register_node(":homedecor:chain_brass_top", {
- description = S("Hanging chain (ceiling mount, brass)"),
- drawtype = "mesh",
- mesh = "homedecor_chains_top.obj",
- tiles = {"basic_materials_chain_brass.png"},
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- paramtype = "light",
- inventory_image = "basic_materials_chain_brass_inv.png",
- groups = {cracky=3},
- selection_box = topchains_sbox,
-})
-
-minetest.register_node(":homedecor:chandelier_steel", {
- description = S("Chandelier (steel)"),
- paramtype = "light",
- light_source = 12,
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- tiles = {
- "basic_materials_chain_steel.png",
- "homedecor_candle_flat.png",
- {
- name="homedecor_candle_flame.png",
- animation={
- type="vertical_frames",
- aspect_w=16,
- aspect_h=16,
- length=3.0
- }
- }
- },
- drawtype = "mesh",
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node(":homedecor:chandelier_brass", {
- description = S("Chandelier (brass)"),
- paramtype = "light",
- light_source = 12,
- walkable = false,
- climbable = true,
- sunlight_propagates = true,
- tiles = {
- "basic_materials_chain_brass.png",
- "homedecor_candle_flat.png",
- {
- name="homedecor_candle_flame.png",
- animation={
- type="vertical_frames",
- aspect_w=16,
- aspect_h=16,
- length=3.0
- }
- }
- },
- drawtype = "mesh",
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-minetest.register_node(":homedecor:rope_light_on_floor", {
- description = "Rope lighting (on floor)",
- inventory_image = "homedecor_rope_light_on_floor.png",
- paramtype = "light",
- light_source = default.LIGHT_MAX-3,
- walkable = false,
- sunlight_propagates = true,
- tiles = { "homedecor_table_standing_lamp_lightbulb.png" },
- drawtype = "nodebox",
- node_box = {
- type = "connected",
- fixed = {},
- connect_front = { -1/16, -8/16, -8/16, 1/16, -6/16, 1/16 },
- connect_left = { -8/16, -8/16, -1/16, 1/16, -6/16, 1/16 },
- connect_back = { -1/16, -8/16, -1/16, 1/16, -6/16, 8/16 },
- connect_right = { -1/16, -8/16, -1/16, 8/16, -6/16, 1/16 },
- disconnected_sides = {
- { -6/16, -8/16, -6/16, -4/16, -6/16, 6/16 },
- { 4/16, -8/16, -6/16, 6/16, -6/16, 6/16 },
- { -6/16, -8/16, -6/16, 6/16, -6/16, -4/16 },
- { -6/16, -8/16, 4/16, 6/16, -6/16, 6/16 }
- },
- },
- connects_to = { "homedecor:rope_light_on_floor" },
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node(":homedecor:rope_light_on_ceiling", {
- description = "Rope lighting (on ceiling)",
- inventory_image = "homedecor_rope_light_on_ceiling.png",
- paramtype = "light",
- light_source = default.LIGHT_MAX-3,
- walkable = false,
- sunlight_propagates = true,
- tiles = { "homedecor_table_standing_lamp_lightbulb.png" },
- drawtype = "nodebox",
- node_box = {
- type = "connected",
- fixed = {},
- connect_front = { -1/16, 8/16, -8/16, 1/16, 6/16, 1/16 },
- connect_left = { -8/16, 8/16, -1/16, 1/16, 6/16, 1/16 },
- connect_back = { -1/16, 8/16, -1/16, 1/16, 6/16, 8/16 },
- connect_right = { -1/16, 8/16, -1/16, 8/16, 6/16, 1/16 },
- disconnected_sides = {
- { -6/16, 8/16, -6/16, -4/16, 6/16, 6/16 },
- { 4/16, 8/16, -6/16, 6/16, 6/16, 6/16 },
- { -6/16, 8/16, -6/16, 6/16, 6/16, -4/16 },
- { -6/16, 8/16, 4/16, 6/16, 6/16, 6/16 }
- },
- },
- connects_to = { "homedecor:rope_light_on_ceiling" },
- mesh = "homedecor_chandelier.obj",
- groups = {cracky=3},
- sounds = default.node_sound_stone_defaults(),
-})
-- crafting
@@ -1247,19 +1632,19 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:standing_lamp_off",
+ output = "homedecor:standing_lamp_hi",
recipe = {
- {"homedecor:table_lamp_off"},
+ {"homedecor:table_lamp_hi"},
{"group:stick"},
{"group:stick"},
},
})
unifieddyes.register_color_craft({
- output = "homedecor:standing_lamp_off",
+ output = "homedecor:standing_lamp_hi",
palette = "extended",
type = "shapeless",
- neutral_node = "homedecor:standing_lamp_off",
+ neutral_node = "homedecor:standing_lamp_hi",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
@@ -1268,12 +1653,12 @@ unifieddyes.register_color_craft({
minetest.register_craft({
type = "fuel",
- recipe = "homedecor:table_lamp_off",
+ recipe = "homedecor:table_lamp_hi",
burntime = 10,
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "wool:white", "default:torch", "wool:white"},
{ "", "group:stick", ""},
@@ -1282,7 +1667,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "cottages:wool", "default:torch", "cottages:wool"},
{ "", "group:stick", ""},
@@ -1291,7 +1676,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "wool:white", "default:torch", "wool:white"},
{ "", "group:stick", ""},
@@ -1300,7 +1685,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
recipe = {
{ "cottages:wool", "default:torch", "cottages:wool"},
{ "", "group:stick", ""},
@@ -1309,10 +1694,10 @@ minetest.register_craft({
})
unifieddyes.register_color_craft({
- output = "homedecor:table_lamp_off",
+ output = "homedecor:table_lamp_hi",
palette = "extended",
type = "shapeless",
- neutral_node = "homedecor:table_lamp_off",
+ neutral_node = "homedecor:table_lamp_hi",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
@@ -1321,9 +1706,29 @@ unifieddyes.register_color_craft({
-- aliases
-minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
-minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
-
-minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
-minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
+minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
+minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
+
+minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
+minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
+
+minetest.register_alias("homedecor:glowlight_half", "homedecor:glowlight_half_on")
+minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_on")
+minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_on")
+minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_on")
+minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
+minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
+minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_on")
+minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_on")
+minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_on")
+minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_on")
+minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_on")
+minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_on")
+minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_on")
+minetest.register_alias("homedecor:rope_light_on_floor", "homedecor:rope_light_on_floor_on")
+minetest.register_alias("homedecor:rope_light_on_ceiling", "homedecor:rope_light_on_ceiling_on")
+if minetest.get_modpath("darkage") then
+ minetest.register_alias("homedecor:lattice_lantern_large_on", "darkage:lamp")
+ minetest.register_alias("homedecor:lattice_lantern_large_off", "darkage:lamp")
+end
diff --git a/homedecor_lighting/textures/homedecor_glowlight_base.png b/homedecor_lighting/textures/homedecor_glowlight_base.png
new file mode 100644
index 0000000..1cee3bc
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_base.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_bottom.png b/homedecor_lighting/textures/homedecor_glowlight_bottom.png
deleted file mode 100644
index 37a6b4d..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_bottom.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png
deleted file mode 100644
index 31ba821..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png
new file mode 100644
index 0000000..49f6179
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png
index 0e5aefb..0e5aefb 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_sides_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png
deleted file mode 100644
index c415202..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_tb.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png b/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png
new file mode 100644
index 0000000..f7bca65
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_tb_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png
index 03cf1dc..03cf1dc 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_cube_tb_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_cube_top_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png b/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png
new file mode 100644
index 0000000..fcf524f
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_tb_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png
deleted file mode 100644
index bae0108..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thick_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png
new file mode 100644
index 0000000..a421750
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png
index 5fbf891..5fbf891 100644
--- a/homedecor_lighting/textures/homedecor_glowlight_top_overlay.png
+++ b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png
deleted file mode 100644
index 0d871d1..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thick_sides_overlay.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png
deleted file mode 100644
index 51832b5..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thin_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png
new file mode 100644
index 0000000..6110d67
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_edges.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png
new file mode 100644
index 0000000..fd92157
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png b/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png
deleted file mode 100644
index f9335ef..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_thin_sides_overlay.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top.png b/homedecor_lighting/textures/homedecor_glowlight_top.png
deleted file mode 100644
index 70518e7..0000000
--- a/homedecor_lighting/textures/homedecor_glowlight_top.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_glowlight_top_glare.png b/homedecor_lighting/textures/homedecor_glowlight_top_glare.png
new file mode 100644
index 0000000..5fbf891
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_glowlight_top_glare.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large.png
deleted file mode 100644
index ac32230..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_large.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png
new file mode 100644
index 0000000..55bc341
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_large_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png
new file mode 100644
index 0000000..e6bbae5
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_large_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png
deleted file mode 100644
index 48c517f..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png
new file mode 100644
index 0000000..e0b37be
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png
new file mode 100644
index 0000000..7122b6b
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_sides_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png
deleted file mode 100644
index eb28a0d..0000000
--- a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb.png
+++ /dev/null
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png
new file mode 100644
index 0000000..4d7c325
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_light.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png
new file mode 100644
index 0000000..f22874d
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_lattice_lantern_small_tb_overlay.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_plasma_lamp_off.png b/homedecor_lighting/textures/homedecor_plasma_lamp_off.png
new file mode 100644
index 0000000..82dbcba
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_plasma_lamp_off.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png b/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png
new file mode 100644
index 0000000..e18bb2c
--- /dev/null
+++ b/homedecor_lighting/textures/homedecor_table_generic_light_source_off.png
Binary files differ
diff --git a/homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png b/homedecor_lighting/textures/homedecor_table_generic_light_source_on.png
index cd93c8f..cd93c8f 100644
--- a/homedecor_lighting/textures/homedecor_table_standing_lamp_lightbulb.png
+++ b/homedecor_lighting/textures/homedecor_table_generic_light_source_on.png
Binary files differ