From 39f5cba27eef35877c91291f518974f34130fcb6 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 31 Jan 2017 19:39:31 -0500 Subject: Huge update - lots of mods: areas, biome_lib, blox, bobblocks, boost_cart, homedecor, mobs, coloredwood, ilights, inbox, item_tweaks, moreblocks, moreores, pipeworks, plasticbox, signs_lib, stainedglass, roads, unifieddyes, vines, worldedit, xban2, maybe some others I didn't think about ;-) --- homedecor/window_treatments.lua | 181 ++++++++++++++++++++++++++-------------- 1 file changed, 118 insertions(+), 63 deletions(-) (limited to 'homedecor/window_treatments.lua') diff --git a/homedecor/window_treatments.lua b/homedecor/window_treatments.lua index 1b7f915..27be83d 100644 --- a/homedecor/window_treatments.lua +++ b/homedecor/window_treatments.lua @@ -1,7 +1,10 @@ -local S = homedecor.gettext + +local S = homedecor_i18n.gettext + +local function N_(x) return x end homedecor.register("window_quartered", { - description = "Window (quartered)", + description = S("Window (quartered)"), tiles = { "homedecor_window_sides.png", "homedecor_window_sides.png", @@ -32,7 +35,7 @@ homedecor.register("window_quartered", { }) homedecor.register("window_plain", { - description = "Window (plain)", + description = S("Window (plain)"), tiles = { "homedecor_window_sides.png", "homedecor_window_sides.png", @@ -66,7 +69,7 @@ local wb1_cbox = { } homedecor.register("blinds_thick", { - description = "Window Blinds (thick)", + description = S("Window Blinds (thick)"), mesh = "homedecor_windowblind_thick.obj", inventory_image = "homedecor_windowblind_thick_inv.png", tiles = { @@ -85,7 +88,7 @@ local wb2_cbox = { } homedecor.register("blinds_thin", { - description = "Window Blinds (thin)", + description = S("Window Blinds (thin)"), mesh = "homedecor_windowblind_thin.obj", inventory_image = "homedecor_windowblind_thin_inv.png", tiles = { @@ -98,82 +101,82 @@ homedecor.register("blinds_thin", { selection_box = wb2_cbox }) -local curtaincolors = { - { "red", "#ad2323e0:175" }, - { "green", "#27a927e0:175" }, - { "blue", "#2626c6e0:175" }, - { "white", "#ffffffe0:175" }, - { "pink", "#ff8fb7e0:175" }, - { "violet", "#7f29d7e0:175" }, -} - -for c in ipairs(curtaincolors) do - local color = curtaincolors[c][1] - local hue = curtaincolors[c][2] - local color_d = S(curtaincolors[c][1]) - - homedecor.register("curtain_"..color, { - description = S("Curtains (%s)"):format(color_d), - tiles = { "homedecor_curtain.png^[colorize:"..hue }, - inventory_image = "homedecor_curtain.png^[colorize:"..hue, - wield_image = "homedecor_curtain.png^[colorize:"..hue, - drawtype = 'signlike', - use_texture_alpha = true, - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { type = "wallmounted" }, - -- Open the curtains - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +minetest.register_node("homedecor:curtain_closed", { + description = S("Curtains"), + tiles = { "homedecor_curtain.png" }, + inventory_image = "homedecor_curtain.png", + drawtype = 'signlike', + use_texture_alpha = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { type = "wallmounted" }, + after_dig_node = unifieddyes.after_dig_node, + after_place_node = homedecor.fix_rotation, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:curtain_closed", "wallmounted") + else 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_"..color, param2 = fdir }) + minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir }) end return itemstack end - }) + end +}) - homedecor.register("curtain_open_"..color, { - description = S("Curtains (%s)"):format(color_d), - tiles = { "homedecor_curtain_open.png^[colorize:"..hue }, - inventory_image = "homedecor_curtain_open.png^[colorize:"..hue, - wield_image = "homedecor_curtain_open.png^[colorize:"..hue, - drawtype = 'signlike', - use_texture_alpha = true, - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { type = "wallmounted" }, - -- Close the curtains - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) +minetest.register_node("homedecor:curtain_open", { + description = S("Curtains"), + tiles = { "homedecor_curtain_open.png" }, + inventory_image = "homedecor_curtain_open.png", + drawtype = 'signlike', + use_texture_alpha = true, + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_leaves_defaults(), + paramtype = "light", + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + selection_box = { type = "wallmounted" }, + after_dig_node = unifieddyes.after_dig_node, + after_place_node = homedecor.fix_rotation, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + local itemname = itemstack:get_name() + if string.find(itemname, "dye:") or string.find(itemname, "unifieddyes:") then + unifieddyes.on_rightclick(pos, node, clicker, + itemstack, pointed_thing, "homedecor:curtain_open", "wallmounted") + else 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_"..color, param2 = fdir }) + minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir }) end return itemstack end - }) - -end + end +}) local mats = { - { "brass", "Brass", "homedecor_generic_metal_brass.png" }, - { "wrought_iron", "Wrought iron", "homedecor_generic_metal_wrought_iron.png" }, - { "wood", "Wooden", "default_wood.png" } + { "brass", S("brass"), "homedecor_generic_metal_brass.png" }, + { "wrought_iron", S("wrought iron"), "homedecor_generic_metal_wrought_iron.png" }, + { "wood", S("wood"), "default_wood.png" } } -for i in ipairs(mats) do - local material = mats[i][1] - local mat_name = mats[i][2] - local texture = mats[i][3] +for _, m in ipairs(mats) do + local material, mat_name, texture = unpack(m) homedecor.register("curtainrod_"..material, { tiles = { texture }, inventory_image = "homedecor_curtainrod_"..material.."_inv.png", - description = "Curtain Rod ("..mat_name..")", + description = S("Curtain Rod (@1)", mat_name), groups = { snappy = 3 }, node_box = { type = "fixed", @@ -187,7 +190,7 @@ for i in ipairs(mats) do end homedecor.register("window_flowerbox", { - description = "Window flowerbow", + description = S("Window flowerbox"), tiles = { "homedecor_flowerbox_top.png", "homedecor_flowerbox_bottom.png", @@ -207,7 +210,7 @@ homedecor.register("window_flowerbox", { }) homedecor.register("stained_glass", { - description = "Stained Glass", + description = S("Stained Glass"), tiles = {"homedecor_stained_glass.png"}, inventory_image = "homedecor_stained_glass.png", groups = {snappy=3}, @@ -219,3 +222,55 @@ homedecor.register("stained_glass", { fixed = { {-0.5, -0.5, 0.46875, 0.5, 0.5, 0.5} } } }) + +-- Convert old curtain nodes to param2-colorization + +local curtaincolors = { + { N_("red"), "ad2323" }, + { N_("green"), "27a927" }, + { N_("blue"), "2626c6" }, + { N_("white"), "ffffff" }, + { N_("pink"), "ff8fb7" }, + { N_("violet"), "7f29d7" }, +} + +homedecor.old_static_curtain_nodes = {} + +for _, i in ipairs(curtaincolors) do + local color,hue = unpack(i) + table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_"..color) + table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_open_"..color) +end + +minetest.register_lbm({ + name = "homedecor:convert_curtains", + label = "Convert static curtain nodes to use param2 color", + run_at_every_load = true, + nodenames = homedecor.old_static_curtain_nodes, + action = function(pos, node) + local name = node.name + local color = string.sub(name, 19) + local openclose = "closed" + + if string.find(color, "open") then + color = string.sub(color, 6) + openclose = "open" + end + + local metadye = "medium_"..color + if color == "pink" then + metadye = "light_red" + end + if color == "white" then + metadye = "white" + end + + local newnode = "homedecor:curtain_"..openclose + local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..metadye, "wallmounted") + local newparam2 = paletteidx + (node.param2 % 8) + + minetest.set_node(pos, { name = newnode, param2 = newparam2 }) + local meta = minetest.get_meta(pos) + meta:set_string("dye", "unifieddyes:"..metadye) + end +}) -- cgit v1.2.3