1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-07-15 12:10:25 +02:00

Compare commits

...

17 Commits

Author SHA1 Message Date
b28f1314da add aliases for rope lights (on/14, off/0)
make right-click handler work properly for plain "on"/"off" items
2019-06-15 06:52:58 -04:00
17ea2040e2 fix groups on "floor" rope lights
if mesecons, put "off" rope lights in creative inv, and drop them as "off" as
well.  else, put "on" in creative inv and drop "on"

allow right-click on rope lights only if no mesecons

also cache minetest.get_modpath("mesecons")
2019-06-15 06:45:41 -04:00
ed9fb6a34d allow player to open/close curtains without a curtainrod
also remove "closed" curtain from creative inv
change recipe to give the "open" one
2019-06-07 05:41:16 -04:00
13862c1a48 missing chandelier alias 2019-06-07 00:50:06 -04:00
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
c98ec41ba7 move some images to the right places :P 2019-06-02 08:24:13 -04:00
21 changed files with 726 additions and 709 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

@ -11,6 +11,8 @@ local function is_protected(pos, clicker)
return false
end
local hd_mesecons = minetest.get_modpath("mesecons")
-- control and brightness for dimmable lamps
local brightn_cycle = {
@ -22,7 +24,7 @@ local brightn_cycle = {
["on"] = "off",
}
local brightn_light_source = {
local word_to_bright = {
["off"] = 0,
["low"] = 3,
["med"] = 7,
@ -31,40 +33,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,18 +49,11 @@ 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
if minetest.get_modpath("mesecons") then
if hd_mesecons then
actions = {
action_off = function(pos, node)
@ -121,21 +82,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 +104,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()
@ -182,7 +134,7 @@ if minetest.get_modpath("digilines") then
end
end)
if minetest.get_modpath("mesecons") then
if hd_mesecons then
homedecor.digiline_wall_light = {
effector = {
action = on_digiline_receive_string,
@ -202,15 +154,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 +163,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 +180,35 @@ 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 == "on" then
newsuff = "_off"
elseif level == "off" then
newsuff = "_on"
elseif n > 3 then
newsuff = "_0"
else
newsuff = "_14"
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 +216,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 +263,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 +280,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 +328,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 +345,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 +394,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 +411,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 +430,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 +450,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 +470,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 +478,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 +487,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 +497,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 +505,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 +524,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 +532,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 +541,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 +550,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 +579,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 +595,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 +616,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 +637,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 +661,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 +670,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 +685,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 +701,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 +710,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 +730,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,12 +741,11 @@ 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
------------------------------------------
@ -805,6 +755,15 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
local onflag = (light_brightn_name == "on")
local nici = (light_brightn_name == "off") and 1 or nil
local nici_m = (light_brightn_name == "off") and 1 or nil
local on_rc = homedecor.toggle_light
local di = "on"
if hd_mesecons then
nici_m = (light_brightn_name ~= "off") and 1 or nil
on_rc = nil
di = "off"
end
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
@ -821,7 +780,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 +804,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 +820,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 },
@ -885,20 +844,20 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"homedecor:rope_light_on_floor_off",
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, not_in_creative_inventory = nici},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
sounds = default.node_sound_stone_defaults(),
on_rightclick = homedecor.toggle_light,
drop = {
items = {
{items = {"homedecor:rope_light_on_floor_on"} },
{items = {"homedecor:rope_light_on_floor_"..di} },
}
},
on_rightclick = on_rc,
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
rules = rules_alldir
},
}
})
@ -907,7 +866,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 },
@ -931,14 +890,14 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"homedecor:rope_light_on_ceiling_off",
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, not_in_creative_inventory = nici},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
sounds = default.node_sound_stone_defaults(),
on_rightclick = homedecor.toggle_light,
drop = {
items = {
{items = {"homedecor:rope_light_on_ceiling_on"}},
{items = {"homedecor:rope_light_on_ceiling_"..di}},
}
},
on_rightclick = on_rc,
mesecons = {
conductor = {
state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
@ -950,7 +909,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 },
@ -1841,72 +1800,91 @@ unifieddyes.register_color_craft({
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", "homedecor:chandelier_steel")
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")
minetest.register_alias("homedecor:rope_light_on_floor_0", "homedecor:rope_light_on_floor_off")
minetest.register_alias("homedecor:rope_light_on_floor_14", "homedecor:rope_light_on_floor_on")
minetest.register_alias("homedecor:rope_light_on_ceiling_0", "homedecor:rope_light_on_ceiling_off")
minetest.register_alias("homedecor:rope_light_on_ceiling_14", "homedecor:rope_light_on_ceiling_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

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -106,7 +106,7 @@ minetest.register_node(":homedecor:curtain_closed", {
drawtype = 'signlike',
use_texture_alpha = true,
walkable = false,
groups = { snappy = 3, ud_param2_colorable = 1 },
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 },
sounds = default.node_sound_leaves_defaults(),
paramtype = "light",
paramtype2 = "colorwallmounted",
@ -116,12 +116,7 @@ minetest.register_node(":homedecor:curtain_closed", {
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
if string.find(topnode.name, "homedecor:curtainrod") then
-- Open the curtains
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir })
end
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
return itemstack
end
})
@ -143,12 +138,7 @@ minetest.register_node(":homedecor:curtain_open", {
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
if string.find(topnode.name, "homedecor:curtainrod") then
-- Close the curtains
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir })
end
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
return itemstack
end
})
@ -390,7 +380,7 @@ minetest.register_craft({
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
output = "homedecor:curtain_open 4",
recipe = {
{ "wool:white", "", ""},
{ "wool:white", "", ""},
@ -399,7 +389,7 @@ minetest.register_craft( {
})
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
output = "homedecor:curtain_open 4",
recipe = {
{ "cottages:wool", "", ""},
{ "cottages:wool", "", ""},