local S = homedecor.gettext homedecor.register("filing_cabinet", { description = S("Filing Cabinet"), mesh = "homedecor_filing_cabinet.obj", tiles = { homedecor.plain_wood, "homedecor_filing_cabinet_front.png", "homedecor_filing_cabinet_bottom.png" }, groups = { snappy = 3 }, sounds = default.node_sound_wood_defaults(), infotext=S("Filing cabinet"), inventory = { size=16, lockable=true, }, }) local desk_cbox = { type = "fixed", fixed = { -0.5, -0.5, -0.5, 1.5, 0.5, 0.5 } } homedecor.register("desk", { description = "Desk", mesh = "homedecor_desk.obj", tiles = { homedecor.plain_wood, "homedecor_desk_drawers.png", "homedecor_generic_metal_black.png", }, inventory_image = "homedecor_desk_inv.png", selection_box = desk_cbox, collision_box = desk_cbox, sounds = default.node_sound_wood_defaults(), groups = { snappy = 3 }, expand = { right="placeholder" }, inventory = { size=24, lockable=true, }, }) minetest.register_alias("homedecor:desk_r", "air") local globe_cbox = { type = "fixed", fixed = { -0.4, -0.5, -0.3, 0.3, 0.3, 0.3 } } homedecor.register("desk_globe", { description = "Desk globe", mesh = "homedecor_desk_globe.obj", tiles = { "homedecor_generic_wood_red.png", "homedecor_generic_metal_black.png^[brighten", "homedecor_earth.png" }, inventory_image = "homedecor_desk_globe_inv.png", selection_box = globe_cbox, collision_box = globe_cbox, groups = {choppy=2}, walkable = false, sounds = default.node_sound_wood_defaults(), }) homedecor.register("calendar", { description = "Calendar", mesh = "homedecor_calendar.obj", tiles = {"homedecor_calendar.png"}, inventory_image = "homedecor_calendar_inv.png", wield_image = "homedecor_calendar_inv.png", paramtype2 = "wallmounted", walkable = false, selection_box = { type = "wallmounted", wall_side = { -8/16, -8/16, -4/16, -5/16, 5/16, 4/16 }, wall_bottom = { -4/16, -8/16, -8/16, 4/16, -5/16, 5/16 }, wall_top = { -4/16, 5/16, -8/16, 4/16, 8/16, 5/16 } }, groups = {choppy=2,attached_node=1}, legacy_wallmounted = true, sounds = default.node_sound_defaults(), infotext = "Date (right-click to update):\n" .. os.date("%Y-%m-%d"), -- ISO 8601 format on_rightclick = function(pos, node, clicker) local meta = minetest.get_meta(pos) local date = os.date("%Y-%m-%d") meta:set_string("infotext", "Date (right-click to update):\n"..date) end }) local ofchairs_sbox = { type = "fixed", fixed = { -8/16, -8/16, -8/16, 8/16, 29/32, 8/16 } } local ofchairs_cbox = { type = "fixed", fixed = { { -5/16, 1/16, -7/16, 5/16, 4/16, 7/16 }, -- seat { -5/16, 4/16, 4/16, 5/16, 29/32, 15/32 }, -- seatback { -1/16, -11/32, -1/16, 1/16, 1/16, 1/16 }, -- cylinder { -8/16, -8/16, -8/16, 8/16, -11/32, 8/16 } -- legs/wheels } } for _, c in pairs({"basic", "upscale"}) do homedecor.register("office_chair_"..c, { description = "Office chair ("..c..")", drawtype = "mesh", tiles = { "homedecor_office_chair_"..c..".png" }, mesh = "homedecor_office_chair_"..c..".obj", groups = { snappy = 3 }, sounds = default.node_sound_wood_defaults(), selection_box = ofchairs_sbox, collision_box = ofchairs_cbox, expand = { top = "placeholder" }, on_rotate = screwdriver.rotate_simple }) end