1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-06-29 05:10:36 +02:00

Compare commits

...

12 Commits

Author SHA1 Message Date
e289e79aea add intllib as optdepend in homedecor_common
should fix #17 ?
2019-06-07 00:36:05 -04:00
80ab12710b add "light" to a couple of descriptions, for easier searching 2019-06-06 04:38:13 -04:00
1b94c940d7 fix wrong light value on standing lamps 2019-06-06 04:37:26 -04:00
df44dd3dad remove some bogus aliases, fix plasma ball 2019-06-06 01:48:44 -04:00
bff90189fc fixed french door conversions, for real now. :P
bumped LBM version
2019-06-06 01:17:43 -04:00
b407f06dc4 fix wall lantern aliases, for real this time :P 2019-06-06 01:03:57 -04:00
e6dc2c5508 bump doors LBM name to force it to run again 2019-06-05 06:16:33 -04:00
bde2bf2bf6 fix some missing door LBM entries 2019-06-05 04:26:22 -04:00
ea160a6519 simplify mesecons/digilines rules
replaced all "xz" and "toponly" with "alldir"
made on-floor rope lights use "alldir"
2019-06-04 01:37:02 -04:00
631813bb2d make all dimmable lights fully dimmable to any level 0-14
for backward compat, they'll resond to the usual strings, too:

"off" -> 0
"min" -> 3
"med" -> 7
"hi"  -> 11
"max"/"on" -> 14

all dimmable nodes have been renamed to bear the light value in their
names, and aliased.

the non-dimmable lights still respond as before
("off" or n < 4; "on" or n > 3)
2019-06-04 00:56:00 -04:00
f33636d473 move wall lamp and torch models to the correct dir 2019-06-03 07:17:12 -04:00
cbb41f7d98 give most doors more meaningful, distinct node names
to avoid confusion

doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b}                      --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b}                         --> doors:homedecor_basic_panel_{a,b}

All others:
doors:$foo_{a,b}                            --> doors:homedecor_$foo_{a,b}
2019-06-03 03:42:06 -04:00
17 changed files with 692 additions and 686 deletions

View File

@ -1,3 +1,3 @@
default
creative
intllib?

View File

