-- Home Decor mod by VanessaE -- 2012-09-30 -- -- Mostly my own code, with bits and pieces lifted from Minetest's default -- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster -- for helping me figure out the inventories used in the nightstands/dressers. -- -- The code for ovens, nightstands, refrigerators are basically modified -- copies of the code for chests and furnaces. -- -- License: LGPL -- local DEBUG = 0 -- Boilerplate to support localized strings if intllib mod is installed. local S if (minetest.get_modpath("intllib")) then dofile(minetest.get_modpath("intllib").."/intllib.lua") S = intllib.Getter(minetest.get_current_modname()) else S = function ( s ) return s end end -- Various Functions local dbg = function(s) if DEBUG == 1 then print('[HomeDecor] ' .. s) end end function homedecor_node_is_owned(pos, placer) local ownername = false if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod if HasOwner(pos, placer) then -- returns true if the node is owned if not IsPlayerNodeOwner(pos, placer:get_player_name()) then if type(getLastOwner) == "function" then -- ...is an old version ownername = getLastOwner(pos) elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version ownername = GetNodeOwnerName(pos) else ownername = S("someone") end end end elseif type(isprotect)=="function" then -- glomie's protection mod if not isprotect(5, pos, placer) then ownername = S("someone") end end if ownername ~= false then minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) return true else return false end end -- Nodes minetest.register_node('homedecor:shingles_wood', { description = S("Wood Shingles"), drawtype = 'raillike', tiles = { 'homedecor_shingles_wood.png' }, wield_image = 'homedecor_shingles_wood.png', inventory_image = 'homedecor_shingles_wood.png', paramtype = 'light', sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:skylight', { description = S("Glass Skylight"), drawtype = 'raillike', tiles = { 'default_glass.png' }, wield_image = 'default_glass.png', inventory_image = 'default_glass.png', paramtype = 'light', sunlight_propagates = true, walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:shingles_asphalt', { description = S("Asphalt Shingles"), drawtype = 'raillike', tiles = { 'homedecor_shingles_asphalt.png' }, wield_image = 'homedecor_shingles_asphalt.png', inventory_image = 'homedecor_shingles_asphalt.png', paramtype = 'light', sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:shingles_terracotta', { description = S("Terracotta Roofing"), drawtype = 'raillike', tiles = { 'homedecor_shingles_terracotta.png' }, wield_image = 'homedecor_shingles_terracotta.png', inventory_image = 'homedecor_shingles_terracotta.png', paramtype = 'light', sunlight_propagates = false, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), drop = 'homedecor:roof_tile_terracotta 4', }) minetest.register_node('homedecor:projection_screen', { description = S("Projection Screen Material"), drawtype = 'signlike', tiles = { 'homedecor_projection_screen.png' }, wield_image = 'homedecor_projection_screen_inv.png', inventory_image = 'homedecor_projection_screen_inv.png', sunlight_propagates = false, paramtype = 'light', walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:ceiling_paint', { description = S("Textured Ceiling Paint"), drawtype = 'signlike', tiles = { 'homedecor_ceiling_paint.png' }, inventory_image = 'homedecor_ceiling_paint_roller.png', wield_image = 'homedecor_ceiling_paint_roller.png', sunlight_propagates = true, paramtype = 'light', walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:ceiling_tile', { description = S("Drop-Ceiling Tile"), drawtype = 'signlike', tiles = { 'homedecor_ceiling_tile.png' }, wield_image = 'homedecor_ceiling_tile.png', inventory_image = 'homedecor_ceiling_tile.png', sunlight_propagates = true, paramtype = 'light', walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:rug_small', { description = S("Small Throw Rug"), drawtype = 'signlike', tiles = { 'homedecor_rug_small.png' }, wield_image = 'homedecor_rug_small.png', inventory_image = 'homedecor_rug_small.png', sunlight_propagates = true, paramtype = 'light', paramtype2 = "wallmounted", is_ground_content = true, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:rug_large', { description = S("Large Area Rug"), drawtype = 'signlike', tiles = { 'homedecor_rug_large.png' }, wield_image = 'homedecor_rug_large.png', inventory_image = 'homedecor_rug_large.png', sunlight_propagates = true, paramtype = 'light', paramtype2 = "wallmounted", is_ground_content = true, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:glass_table_large', { description = S("Large Glass Table Piece"), drawtype = 'signlike', tiles = { 'homedecor_glass_table_large.png' }, wield_image = 'homedecor_glass_table_large.png', inventory_image = 'homedecor_glass_table_large.png', sunlight_propagates = true, paramtype = 'light', walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = "wallmounted", is_ground_content = true, selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:glass_table_small_round', { description = S("Glass Table (Small, Round)"), drawtype = 'signlike', tiles = { 'homedecor_glass_table_small_round.png' }, wield_image = 'homedecor_glass_table_small_round.png', inventory_image = 'homedecor_glass_table_small_round.png', sunlight_propagates = true, paramtype = 'light', paramtype2 = "wallmounted", is_ground_content = true, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:glass_table_small_square', { description = S("Glass Table (Small, Square)"), drawtype = 'signlike', tiles = { 'homedecor_glass_table_small_square.png' }, wield_image = 'homedecor_glass_table_small_square.png', inventory_image = 'homedecor_glass_table_small_square.png', sunlight_propagates = true, paramtype = 'light', paramtype2 = "wallmounted", is_ground_content = true, walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node("homedecor:table_legs_brass", { description = S("Brass Table Legs"), drawtype = "plantlike", tiles = {"homedecor_table_legs_brass.png"}, inventory_image = "homedecor_table_legs_brass.png", wield_image = "homedecor_table_legs_brass.png", visual_scale = 1.04, paramtype = "light", walkable = false, groups = {snappy=3}, sounds = default.node_sound_leaves_defaults(), walkable = true, }) minetest.register_node("homedecor:table_legs_wrought_iron", { description = S("Brass Table Legs"), drawtype = "plantlike", tiles = {"homedecor_table_legs_wrought_iron.png"}, inventory_image = "homedecor_table_legs_wrought_iron.png", wield_image = "homedecor_table_legs_wrought_iron.png", visual_scale = 1.04, paramtype = "light", walkable = false, groups = {snappy=3}, sounds = default.node_sound_leaves_defaults(), walkable = true, }) minetest.register_node('homedecor:stereo', { description = S("Stereo Receiver"), tiles = { 'homedecor_stereo_top.png', 'homedecor_stereo_bottom.png', 'homedecor_stereo_right.png', 'homedecor_stereo_left.png', 'homedecor_stereo_back.png', 'homedecor_stereo_front.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:utility_table_top', { description = S("Utility Table"), tiles = { 'homedecor_utility_table_top.png' }, inventory_image = 'homedecor_utility_table_top.png', wield_image = 'homedecor_utility_table_top.png', drawtype = "signlike", sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = "wallmounted", is_ground_content = true, selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:utility_table_legs', { description = S("Legs for Utility Table"), tiles = { 'homedecor_utility_table_legs.png' }, inventory_image = 'homedecor_utility_table_legs_inv.png', wield_image = 'homedecor_utility_table_legs.png', visual_scale = 1.04, sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), drawtype = "plantlike", }) minetest.register_node('homedecor:flower_pot_terracotta', { description = S("Terracotta Flower Pot"), tiles = { 'homedecor_flower_pot_terracotta_top.png', 'homedecor_flower_pot_terracotta_bottom.png', 'homedecor_flower_pot_terracotta_sides.png', 'homedecor_flower_pot_terracotta_sides.png', 'homedecor_flower_pot_terracotta_sides.png', 'homedecor_flower_pot_terracotta_sides.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:flower_pot_black', { description = S("Black Plastic Flower Pot"), tiles = { 'homedecor_flower_pot_black_top.png', 'homedecor_flower_pot_black_bottom.png', 'homedecor_flower_pot_black_sides.png', 'homedecor_flower_pot_black_sides.png', 'homedecor_flower_pot_black_sides.png', 'homedecor_flower_pot_black_sides.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:flower_pot_green', { description = S("Green Plastic Flower Pot"), tiles = { 'homedecor_flower_pot_green_top.png', 'homedecor_flower_pot_green_bottom.png', 'homedecor_flower_pot_green_sides.png', 'homedecor_flower_pot_green_sides.png', 'homedecor_flower_pot_green_sides.png', 'homedecor_flower_pot_green_sides.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:wood_table_large', { description = S("Wooden Tabletop piece"), tiles = { 'homedecor_wood_table_large.png' }, inventory_image = 'homedecor_wood_table_large.png', wield_image = 'homedecor_wood_table_large.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = "wallmounted", is_ground_content = true, selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:wood_table_small_round', { description = S("Wooden Tabletop (Small, Round)"), tiles = { 'homedecor_wood_table_small_round.png' }, inventory_image = 'homedecor_wood_table_small_round.png', wield_image = 'homedecor_wood_table_small_round.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = "wallmounted", is_ground_content = true, selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:wood_table_small_square', { description = S("Wooden Tabletop (Small, Square)"), tiles = { 'homedecor_wood_table_small_square.png' }, inventory_image = 'homedecor_wood_table_small_square.png', wield_image = 'homedecor_wood_table_small_square.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = "wallmounted", is_ground_content = true, selection_box = { type = "wallmounted", --wall_top = --wall_bottom = --wall_side = }, }) minetest.register_node('homedecor:shutter_black', { description = S("Wooden Shutter (Black)"), tiles = { 'homedecor_window_shutter_black.png' }, inventory_image = 'homedecor_window_shutter_black.png', wield_image = 'homedecor_window_shutter_black.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_mahogany', { description = S("Wooden Shutter (Unpainted Mahogany)"), tiles = { 'homedecor_window_shutter_mahogany.png' }, inventory_image = 'homedecor_window_shutter_mahogany.png', wield_image = 'homedecor_window_shutter_mahogany.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_oak', { description = S("Wooden Shutter (Unpainted Oak)"), tiles = { 'homedecor_window_shutter_oak.png' }, inventory_image = 'homedecor_window_shutter_oak.png', wield_image = 'homedecor_window_shutter_oak.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_dark_grey', { description = S("Wooden Shutter (Dark Grey)"), tiles = { 'homedecor_window_shutter_dark_grey.png' }, inventory_image = 'homedecor_window_shutter_dark_grey.png', wield_image = 'homedecor_window_shutter_dark_grey.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_forest_green', { description = S("Wooden Shutter (Forest Green)"), tiles = { 'homedecor_window_shutter_forest_green.png' }, inventory_image = 'homedecor_window_shutter_forest_green.png', wield_image = 'homedecor_window_shutter_forest_green.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_grey', { description = S("Wooden Shutter (Grey)"), tiles = { 'homedecor_window_shutter_grey.png' }, inventory_image = 'homedecor_window_shutter_grey.png', wield_image = 'homedecor_window_shutter_grey.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_light_blue', { description = S("Wooden Shutter (Light Blue)"), tiles = { 'homedecor_window_shutter_light_blue.png' }, inventory_image = 'homedecor_window_shutter_light_blue.png', wield_image = 'homedecor_window_shutter_light_blue.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_purple', { description = S("Wooden Shutter (Purple)"), tiles = { 'homedecor_window_shutter_purple.png' }, inventory_image = 'homedecor_window_shutter_purple.png', wield_image = 'homedecor_window_shutter_purple.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_red', { description = S("Wooden Shutter (Red)"), tiles = { 'homedecor_window_shutter_red.png' }, inventory_image = 'homedecor_window_shutter_red.png', wield_image = 'homedecor_window_shutter_red.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_white', { description = S("Wooden Shutter (White)"), tiles = { 'homedecor_window_shutter_white.png' }, inventory_image = 'homedecor_window_shutter_white.png', wield_image = 'homedecor_window_shutter_white.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:shutter_yellow', { description = S("Wooden Shutter (Yellow)"), tiles = { 'homedecor_window_shutter_yellow.png' }, inventory_image = 'homedecor_window_shutter_yellow.png', wield_image = 'homedecor_window_shutter_yellow.png', drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) minetest.register_node('homedecor:utilitytable2', { description = S("Utility table mk2"), tiles = { 'homedecor_utility_table_top.png', 'homedecor_blanktile.png', 'homedecor_utility_table_legs.png', 'homedecor_utility_table_legs.png', 'homedecor_utility_table_legs.png', 'homedecor_utility_table_legs.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) -- cylinder-shaped objects courtesy Jeija local cylbox = {} local detail = 50 local sehne local size = 0.2 for i = 1, detail-1 do sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2)) cylbox[i]={((i/detail)-0.5)*size, -0.5, -sehne*size, ((i/detail)+(1/detail)-0.5)*size, 0.5, sehne*size} end minetest.register_node("homedecor:pole_brass", { description = S("Brass Pole"), drawtype = "nodebox", tiles = {"homedecor_tile_brass2.png"}, inventory_image = "homedecor_pole_brass2.png", wield_image = "homedecor_pole_brass2.png", paramtype = "light", is_ground_content = true, selection_box = { type = "fixed", fixed = {-size/2, -0.5, -size/2, size/2, 0.5, size/2}, }, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, node_box = { type = "fixed", fixed = cylbox, } }) minetest.register_node("homedecor:pole_wrought_iron", { description = S("Wrought Iron Pole"), drawtype = "nodebox", tiles = {"homedecor_tile_wrought_iron2.png"}, inventory_image = "homedecor_pole_wrought_iron.png", wield_image = "homedecor_pole_wrought_iron.png", paramtype = "light", is_ground_content = true, selection_box = { type = "fixed", fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} }, node_box = { type = "fixed", fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625} }, groups = {snappy=3}, sounds = default.node_sound_wood_defaults(), walkable = true, }) minetest.register_node('homedecor:speaker', { description = S("Large Stereo Speaker"), tiles = { 'homedecor_speaker_top.png', 'homedecor_speaker_bottom.png', 'homedecor_speaker_right.png', 'homedecor_speaker_left.png', 'homedecor_speaker_back.png', 'homedecor_speaker_front.png'}, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) minetest.register_node('homedecor:speaker_small', { description = S("Small Surround Speaker"), drawtype = "nodebox", tiles = { 'homedecor_speaker_top.png', 'homedecor_speaker_bottom.png', 'homedecor_speaker_right.png', 'homedecor_speaker_left.png', 'homedecor_speaker_back.png', 'homedecor_speaker_front.png' }, selection_box = { type = "fixed", fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } }, node_box = { type = "fixed", fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 } }, sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = true, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), }) -- local curtaincolors = { "red", "green", "blue", "white", "pink", "violet" } for c in ipairs(curtaincolors) do local color = S(curtaincolors[c]) minetest.register_node("homedecor:curtain_"..color, { description = S("Curtains (%s)"):format(color), tiles = { "homedecor_curtain_"..color..".png" }, inventory_image = "homedecor_curtain_"..color..".png", wield_image = "homedecor_curtain_"..color..".png", drawtype = 'signlike', sunlight_propagates = false, paramtype = "light", paramtype2 = "facedir", walkable = false, groups = { snappy = 3 }, sounds = default.node_sound_leaves_defaults(), paramtype2 = 'wallmounted', selection_box = { type = "wallmounted", --wall_side = = }, }) end dofile(minetest.get_modpath("homedecor").."/door_models.lua") dofile(minetest.get_modpath("homedecor").."/door_nodes.lua") dofile(minetest.get_modpath("homedecor").."/signs_lib.lua") dofile(minetest.get_modpath("homedecor").."/fences.lua") dofile(minetest.get_modpath("homedecor").."/lighting.lua") dofile(minetest.get_modpath("homedecor").."/kitchen_cabinet.lua") dofile(minetest.get_modpath("homedecor").."/refrigerator.lua") dofile(minetest.get_modpath("homedecor").."/oven.lua") dofile(minetest.get_modpath("homedecor").."/nightstands.lua") dofile(minetest.get_modpath("homedecor").."/television.lua") dofile(minetest.get_modpath("homedecor").."/crafts.lua") dofile(minetest.get_modpath("homedecor").."/locked.lua") print("[HomeDecor] "..S("Loaded!"))