diff --git a/homedecor/furniture.lua b/homedecor/furniture.lua index a7eec9e1..90ffe009 100644 --- a/homedecor/furniture.lua +++ b/homedecor/furniture.lua @@ -138,34 +138,6 @@ minetest.register_node(":homedecor:openframe_bookshelf", { collision_box = ob_cbox, }) -local wd_cbox = { - type = "fixed", - fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } -} - -homedecor.register("wardrobe_bottom", { - mesh = "homedecor_bedroom_wardrobe.obj", - tiles = { - "homedecor_generic_wood_beech.png", - "homedecor_wardrobe_drawers.png", - "homedecor_wardrobe_doors.png" - }, - inventory_image = "homedecor_wardrobe_inv.png", - description = "Wardrobe", - groups = {snappy=3}, - selection_box = wd_cbox, - collision_box = wd_cbox, - sounds = default.node_sound_wood_defaults(), - expand = { top="air" }, - infotext = S("Wardrobe cabinet"), - inventory = { - size=24, - }, -}) - -minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe") -minetest.register_alias("homedecor:wardrobe_top", "air") - homedecor.register("wall_shelf", { description = "Wall Shelf", tiles = { diff --git a/homedecor/init.lua b/homedecor/init.lua index 091ff5f4..e4f667a1 100644 --- a/homedecor/init.lua +++ b/homedecor/init.lua @@ -147,6 +147,7 @@ dofile(homedecor.modpath.."/beds.lua") dofile(homedecor.modpath.."/books.lua") dofile(homedecor.modpath.."/exterior.lua") dofile(homedecor.modpath.."/trash_cans.lua") +dofile(homedecor.modpath.."/wardrobe.lua") dofile(homedecor.modpath.."/handlers/locked.lua") diff --git a/homedecor/textures/female1.png b/homedecor/textures/female1.png new file mode 100644 index 00000000..7d52b2c2 Binary files /dev/null and b/homedecor/textures/female1.png differ diff --git a/homedecor/textures/female1_preview.png b/homedecor/textures/female1_preview.png new file mode 100644 index 00000000..3d0fa6b5 Binary files /dev/null and b/homedecor/textures/female1_preview.png differ diff --git a/homedecor/textures/female2.png b/homedecor/textures/female2.png new file mode 100644 index 00000000..4244e359 Binary files /dev/null and b/homedecor/textures/female2.png differ diff --git a/homedecor/textures/female2_preview.png b/homedecor/textures/female2_preview.png new file mode 100644 index 00000000..9d3bc2b5 Binary files /dev/null and b/homedecor/textures/female2_preview.png differ diff --git a/homedecor/textures/female3.png b/homedecor/textures/female3.png new file mode 100644 index 00000000..7e09536e Binary files /dev/null and b/homedecor/textures/female3.png differ diff --git a/homedecor/textures/female3_preview.png b/homedecor/textures/female3_preview.png new file mode 100644 index 00000000..4a6ea13b Binary files /dev/null and b/homedecor/textures/female3_preview.png differ diff --git a/homedecor/textures/female4.png b/homedecor/textures/female4.png new file mode 100644 index 00000000..c7eaeb85 Binary files /dev/null and b/homedecor/textures/female4.png differ diff --git a/homedecor/textures/female4_preview.png b/homedecor/textures/female4_preview.png new file mode 100644 index 00000000..ecf1021e Binary files /dev/null and b/homedecor/textures/female4_preview.png differ diff --git a/homedecor/textures/female5.png b/homedecor/textures/female5.png new file mode 100644 index 00000000..770938dd Binary files /dev/null and b/homedecor/textures/female5.png differ diff --git a/homedecor/textures/female5_preview.png b/homedecor/textures/female5_preview.png new file mode 100644 index 00000000..24514796 Binary files /dev/null and b/homedecor/textures/female5_preview.png differ diff --git a/homedecor/textures/male1.png b/homedecor/textures/male1.png new file mode 100644 index 00000000..614c71f9 Binary files /dev/null and b/homedecor/textures/male1.png differ diff --git a/homedecor/textures/male1_preview.png b/homedecor/textures/male1_preview.png new file mode 100644 index 00000000..c00be6b3 Binary files /dev/null and b/homedecor/textures/male1_preview.png differ diff --git a/homedecor/textures/male2.png b/homedecor/textures/male2.png new file mode 100644 index 00000000..f7264b50 Binary files /dev/null and b/homedecor/textures/male2.png differ diff --git a/homedecor/textures/male2_preview.png b/homedecor/textures/male2_preview.png new file mode 100644 index 00000000..b3196c74 Binary files /dev/null and b/homedecor/textures/male2_preview.png differ diff --git a/homedecor/textures/male3.png b/homedecor/textures/male3.png new file mode 100644 index 00000000..92d88f33 Binary files /dev/null and b/homedecor/textures/male3.png differ diff --git a/homedecor/textures/male3_preview.png b/homedecor/textures/male3_preview.png new file mode 100644 index 00000000..2d0e187f Binary files /dev/null and b/homedecor/textures/male3_preview.png differ diff --git a/homedecor/textures/male4.png b/homedecor/textures/male4.png new file mode 100644 index 00000000..53eaaa20 Binary files /dev/null and b/homedecor/textures/male4.png differ diff --git a/homedecor/textures/male4_preview.png b/homedecor/textures/male4_preview.png new file mode 100644 index 00000000..feaf41d2 Binary files /dev/null and b/homedecor/textures/male4_preview.png differ diff --git a/homedecor/textures/male5.png b/homedecor/textures/male5.png new file mode 100644 index 00000000..ac8caa8e Binary files /dev/null and b/homedecor/textures/male5.png differ diff --git a/homedecor/textures/male5_preview.png b/homedecor/textures/male5_preview.png new file mode 100644 index 00000000..4036b1a4 Binary files /dev/null and b/homedecor/textures/male5_preview.png differ diff --git a/homedecor/trash_cans.lua b/homedecor/trash_cans.lua index e9367c35..82b3e5cb 100644 --- a/homedecor/trash_cans.lua +++ b/homedecor/trash_cans.lua @@ -47,19 +47,16 @@ homedecor.register("trash_can_green_open", { return inv:is_empty("main") end, on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - minetest.log("action", S("%s moves stuff in %s at %s"):format( - player:get_player_name(), name, minetest.pos_to_string(pos) - )) + minetest.log("action", player:get_player_name().. + " moves stuff in trash can at "..minetest.pos_to_string(pos)) end, on_metadata_inventory_put = function(pos, listname, index, stack, player) - minetest.log("action", S("%s moves stuff in %s at %s"):format( - player:get_player_name(), name, minetest.pos_to_string(pos) - )) + minetest.log("action", player:get_player_name().. + " moves stuff in trash can at "..minetest.pos_to_string(pos)) end, on_metadata_inventory_take = function(pos, listname, index, stack, player) - minetest.log("action", S("%s takes stuff in %s at %s"):format( - player:get_player_name(), name, minetest.pos_to_string(pos) - )) + minetest.log("action", player:get_player_name().. + " takes stuff from trash can at "..minetest.pos_to_string(pos)) end, on_receive_fields = function(pos, formname, fields, sender) if fields.empty then diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua new file mode 100644 index 00000000..d64be1e3 --- /dev/null +++ b/homedecor/wardrobe.lua @@ -0,0 +1,97 @@ +local S = homedecor.gettext + +local wd_cbox = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 } +} + +homedecor.register("wardrobe", { + mesh = "homedecor_bedroom_wardrobe.obj", + tiles = { + "homedecor_generic_wood_beech.png", + "homedecor_wardrobe_drawers.png", + "homedecor_wardrobe_doors.png" + }, + inventory_image = "homedecor_wardrobe_inv.png", + description = "Wardrobe", + groups = {snappy=3}, + selection_box = wd_cbox, + collision_box = wd_cbox, + sounds = default.node_sound_wood_defaults(), + expand = { top="air" }, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + local skins = {"male1", "male2", "male3", "male4", "male5"} + -- textures made by the Minetest community (mostly Calinou and Jordach) + meta:set_string("formspec", "size[5.5,8.5]"..default.gui_bg..default.gui_bg_img..default.gui_slots.. + "vertlabel[0,0.5;CLOTHES]".. + "image_button_exit[0.5,0;1.1,2;"..skins[1].."_preview.png;"..skins[1]..";]".. + "image_button_exit[1.5,0;1.1,2;"..skins[2].."_preview.png;"..skins[2]..";]".. + "image_button_exit[2.5,0;1.1,2;"..skins[3].."_preview.png;"..skins[3]..";]".. + "image_button_exit[3.5,0;1.1,2;"..skins[4].."_preview.png;"..skins[4]..";]".. + "image_button_exit[4.5,0;1.1,2;"..skins[5].."_preview.png;"..skins[5]..";]".. + "image_button_exit[0.5,2;1.1,2;fe"..skins[1].."_preview.png;fe"..skins[1]..";]".. + "image_button_exit[1.5,2;1.1,2;fe"..skins[2].."_preview.png;fe"..skins[2]..";]".. + "image_button_exit[2.5,2;1.1,2;fe"..skins[3].."_preview.png;fe"..skins[3]..";]".. + "image_button_exit[3.5,2;1.1,2;fe"..skins[4].."_preview.png;fe"..skins[4]..";]".. + "image_button_exit[4.5,2;1.1,2;fe"..skins[5].."_preview.png;fe"..skins[5]..";]".. + "vertlabel[0,5.2;STORAGE]".. + "list[current_name;main;0.5,4.5;5,2;]".. + "list[current_player;main;0.5,6.8;5,2;]") + meta:set_string("infotext", "Wardrobe") + local inv = meta:get_inventory() + inv:set_size("main", 5*2) + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + return inv:is_empty("main") + end, + on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + minetest.log("action", player:get_player_name().. + " moves stuff in wardrobe at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_put = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " moves stuff in wardrobe at "..minetest.pos_to_string(pos)) + end, + on_metadata_inventory_take = function(pos, listname, index, stack, player) + minetest.log("action", player:get_player_name().. + " takes stuff from wardrobe at "..minetest.pos_to_string(pos)) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + local formats = {".x", ".b3d" } + local skins = {"male1", "male2", "male3", "male4", "male5"} + local skin = "" + + if fields[skins[1]] then + skin = skins[1]..".png" + elseif fields[skins[2]] then + skin = skins[2]..".png" + elseif fields[skins[3]] then + skin = skins[3]..".png" + elseif fields[skins[4]] then + skin = skins[4]..".png" + elseif fields[skins[5]] then + skin = skins[5]..".png" + elseif fields["fe"..skins[1]] then + skin = "fe"..skins[1]..".png" + elseif fields["fe"..skins[2]] then + skin = "fe"..skins[2]..".png" + elseif fields["fe"..skins[3]] then + skin = "fe"..skins[3]..".png" + elseif fields["fe"..skins[4]] then + skin = "fe"..skins[4]..".png" + elseif fields["fe"..skins[5]] then + skin = "fe"..skins[5]..".png" + else + return + end + + default.player_set_textures(sender, { skin }) + end +}) + +minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe") +minetest.register_alias("homedecor:wardrobe_top", "air")