@ -40,41 +40,41 @@ local door_list = {
custom_model = "homedecor_door_fancy"
},
{ name = "wood_glass_oak",
description = "Glass and Wood, Oak-colored",
{ name = "french_oak",
description = "French door, Oak-colored",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_wood_glass"
custom_model = "homedecor_door_french"
},
{ name = "wood_glass_mahogany",
description = "Glass and Wood, Mahogany-colored",
{ name = "french_mahogany",
description = "French door, Mahogany-colored",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_wood_glass"
custom_model = "homedecor_door_french"
},
{ name = "wood_glass_white",
description = "Glass and Wood, White",
{ name = "french_white",
description = "French door, White",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_wood_glass"
custom_model = "homedecor_door_french"
},
{ name = "bedroom",
description = "White Bedroom Door",
{ name = "basic_panel",
description = "Basic white panel Door",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
@ -95,8 +95,8 @@ local door_list = {
custom_model = "homedecor_door_wrought_iron"
},
{ name = "woodglass2",
description = "Wooden door with glass insert, type 2",
{ name = "carolina",
description = "Wooden Carolina door",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = {
main = default.node_sound_wood_defaults(),
@ -166,7 +166,7 @@ end
local hd_3d = minetest.get_modpath("homedecor_3d_extras")
for _, door in ipairs(door_list) do
doors.register(door.name, {
doors.register("homedecor_"..door.name, {
tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }},
description = door.description,
inventory_image = "homedecor_door_"..door.name.."_inv.png",
@ -177,9 +177,8 @@ for _, door in ipairs(door_list) do
mesecons = mesecons
})
local nn_a = "doors:"..door.name.."_a"
local nn_b = "doors:"..door.name.."_b"
local nn_a = "doors:homedecor_"..door.name.."_a"
local nn_b = "doors:homedecor_"..door.name.."_b"
if door.alpha then
local def = hd_doors_clone_node(nn_a)
@ -204,6 +203,9 @@ for _, door in ipairs(door_list) do
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
minetest.register_alias("doors:"..door.name.."_a", "doors:homedecor_"..door.name.."_a")
minetest.register_alias("doors:"..door.name.."_b", "doors:homedecor_"..door.name.."_b")
end
-- Gates
@ -697,18 +699,63 @@ minetest.register_craft({
-- aliases
minetest.register_alias("homedecor:jpn_door_top", "air")
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
minetest.register_alias("homedecor:jpn_door_top_open", "air")
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
minetest.register_alias("doors:wood_glass_oak_a", "doors:homedecor_french_oak_a")
minetest.register_alias("doors:wood_glass_oak_b", "doors:homedecor_french_oak_b")
minetest.register_alias("doors:wood_glass_white_a", "doors:homedecor_french_white_a")
minetest.register_alias("doors:wood_glass_white_b", "doors:homedecor_french_white_b")
minetest.register_alias("doors:wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
minetest.register_alias("doors:wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
minetest.register_alias("doors:homedecor_wood_glass_oak_a", "doors:homedecor_french_oak_a")
minetest.register_alias("doors:homedecor_wood_glass_oak_b", "doors:homedecor_french_oak_b")
minetest.register_alias("doors:homedecor_wood_glass_white_a", "doors:homedecor_french_white_a")
minetest.register_alias("doors:homedecor_wood_glass_white_b", "doors:homedecor_french_white_b")
minetest.register_alias("doors:homedecor_wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
minetest.register_alias("doors:homedecor_wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
minetest.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
minetest.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
minetest.register_alias("doors:woodglass2_a", "doors:homedecor_carolina_a")
minetest.register_alias("doors:woodglass2_b", "doors:homedecor_carolina_b")
minetest.register_alias("doors:homedecor_bedroom_a", "doors:homedecor_basic_panel_a")
minetest.register_alias("doors:homedecor_bedroom_b", "doors:homedecor_basic_panel_b")
minetest.register_alias("doors:bedroom_a", "doors:homedecor_basic_panel_a")
minetest.register_alias("doors:bedroom_b", "doors:homedecor_basic_panel_b")
-- flip old homedecor doors around, since they use minetest_game doors API now
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_right"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_right"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_right"
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_left"
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_right"
old_doors[#old_doors + 1] = "homedecor:door_bedroom_left"
old_doors[#old_doors + 1] = "homedecor:door_bedroom_right"
minetest.register_lbm({
name = ":homedecor:convert_doors",
name = ":homedecor:convert_doors_3",
label = "Convert Homedecor doors to mtg doors API",
nodenames = old_doors,
run_at_every_load = false,
@ -717,10 +764,12 @@ minetest.register_lbm({
local newparam2 = (node.param2 + 2) % 4
local e = string.find(node.name, "_", -7)
local dir = string.sub(node.name, e+1)
local newname = "doors:"..string.sub(node.name, 16, e-1)
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
if dir == "right" then
print("Want to replace "..node.name.." with "..newname.."_a")
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
else
print("Want to replace "..node.name.." with "..newname.."_b")
minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
end
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -22,7 +22,7 @@ local brightn_cycle = {
["on"] = "off",
}
local brightn_light_source = {
local word_to_bright = {
["off"] = 0,
["low"] = 3,
["med"] = 7,
@ -31,40 +31,6 @@ local brightn_light_source = {
["max"] = 14,
}
local brightn_hex = {
["off"] = 0xffd0d0d0,
["low"] = 0xffd8d8d8,
["med"] = 0xffe0e0e0,
["hi"] = 0xffe8e8e8,
["on"] = 0xffffffff,
["max"] = 0xffffffff,
}
local bright_to_word = {
[0] = "off",
[1] = "low",
[2] = "low",
[3] = "low",
[4] = "med",
[5] = "med",
[6] = "med",
[7] = "med",
[8] = "hi",
[9] = "hi",
[10] = "hi",
[11] = "hi",
[12] = "on",
[13] = "on",
[14] = "on",
}
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},
}
local rules_alldir = {
{x = 0, y = 0, z = -1}, -- borrowed from lightstones
{x = 1, y = 0, z = 0},
@ -81,13 +47,6 @@ local rules_alldir = {
{x = 0, y = -1, z = 0},
}
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},
}
-- mesecons compatibility
local actions
@ -121,21 +80,10 @@ if minetest.get_modpath("mesecons") then
}
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
@ -154,21 +102,23 @@ if minetest.get_modpath("digilines") then
if msg and msg ~= "" then
local n = tonumber(msg)
local msg = bright_to_word[n] or msg
print(node.name, dump(msg))
local suff = word_to_bright[msg] or "invalid"
local basename = string.sub(node.name, 1, string.find(node.name, "_", -5) - 1)
if brightn_light_source[msg] then
if minetest.registered_nodes[basename.."_"..msg] then
minetest.swap_node(pos, {name = basename.."_"..msg, param2 = node.param2})
elseif (n and n > 3) or msg == "hi" or msg == "max" or msg == "med" then
elseif minetest.registered_nodes[basename.."_"..suff] then
minetest.swap_node(pos, {name = basename.."_"..suff, param2 = node.param2})
elseif minetest.registered_nodes[basename.."_on"]
and (msg == "med" or msg == "hi" or msg == "max" or (n and n > 3)) then
minetest.swap_node(pos, {name = basename.."_on", param2 = node.param2})
elseif (n and n < 4) or msg == "low" then
elseif minetest.registered_nodes[basename.."_off"]
and (msg == "low" or (n and n < 4)) then
minetest.swap_node(pos, {name = basename.."_off", param2 = node.param2})
end
end
end
end
minetest.register_on_player_receive_fields(function(player, formname, fields)
local name = player:get_player_name()
@ -202,15 +152,6 @@ if minetest.get_modpath("digilines") then
}
end
homedecor.digiline_xz_light = {
effector = {
action = on_digiline_receive_string,
},
wire = {
rules = rules_xz
}
}
homedecor.digiline_alldir_light = {
effector = {
action = on_digiline_receive_string,
@ -220,15 +161,6 @@ if minetest.get_modpath("digilines") then
}
}
homedecor.digiline_toponly_light = {
effector = {
action = on_digiline_receive_string,
},
wire = {
rules = rules_toponly
}
}
function digiline_on_punch(pos, node, puncher, pointed_thing)
if is_protected(pos, puncher) then return end
@ -246,24 +178,31 @@ end
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})
local sep = string.find(node.name, "_", -5)
local level = string.sub(node.name, sep + 1)
local n = tonumber(level) or 0
if level == "off" or n < 4 then
newsuff = "_14"
else
newsuff = "_0"
end
minetest.swap_node(pos, {name = string.sub(node.name, 1, sep - 1)..newsuff, param2 = node.param2})
end
------------------
-- Dimmable lights
for light_brightn_name in pairs(brightn_light_source) do
--for light_brightn_name in pairs(word_to_bright) do
if brightn_light_source ~= "max" then
for brightness_level = 0, 14 do
local tiles
local overlay
local onflag = (light_brightn_name ~= "off")
local nici = (light_brightn_name ~= "on") and 1 or nil
local onflag = (brightness_level > 0)
local nici = (brightness_level ~= 14) and 1 or nil
local gen_ls_tex_white = "homedecor_generic_light_source_off.png"
if onflag then gen_ls_tex_white = "homedecor_generic_light_source_white.png" end
@ -271,6 +210,9 @@ for light_brightn_name in pairs(brightn_light_source) do
local gen_ls_tex_yellow = "homedecor_generic_light_source_off.png"
if onflag then gen_ls_tex_yellow = "homedecor_generic_light_source_yellow.png" end
local h = (brightness_level == 0) and "0" or string.format("%x", brightness_level+1)
local brightness_hex = tonumber("0xff"..string.rep(h, 6))
local glowlight_nodebox = {
half = homedecor.nodebox.slab_y(1/2),
quarter = homedecor.nodebox.slab_y(1/4),
@ -315,7 +257,7 @@ for light_brightn_name in pairs(brightn_light_source) do
overlay = nil
end
minetest.register_node(":homedecor:glowlight_half_"..light_brightn_name, {
minetest.register_node(":homedecor:glowlight_half_"..brightness_level, {
description = S("Thick Glowlight"),
tiles = tiles,
overlay_tiles = overlay,
@ -332,7 +274,7 @@ for light_brightn_name in pairs(brightn_light_source) do
},
node_box = glowlight_nodebox.half,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
@ -380,7 +322,7 @@ for light_brightn_name in pairs(brightn_light_source) do
overlay = nil
end
minetest.register_node(":homedecor:glowlight_quarter_"..light_brightn_name, {
minetest.register_node(":homedecor:glowlight_quarter_"..brightness_level, {
description = S("Thin Glowlight"),
tiles = tiles,
overlay_tiles = overlay,
@ -397,7 +339,7 @@ for light_brightn_name in pairs(brightn_light_source) do
},
node_box = glowlight_nodebox.quarter,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
@ -446,7 +388,7 @@ for light_brightn_name in pairs(brightn_light_source) do
overlay = nil
end
minetest.register_node(":homedecor:glowlight_small_cube_"..light_brightn_name, {
minetest.register_node(":homedecor:glowlight_small_cube_"..brightness_level, {
description = S("Small Glowlight Cube"),
tiles = tiles,
overlay_tiles = overlay,
@ -463,7 +405,7 @@ for light_brightn_name in pairs(brightn_light_source) do
},
node_box = glowlight_nodebox.small_cube,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici },
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
@ -482,15 +424,18 @@ for light_brightn_name in pairs(brightn_light_source) do
local lighttex
if onflag then
local b = (brightness_level > 6) and brightness_level or 6
local brightened = "^[multiply:#"..string.rep(string.format("%x", b), 6)
lighttex = {
name="homedecor_plasma_storm.png",
name="homedecor_plasma_storm.png"..brightened,
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
}
else
lighttex = "homedecor_plasma_lamp_off.png"
end
homedecor.register("plasma_lamp_"..light_brightn_name, {
homedecor.register("plasma_lamp_"..brightness_level, {
description = S("Plasma Lamp/Light"),
drawtype = "mesh",
mesh = "plasma_lamp.obj",
@ -499,7 +444,7 @@ for light_brightn_name in pairs(brightn_light_source) do
lighttex
},
use_texture_alpha = true,
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sunlight_propagates = true,
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
sounds = default.node_sound_glass_defaults(),
@ -519,7 +464,7 @@ for light_brightn_name in pairs(brightn_light_source) do
fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
}
homedecor.register("ground_lantern_"..light_brightn_name, {
homedecor.register("ground_lantern_"..brightness_level, {
description = S("Ground Lantern/Light"),
mesh = "homedecor_ground_lantern.obj",
tiles = { gen_ls_tex_yellow, "homedecor_generic_metal_wrought_iron.png" },
@ -527,7 +472,7 @@ for light_brightn_name in pairs(brightn_light_source) do
inventory_image = "homedecor_ground_lantern_inv.png",
wield_image = "homedecor_ground_lantern_inv.png",
groups = {snappy=3, not_in_creative_inventory = nici},
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
selection_box = gl_cbox,
walkable = false,
on_rightclick = homedecor.toggle_light,
@ -536,8 +481,8 @@ for light_brightn_name in pairs(brightn_light_source) do
{items = {"homedecor:ground_lantern_on"}},
}
},
mesecons = homedecor.mesecon_xz_light,
digiline = homedecor.digiline_xz_light,
mesecons = homedecor.mesecon_alldir_light,
digiline = homedecor.digiline_alldir_light,
on_punch = digiline_on_punch
})
@ -546,7 +491,7 @@ for light_brightn_name in pairs(brightn_light_source) do
fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
}
homedecor.register("hanging_lantern_"..light_brightn_name, {
homedecor.register("hanging_lantern_"..brightness_level, {
description = S("Hanging Lantern/Light"),
mesh = "homedecor_hanging_lantern.obj",
tiles = { "homedecor_generic_metal_wrought_iron.png", gen_ls_tex_yellow },
@ -554,7 +499,7 @@ for light_brightn_name in pairs(brightn_light_source) do
inventory_image = "homedecor_hanging_lantern_inv.png",
wield_image = "homedecor_hanging_lantern_inv.png",
groups = {snappy=3, not_in_creative_inventory = nici},
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
selection_box = hl_cbox,
walkable = false,
on_rightclick = homedecor.toggle_light,
@ -573,7 +518,7 @@ for light_brightn_name in pairs(brightn_light_source) do
fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
}
homedecor.register("ceiling_lantern_"..light_brightn_name, {
homedecor.register("ceiling_lantern_"..brightness_level, {
drawtype = "mesh",
mesh = "homedecor_ceiling_lantern.obj",
tiles = { gen_ls_tex_yellow, "homedecor_generic_metal_wrought_iron.png" },
@ -581,7 +526,7 @@ for light_brightn_name in pairs(brightn_light_source) do
inventory_image = "homedecor_ceiling_lantern_inv.png",
description = S("Ceiling Lantern/Light"),
groups = {snappy=3, not_in_creative_inventory = nici},
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
selection_box = cl_cbox,
walkable = false,
on_rightclick = homedecor.toggle_light,
@ -590,8 +535,8 @@ for light_brightn_name in pairs(brightn_light_source) do
{items = {"homedecor:ceiling_lantern_on"}},
}
},
mesecons = homedecor.mesecon_toponly_light,
digiline = homedecor.digiline_toponly_light,
mesecons = homedecor.mesecon_alldir_light,
digiline = homedecor.digiline_alldir_light,
on_punch = digiline_on_punch
})
@ -599,11 +544,11 @@ for light_brightn_name in pairs(brightn_light_source) do
sm_light = default.LIGHT_MAX-5
else
homedecor.register("lattice_lantern_large_"..light_brightn_name, {
homedecor.register("lattice_lantern_large_"..brightness_level, {
description = S("Lattice lantern/Light (large)"),
tiles = { gen_ls_tex_yellow.."^homedecor_lattice_lantern_large_overlay.png" },
groups = { snappy = 3, not_in_creative_inventory = nici },
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
on_rightclick = homedecor.toggle_light,
drop = {
@ -628,7 +573,7 @@ for light_brightn_name in pairs(brightn_light_source) do
lighttex_sides = "homedecor_generic_light_source_off.png"
end
homedecor.register("lattice_lantern_small_"..light_brightn_name, {
homedecor.register("lattice_lantern_small_"..brightness_level, {
description = S("Lattice lantern/light (small)"),
tiles = {
lighttex_tb.."^homedecor_lattice_lantern_small_tb_overlay.png",
@ -644,7 +589,7 @@ for light_brightn_name in pairs(brightn_light_source) do
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
},
groups = { snappy = 3, not_in_creative_inventory = nici },
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
on_place = minetest.rotate_node,
on_rightclick = homedecor.toggle_light,
@ -665,14 +610,14 @@ for light_brightn_name in pairs(brightn_light_source) do
wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
}
homedecor.register("desk_lamp_"..light_brightn_name, {
homedecor.register("desk_lamp_"..brightness_level, {
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 = gen_ls_tex_white, color = brightn_hex[light_brightn_name] },
{ name = gen_ls_tex_white, color = brightness_hex },
},
inventory_image = "homedecor_desk_lamp_inv.png",
paramtype = "light",
@ -686,21 +631,21 @@ for light_brightn_name in pairs(brightn_light_source) do
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end,
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
on_rightclick = homedecor.toggle_light,
drop = {
items = {
{items = {"homedecor:desk_lamp_on"}, inherit_color = true },
}
},
mesecons = homedecor.mesecon_xz_light,
digiline = homedecor.digiline_xz_light,
mesecons = homedecor.mesecon_alldir_light,
digiline = homedecor.digiline_alldir_light,
on_punch = digiline_on_punch
})
-- "kitchen"/"dining room" ceiling lamp
homedecor.register("ceiling_lamp_"..light_brightn_name, {
homedecor.register("ceiling_lamp_"..brightness_level, {
description = S("Ceiling Lamp/Light"),
mesh = "homedecor_ceiling_lamp.obj",
tiles = {
@ -710,7 +655,7 @@ for light_brightn_name in pairs(brightn_light_source) do
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
},
inventory_image = "homedecor_ceiling_lamp_inv.png",
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
groups = {snappy=3, not_in_creative_inventory = nici},
walkable = false,
on_rightclick = homedecor.toggle_light,
@ -719,8 +664,8 @@ for light_brightn_name in pairs(brightn_light_source) do
{items = {"homedecor:ceiling_lamp_on"}},
}
},
mesecons = homedecor.mesecon_toponly_light,
digiline = homedecor.digiline_toponly_light,
mesecons = homedecor.mesecon_alldir_light,
digiline = homedecor.digiline_alldir_light,
on_punch = digiline_on_punch
})
@ -734,14 +679,14 @@ for light_brightn_name in pairs(brightn_light_source) do
fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 }
}
local wool_brightened = "wool_grey.png^[colorize:#ffffff:"..(brightn_light_source[light_brightn_name] * 15)
local wool_brightened = "wool_grey.png^[colorize:#ffffff:"..(brightness_level * 15)
homedecor.register("table_lamp_"..light_brightn_name, {
homedecor.register("table_lamp_"..brightness_level, {
description = S("Table Lamp/Light"),
mesh = "homedecor_table_lamp.obj",
tiles = {
wool_brightened,
{ name = gen_ls_tex_white, color = brightn_hex[light_brightn_name] },
{ name = gen_ls_tex_white, color = brightness_hex },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@ -750,7 +695,7 @@ for light_brightn_name in pairs(brightn_light_source) do
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
walkable = false,
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
selection_box = tlamp_cbox,
sounds = default.node_sound_wood_defaults(),
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, not_in_creative_inventory=nici },
@ -759,18 +704,18 @@ for light_brightn_name in pairs(brightn_light_source) do
{items = {"homedecor:table_lamp_hi"}, inherit_color = true },
}
},
digiline = homedecor.digiline_xz_light,
digiline = homedecor.digiline_alldir_light,
mesecons = homedecor.mesecon_wall_light,
on_rightclick = homedecor.toggle_light,
on_punch = digiline_on_punch
})
homedecor.register("standing_lamp_"..light_brightn_name, {
homedecor.register("standing_lamp_"..brightness_level, {
description = S("Standing Lamp/Light"),
mesh = "homedecor_standing_lamp.obj",
tiles = {
wool_brightened,
{ name = gen_ls_tex_white, color = brightn_hex[light_brightn_name] },
{ name = gen_ls_tex_white, color = brightness_hex },
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
},
@ -779,7 +724,7 @@ for light_brightn_name in pairs(brightn_light_source) do
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
walkable = false,
light_source = brightn_light_source[light_brightn_name],
light_source = brightness_level,
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, not_in_creative_inventory=nici },
selection_box = slamp_cbox,
sounds = default.node_sound_wood_defaults(),
@ -790,13 +735,12 @@ for light_brightn_name in pairs(brightn_light_source) do
{items = {"homedecor:standing_lamp_hi"}, inherit_color = true },
}
},
digiline = homedecor.digiline_xz_light,
digiline = homedecor.digiline_alldir_light,
mesecons = homedecor.mesecon_wall_light,
on_rightclick = homedecor.toggle_light,
on_punch = digiline_on_punch
})
end
end
------------------------------------------
-- Simple non-dimmable, on/off-only lights
@ -821,7 +765,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
end
homedecor.register("plasma_ball_"..light_brightn_name, {
description = S("Plasma Ball"),
description = S("Plasma Ball/light"),
mesh = "homedecor_plasma_ball.obj",
tiles = {
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
@ -845,8 +789,8 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
{items = {"homedecor:plasma_ball_on"}},
}
},
mesecons = homedecor.mesecon_xz_light,
digiline = homedecor.digiline_xz_light,
mesecons = homedecor.mesecon_alldir_light,
digiline = homedecor.digiline_alldir_light,
on_punch = digiline_on_punch
})
@ -861,7 +805,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
description = "Rope lighting (on floor)",
inventory_image = "homedecor_rope_light_on_floor.png",
paramtype = "light",
light_source = brightn_light_source[light_brightn_name],
light_source = word_to_bright[light_brightn_name],
walkable = false,
sunlight_propagates = true,
tiles = { gen_ls_tex_white },
@ -898,7 +842,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
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
rules = rules_alldir
},
}
})
@ -907,7 +851,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
description = "Rope lighting (on ceiling)",
inventory_image = "homedecor_rope_light_on_ceiling.png",
paramtype = "light",
light_source = brightn_light_source[light_brightn_name],
light_source = word_to_bright[light_brightn_name],
walkable = false,
sunlight_propagates = true,
tiles = { gen_ls_tex_white },
@ -950,7 +894,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
})
homedecor.register("wall_lamp_"..light_brightn_name, {
description = S("Wall Lamp"),
description = S("Wall Lamp/light"),
mesh = "homedecor_wall_lamp.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
@ -1844,69 +1788,82 @@ minetest.register_alias("chains:chain_top_brass", "homedecor:chain_
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_half_max", "homedecor:glowlight_half_on")
minetest.register_alias("homedecor:glowlight_half", "homedecor:glowlight_half_14")
minetest.register_alias("homedecor:glowlight_half_max", "homedecor:glowlight_half_14")
minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_on")
minetest.register_alias("homedecor:glowlight_quarter_max", "homedecor:glowlight_quarter_on")
minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_14")
minetest.register_alias("homedecor:glowlight_quarter_max", "homedecor:glowlight_quarter_14")
minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_on")
minetest.register_alias("homedecor:glowlight_small_cube_max", "homedecor:glowlight_small_cube_on")
minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_14")
minetest.register_alias("homedecor:glowlight_small_cube_max", "homedecor:glowlight_small_cube_14")
minetest.register_alias("homedecor:rope_light_on_floor", "homedecor:rope_light_on_floor_on")
minetest.register_alias("homedecor:rope_light_on_floor_max", "homedecor:rope_light_on_floor_on")
minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_14")
minetest.register_alias("homedecor:plasma_lamp_max", "homedecor:plasma_lamp_14")
minetest.register_alias("homedecor:rope_light_on_ceiling", "homedecor:rope_light_on_ceiling_on")
minetest.register_alias("homedecor:rope_light_on_ceiling_max", "homedecor:rope_light_on_ceiling_on")
minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_14")
minetest.register_alias("homedecor:ground_lantern_max", "homedecor:ground_lantern_14")
minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_on")
minetest.register_alias("homedecor:plasma_lamp_max", "homedecor:plasma_lamp_on")
minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_14")
minetest.register_alias("homedecor:hanging_lantern_max", "homedecor:hanging_lantern_14")
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
minetest.register_alias("homedecor:plasma_ball_max", "homedecor:plasma_ball_on")
minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_14")
minetest.register_alias("homedecor:ceiling_lantern_max", "homedecor:ceiling_lantern_14")
minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_on")
minetest.register_alias("homedecor:ground_lantern_max", "homedecor:ground_lantern_on")
minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_14")
minetest.register_alias("homedecor:lattice_lantern_large_max", "homedecor:lattice_lantern_large_14")
minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_on")
minetest.register_alias("homedecor:hanging_lantern_max", "homedecor:hanging_lantern_on")
minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_14")
minetest.register_alias("homedecor:lattice_lantern_small_max", "homedecor:lattice_lantern_small_14")
minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_on")
minetest.register_alias("homedecor:ceiling_lantern_max", "homedecor:ceiling_lantern_on")
minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_14")
minetest.register_alias("homedecor:desk_lamp_max", "homedecor:desk_lamp_14")
minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_on")
minetest.register_alias("homedecor:lattice_lantern_large_max", "homedecor:lattice_lantern_large_on")
minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_14")
minetest.register_alias("homedecor:ceiling_lamp_max", "homedecor:ceiling_lamp_14")
minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_on")
minetest.register_alias("homedecor:lattice_lantern_small_max", "homedecor:lattice_lantern_small_on")
minetest.register_alias("homedecor:table_lamp", "homedecor:table_lamp_14")
minetest.register_alias("homedecor:table_lamp_max", "homedecor:table_lamp_14")
minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_on")
minetest.register_alias("homedecor:desk_lamp_max", "homedecor:desk_lamp_on")
minetest.register_alias("homedecor:standing_lamp", "homedecor:standing_lamp_14")
minetest.register_alias("homedecor:standing_lamp_max", "homedecor:standing_lamp_14")
minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_on")
minetest.register_alias("homedecor:ceiling_lamp_max", "homedecor:ceiling_lamp_on")
minetest.register_alias("homedecor:table_lamp", "homedecor:table_lamp_on")
minetest.register_alias("homedecor:table_lamp_max", "homedecor:table_lamp_on")
minetest.register_alias("homedecor:standing_lamp", "homedecor:standing_lamp_on")
minetest.register_alias("homedecor:standing_lamp_max", "homedecor:standing_lamp_on")
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
minetest.register_alias("homedecor:wall_lamp_max", "homedecor:wall_lamp_on")
-- for old maps that had the original 3dforniture mod
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_on")
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_14")
minetest.register_alias("3dforniture:table_lamp_max", "homedecor:table_lamp_14")
minetest.register_alias("3dforniture:torch_wall", "homedecor:torch_wall")
minetest.register_alias("torch_wall", "homedecor:torch_wall")
if minetest.get_modpath("darkage") then
minetest.register_alias("homedecor:lattice_lantern_large_off", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large_low", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large_med", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large_hi", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large_max", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large_on", "darkage:lamp")
minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
for name, level in pairs(word_to_bright) do
minetest.register_alias("homedecor:glowlight_half_"..name, "homedecor:glowlight_half_"..level)
minetest.register_alias("homedecor:glowlight_quarter_"..name, "homedecor:glowlight_quarter_"..level)
minetest.register_alias("homedecor:glowlight_small_cube_"..name, "homedecor:glowlight_small_cube_"..level)
minetest.register_alias("homedecor:rope_light_on_floor_"..name, "homedecor:rope_light_on_floor_"..level)
minetest.register_alias("homedecor:rope_light_on_ceiling_"..name, "homedecor:rope_light_on_ceiling_"..level)
minetest.register_alias("homedecor:plasma_lamp_"..name, "homedecor:plasma_lamp_"..level)
minetest.register_alias("homedecor:plasma_ball_"..name, "homedecor:plasma_ball_"..level)
minetest.register_alias("homedecor:ground_lantern_"..name, "homedecor:ground_lantern_"..level)
minetest.register_alias("homedecor:hanging_lantern_"..name, "homedecor:hanging_lantern_"..level)
minetest.register_alias("homedecor:ceiling_lantern_"..name, "homedecor:ceiling_lantern_"..level)
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "homedecor:lattice_lantern_large_"..level)
minetest.register_alias("homedecor:lattice_lantern_small_"..name, "homedecor:lattice_lantern_small_"..level)
minetest.register_alias("homedecor:desk_lamp_"..name, "homedecor:desk_lamp_"..level)
minetest.register_alias("homedecor:ceiling_lamp_"..name, "homedecor:ceiling_lamp_"..level)
minetest.register_alias("homedecor:table_lamp_"..name, "homedecor:table_lamp_"..level)
minetest.register_alias("homedecor:standing_lamp_"..name, "homedecor:standing_lamp_"..level)
minetest.register_alias("3dforniture:table_lamp_"..name, "homedecor:table_lamp_"..level)
end
if minetest.get_modpath("darkage") then
minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
for n = 0, 14 do
minetest.register_alias("homedecor:lattice_lantern_large_"..n, "darkage:lamp")
end
for name, level in pairs(word_to_bright) do
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "darkage:lamp")
end
end